# GstFdAllocator

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

Base class for allocators with fd-backed memory

### Members

`parent` (GstAllocator) –
No description available

Since : 1.6

### Class structure

#### GstFdAllocatorClass

##### Fields

`parent_class` (GstAllocatorClass) –
No description available

### GstAllocators.FdAllocatorClass

##### Attributes

`parent_class` (Gst.AllocatorClass) –
No description available

### GstAllocators.FdAllocatorClass

##### Attributes

`parent_class` (Gst.AllocatorClass) –
No description available

## GstAllocators.FdAllocator

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Allocator
                    ╰──GstAllocators.FdAllocator
                        ╰──GstAllocators.DmaBufAllocator
                        ╰──GstAllocators.ShmAllocator

Base class for allocators with fd-backed memory

### Members

`parent` (Gst.Allocator) –
No description available

Since : 1.6

## GstAllocators.FdAllocator

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Allocator
                    ╰──GstAllocators.FdAllocator
                        ╰──GstAllocators.DmaBufAllocator
                        ╰──GstAllocators.ShmAllocator

Base class for allocators with fd-backed memory

### Members

`parent` (Gst.Allocator) –
No description available

Since : 1.6

### Constructors

#### gst_fd_allocator_new

    GstAllocator *
    gst_fd_allocator_new ()

Return a new fd allocator.

Returns ( [transfer: full]) –

a new fd allocator. Use gst_object_unref to release the allocator after usage

Since : 1.6

#### GstAllocators.FdAllocator.prototype.new

    function GstAllocators.FdAllocator.prototype.new(): {
        // javascript wrapper for 'gst_fd_allocator_new'
    }

Return a new fd allocator.

Returns (Gst.Allocator) –

a new fd allocator. Use Gst.Object.prototype.unref to release the allocator after usage

Since : 1.6

#### GstAllocators.FdAllocator.new

    def GstAllocators.FdAllocator.new ():
        #python wrapper for 'gst_fd_allocator_new'

Return a new fd allocator.

Returns (Gst.Allocator) –

a new fd allocator. Use Gst.Object.unref to release the allocator after usage

Since : 1.6

### 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 ( [transfer: full][nullable]) –

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.

Since : 1.6

#### GstAllocators.FdAllocator.prototype.alloc

    function GstAllocators.FdAllocator.prototype.alloc(allocator: Gst.Allocator, fd: Number, size: Number, flags: GstAllocators.FdMemoryFlags): {
        // javascript wrapper for 'gst_fd_allocator_alloc'
    }

Return a Gst.Memory that wraps a generic file descriptor.

Parameters:

`allocator` (Gst.Allocator) –

allocator to be used for this memory

`fd` (Number) –

file descriptor

`size` (Number) –

memory size

`flags` (GstAllocators.FdMemoryFlags) –

extra GstAllocators.FdMemoryFlags

Returns (Gst.Memory) –

a GstMemory based on allocator. When the buffer will be released the allocator will close the fd unless the GstAllocators.FdMemoryFlags.DONT_CLOSE flag is specified. The memory is only mmapped on Gst.Buffer.prototype.map request.

Since : 1.6

#### GstAllocators.FdAllocator.alloc

    def GstAllocators.FdAllocator.alloc (allocator, fd, size, flags):
        #python wrapper for 'gst_fd_allocator_alloc'

Return a Gst.Memory that wraps a generic file descriptor.

Parameters:

`allocator` (Gst.Allocator) –

allocator to be used for this memory

`fd` (int) –

file descriptor

`size` (int) –

memory size

`flags` (GstAllocators.FdMemoryFlags) –

extra GstAllocators.FdMemoryFlags

Returns (Gst.Memory) –

a GstMemory based on allocator. When the buffer will be released the allocator will close the fd unless the GstAllocators.FdMemoryFlags.DONT_CLOSE flag is specified. The memory is only mmapped on Gst.Buffer.map request.

Since : 1.6

