## GstFdAllocator

GstFdAllocator — Memory wrapper for fd backed memory

## Functions

GstMemory * | gst_fd_allocator_alloc ()
GstAllocator * | gst_fd_allocator_new ()
gint | gst_fd_memory_get_fd ()
gboolean | gst_is_fd_memory ()

## Types and Values

enum | GstFdMemoryFlags

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstAllocator
                    ╰── GstFdAllocator
                        ╰── GstDmaBufAllocator

## Includes

    #include <gst/allocators/allocators.h>

## Description

## Functions

### gst_fd_allocator_alloc ()

    GstMemory *
    gst_fd_allocator_alloc (GstAllocator *allocator,
                            gint fd,
                            gsize size,
                            GstFdMemoryFlags flags);

Return a `GstMemory` that wraps a generic file descriptor.

#### Parameters

allocator | allocator to be used for this memory |
fd | file descriptor |
size | memory size |
flags | extra GstFdMemoryFlags |

#### Returns

a GstMemory based on `allocator` . When the buffer will be released the allocator will close the `fd` unless the `GST_FD_MEMORY_FLAG_DONT_CLOSE` flag is specified. The memory is only mmapped on `gst_buffer_map()` request.

[transfer full]

Since: 1.6

### gst_fd_allocator_new ()

    GstAllocator *
    gst_fd_allocator_new (void);

Return a new fd allocator.

#### Returns

a new fd allocator, or NULL if the allocator isn't available. Use `gst_object_unref()` to release the allocator after usage.

[transfer full]

Since: 1.6

### gst_fd_memory_get_fd ()

    gint
    gst_fd_memory_get_fd (GstMemory *mem);

Get the fd from `mem` . Call `gst_is_fd_memory()` to check if `mem` has an fd.

#### Parameters

mem | GstMemory |

#### Returns

the fd of `mem` or -1 when there is no fd on `mem`

Since: 1.6

### gst_is_fd_memory ()

    gboolean
    gst_is_fd_memory (GstMemory *mem);

Check if `mem` is memory backed by an fd

#### Parameters

mem | GstMemory |

#### Returns

`TRUE` when `mem` has an fd that can be retrieved with `gst_fd_memory_get_fd()`.

Since: 1.6

## Types and Values

### enum GstFdMemoryFlags

Various flags to control the operation of the fd backed memory.

#### Members

GST_FD_MEMORY_FLAG_NONE | no flag |
GST_FD_MEMORY_FLAG_KEEP_MAPPED | once the memory is mapped, keep it mapped until the memory is destroyed. |
GST_FD_MEMORY_FLAG_MAP_PRIVATE | do a private mapping instead of the default shared mapping. |
GST_FD_MEMORY_FLAG_DONT_CLOSE | don't close the file descriptor when the memory is freed. Since: 1.10 |

Since: 1.6

## See Also

GstMemory