GstFdAllocator

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

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


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


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


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


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


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


Constants

GST_ALLOCATOR_FD

#define GST_ALLOCATOR_FD "fd"

The results of the search are