#### gst_fd_allocator_alloc_full

    GstMemory *
    gst_fd_allocator_alloc_full (GstAllocator * allocator,
                                 gint fd,
                                 gsize maxsize,
                                 gsize offset,
                                 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

`maxsize` –

the total size of the memory represented by fd

`offset` –

the offset of valid data in the memory

`size` –

the size of valid data in the memory

`flags` –

extra GstFdMemoryFlags

Returns ( [transfer: full][nullable]) –

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.

Since : 1.28

#### GstAllocators.FdAllocator.prototype.alloc_full

    function GstAllocators.FdAllocator.prototype.alloc_full(allocator: Gst.Allocator, fd: Number, maxsize: Number, offset: Number, size: Number, flags: GstAllocators.FdMemoryFlags): {
        // javascript wrapper for 'gst_fd_allocator_alloc_full'
    }

Return a Gst.Memory that wraps a generic file descriptor.

Parameters:

`allocator` (Gst.Allocator) –

allocator to be used for this memory

`fd` (Number) –

file descriptor

`maxsize` (Number) –

the total size of the memory represented by fd

`offset` (Number) –

the offset of valid data in the memory

`size` (Number) –

the size of valid data in the memory

`flags` (GstAllocators.FdMemoryFlags) –

extra GstAllocators.FdMemoryFlags

Returns (Gst.Memory) –

a GstMemory based on allocator. When the buffer will be released the allocator will close the fd unless the GstAllocators.FdMemoryFlags.DONT_CLOSE flag is specified. The memory is only mmapped on Gst.Buffer.prototype.map request.

Since : 1.28

#### GstAllocators.FdAllocator.alloc_full

    def GstAllocators.FdAllocator.alloc_full (allocator, fd, maxsize, offset, size, flags):
        #python wrapper for 'gst_fd_allocator_alloc_full'

Return a Gst.Memory that wraps a generic file descriptor.

Parameters:

`allocator` (Gst.Allocator) –

allocator to be used for this memory

`fd` (int) –

file descriptor

`maxsize` (int) –

the total size of the memory represented by fd

`offset` (int) –

the offset of valid data in the memory

`size` (int) –

the size of valid data in the memory

`flags` (GstAllocators.FdMemoryFlags) –

extra GstAllocators.FdMemoryFlags

Returns (Gst.Memory) –

a GstMemory based on allocator. When the buffer will be released the allocator will close the fd unless the GstAllocators.FdMemoryFlags.DONT_CLOSE flag is specified. The memory is only mmapped on Gst.Buffer.map request.

Since : 1.28

## Functions

### 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

### GstAllocators.prototype.fd_memory_get_fd

    function GstAllocators.prototype.fd_memory_get_fd(mem: Gst.Memory): {
        // javascript wrapper for 'gst_fd_memory_get_fd'
    }

Get the fd from mem. Call GstAllocators.prototype.is_fd_memory to check if mem has an fd.

Parameters:

`mem` (Gst.Memory) –

Gst.Memory

Returns (Number) –

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

Since : 1.6

### GstAllocators.fd_memory_get_fd

    def GstAllocators.fd_memory_get_fd (mem):
        #python wrapper for 'gst_fd_memory_get_fd'

Get the fd from mem. Call GstAllocators.is_fd_memory to check if mem has an fd.

Parameters:

`mem` (Gst.Memory) –

Gst.Memory

Returns (int) –

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

### GstAllocators.prototype.is_fd_memory

    function GstAllocators.prototype.is_fd_memory(mem: Gst.Memory): {
        // javascript wrapper for 'gst_is_fd_memory'
    }

Check if mem is memory backed by an fd

Parameters:

`mem` (Gst.Memory) –

Gst.Memory

Returns (Number) –

true when mem has an fd that can be retrieved with GstAllocators.prototype.fd_memory_get_fd.

Since : 1.6

### GstAllocators.is_fd_memory

    def GstAllocators.is_fd_memory (mem):
        #python wrapper for 'gst_is_fd_memory'

Check if mem is memory backed by an fd

Parameters:

`mem` (Gst.Memory) –

Gst.Memory

Returns (bool) –

True when mem has an fd that can be retrieved with GstAllocators.fd_memory_get_fd.

Since : 1.6

## Function Macros

### GST_FD_ALLOCATOR_CAST

    #define GST_FD_ALLOCATOR_CAST(obj)         ((GstFdAllocator *)(obj))

## Enumerations

### GstFdMemoryFlags

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

##### Members

`GST_FD_MEMORY_FLAG_NONE` (0) –

no flag

`GST_FD_MEMORY_FLAG_KEEP_MAPPED` (1) –

once the memory is mapped, keep it mapped until the memory is destroyed.

`GST_FD_MEMORY_FLAG_MAP_PRIVATE` (2) –

do a private mapping instead of the default shared mapping.

`GST_FD_MEMORY_FLAG_DONT_CLOSE` (4) –

don't close the file descriptor when the memory is freed. Since: 1.10

Since : 1.6

### GstAllocators.FdMemoryFlags

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

##### Members

`GstAllocators.FdMemoryFlags.NONE` (0) –

no flag

`GstAllocators.FdMemoryFlags.KEEP_MAPPED` (1) –

once the memory is mapped, keep it mapped until the memory is destroyed.

`GstAllocators.FdMemoryFlags.MAP_PRIVATE` (2) –

do a private mapping instead of the default shared mapping.

`GstAllocators.FdMemoryFlags.DONT_CLOSE` (4) –

don't close the file descriptor when the memory is freed. Since: 1.10

Since : 1.6

### GstAllocators.FdMemoryFlags

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

##### Members

`GstAllocators.FdMemoryFlags.NONE` (0) –

no flag

`GstAllocators.FdMemoryFlags.KEEP_MAPPED` (1) –

once the memory is mapped, keep it mapped until the memory is destroyed.

`GstAllocators.FdMemoryFlags.MAP_PRIVATE` (2) –

do a private mapping instead of the default shared mapping.

`GstAllocators.FdMemoryFlags.DONT_CLOSE` (4) –

don't close the file descriptor when the memory is freed. Since: 1.10

Since : 1.6

## Constants

### GST_ALLOCATOR_FD

    #define GST_ALLOCATOR_FD "fd"

### GstAllocators.ALLOCATOR_FD

The results of the search are