mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
ceb686a32b
Sponsored-by: Netflix Inc. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328>
615 lines
40 KiB
Text
615 lines
40 KiB
Text
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
|
To affect the contents of this file, edit the original C definitions,
|
|
and/or use gtk-doc annotations. -->
|
|
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
|
|
<include name="Gst" version="1.0"/>
|
|
<package name="gstreamer-allocators-1.0"/>
|
|
<c:include name="gst/allocators/allocators.h"/>
|
|
<namespace name="GstAllocators" version="1.0" shared-library="libgstallocators-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
|
|
<constant name="ALLOCATOR_DMABUF" value="dmabuf" c:type="GST_ALLOCATOR_DMABUF">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ALLOCATOR_FD" value="fd" c:type="GST_ALLOCATOR_FD">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ALLOCATOR_SHM" value="shm" c:type="GST_ALLOCATOR_SHM" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h">Name of this allocator, to be used for example with gst_allocator_find() and
|
|
gst_memory_is_type().</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h"/>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_MEMORY_DMABUF" value="memory:DMABuf" c:type="GST_CAPS_FEATURE_MEMORY_DMABUF" version="1.12">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h">Constant that defines the caps feature name for DMA buffer sharing.
|
|
|
|
It has to be used for non-mappable dma-buf only, i.e. when the underlying
|
|
memory is not mappable to user space. Or when the mapped memory contains
|
|
non meaningful data. It can be the case for protected content or when the
|
|
user wants explicitly avoid any software post processing.
|
|
|
|
In these cases all elements between the exported and the importer has to work
|
|
in passthrough mode. This is done by adding this caps feature.
|
|
|
|
When the memory is mappable for read and write requests then it is assumes
|
|
to be a fast path and so this caps feature should not be used. Though
|
|
according to the dma-buf protocol, while it is mapped it prevents the
|
|
exporter to migrate the buffer.
|
|
|
|
This caps feature should not serve at all the purpose of selecting the
|
|
@GST_ALLOCATOR_DMABUF allocator during caps negotiation.
|
|
When the exporter is the upstream element from the importer point of view,
|
|
the exporter should try to map the dma buffer at runtime (preferably during
|
|
decide_allocation phase). When it succeeds for #GST_MAP_READWRITE this caps
|
|
feature should not be used. This allows scalers, color converts and any image
|
|
processing filters to work directly on the dma buffer.
|
|
In this case the importer element should check all incoming memory using
|
|
gst_is_dmabuf_memory().</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="DMABUF_ALLOCATOR" c:identifier="GST_DMABUF_ALLOCATOR" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DMABUF_ALLOCATOR_CAST" c:identifier="GST_DMABUF_ALLOCATOR_CAST" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DMABUF_ALLOCATOR_CLASS" c:identifier="GST_DMABUF_ALLOCATOR_CLASS" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DMABUF_ALLOCATOR_GET_CLASS" c:identifier="GST_DMABUF_ALLOCATOR_GET_CLASS" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="DRMDumbAllocator" c:symbol-prefix="drm_dumb_allocator" c:type="GstDRMDumbAllocator" version="1.24" parent="Gst.Allocator" glib:type-name="GstDRMDumbAllocator" glib:get-type="gst_drm_dumb_allocator_get_type" glib:type-struct="DRMDumbAllocatorClass">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h">Private intance object for #GstDRMDumbAllocator.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<constructor name="new_with_device_path" c:identifier="gst_drm_dumb_allocator_new_with_device_path" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">Creates a new #GstDRMDumbAllocator for the specific device path. This
|
|
function can fail if the path does not exist, is not a DRM device or if
|
|
the DRM device doesnot support DUMB allocation.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">a new DRM Dumb allocator. Use gst_object_unref()
|
|
to release the allocator after usage.</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="drm_device_path" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">path to the DRM device to open</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_with_fd" c:identifier="gst_drm_dumb_allocator_new_with_fd" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">Creates a new #GstDRMDumbAllocator for the specific file desciptor. This
|
|
function can fail if the file descriptor is not a DRM device or if
|
|
the DRM device does not support DUMB allocation.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">a new DRM Dumb allocator. Use gst_object_unref()
|
|
to release the allocator after usage.</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="drm_fd" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">file descriptor of the DRM device</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="alloc" c:identifier="gst_drm_dumb_allocator_alloc" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">Allocated a DRM buffer object for the specific @drm_fourcc, @width and
|
|
@height. Note that the DRM Dumb allocation interface is agnostic to the
|
|
pixel format. This @drm_fourcc is converted into a bpp (bit-per-pixel)
|
|
number and the height is scaled according to the sub-sampling.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">a new DRM Dumb #GstMemory. Use gst_memory_unref()
|
|
to release the memory after usage.</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the allocator instance</doc>
|
|
<type name="DRMDumbAllocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
<parameter name="drm_fourcc" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the DRM format to allocate for</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">padded width for this allocation</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">padded height for this allocation</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
<parameter name="out_pitch" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the pitch as returned by the driver</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_prime_export" c:identifier="gst_drm_dumb_allocator_has_prime_export" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">This function allow verifying if the driver support dma-buf exportation.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">%TRUE if the allocator support exporting dma-buf.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the #GstAllocator</doc>
|
|
<type name="DRMDumbAllocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="drm-device-path" version="1.24" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="filename" c:type="gchar*"/>
|
|
</property>
|
|
<property name="drm-fd" version="1.24" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
</class>
|
|
<record name="DRMDumbAllocatorClass" c:type="GstDRMDumbAllocatorClass" glib:is-gtype-struct-for="DRMDumbAllocator">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<field name="parent_class" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h">Parent Class.</doc>
|
|
<type name="Gst.AllocatorClass" c:type="GstAllocatorClass"/>
|
|
</field>
|
|
</record>
|
|
<class name="DmaBufAllocator" c:symbol-prefix="dmabuf_allocator" c:type="GstDmaBufAllocator" version="1.12" parent="FdAllocator" glib:type-name="GstDmaBufAllocator" glib:get-type="gst_dmabuf_allocator_get_type" glib:type-struct="DmaBufAllocatorClass">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h">Base class for allocators with dmabuf-backed memory</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<constructor name="new" c:identifier="gst_dmabuf_allocator_new" version="1.2">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">Return a new dmabuf allocator.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">a new dmabuf allocator. Use gst_object_unref() to
|
|
release the allocator after usage</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<function name="alloc" c:identifier="gst_dmabuf_allocator_alloc" version="1.2">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">Return a %GstMemory that wraps a dmabuf file descriptor.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">a GstMemory based on @allocator.
|
|
When the buffer will be released dmabuf allocator will close the @fd.
|
|
The memory is only mmapped on gst_buffer_map() request.</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">allocator to be used for this memory</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">dmabuf file descriptor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">memory size</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="alloc_with_flags" c:identifier="gst_dmabuf_allocator_alloc_with_flags" version="1.16">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">Return a %GstMemory that wraps a dmabuf file descriptor.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">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_mmap() request.</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">allocator to be used for this memory</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">dmabuf file descriptor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">memory size</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">extra #GstFdMemoryFlags</doc>
|
|
<type name="FdMemoryFlags" c:type="GstFdMemoryFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<field name="parent">
|
|
<type name="FdAllocator" c:type="GstFdAllocator"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="DmaBufAllocatorClass" c:type="GstDmaBufAllocatorClass" glib:is-gtype-struct-for="DmaBufAllocator">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<field name="parent_class">
|
|
<type name="FdAllocatorClass" c:type="GstFdAllocatorClass"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<function-macro name="FD_ALLOCATOR" c:identifier="GST_FD_ALLOCATOR" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FD_ALLOCATOR_CAST" c:identifier="GST_FD_ALLOCATOR_CAST" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FD_ALLOCATOR_CLASS" c:identifier="GST_FD_ALLOCATOR_CLASS" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FD_ALLOCATOR_GET_CLASS" c:identifier="GST_FD_ALLOCATOR_GET_CLASS" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="FdAllocator" c:symbol-prefix="fd_allocator" c:type="GstFdAllocator" version="1.6" parent="Gst.Allocator" glib:type-name="GstFdAllocator" glib:get-type="gst_fd_allocator_get_type" glib:type-struct="FdAllocatorClass">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h">Base class for allocators with fd-backed memory</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<constructor name="new" c:identifier="gst_fd_allocator_new" version="1.6">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">Return a new fd allocator.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">a new fd allocator. Use gst_object_unref() to
|
|
release the allocator after usage</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<function name="alloc" c:identifier="gst_fd_allocator_alloc" version="1.6">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">Return a %GstMemory that wraps a generic file descriptor.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">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.</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">allocator to be used for this memory</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">file descriptor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">memory size</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">extra #GstFdMemoryFlags</doc>
|
|
<type name="FdMemoryFlags" c:type="GstFdMemoryFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<field name="parent">
|
|
<type name="Gst.Allocator" c:type="GstAllocator"/>
|
|
</field>
|
|
</class>
|
|
<record name="FdAllocatorClass" c:type="GstFdAllocatorClass" glib:is-gtype-struct-for="FdAllocator">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<field name="parent_class">
|
|
<type name="Gst.AllocatorClass" c:type="GstAllocatorClass"/>
|
|
</field>
|
|
</record>
|
|
<bitfield name="FdMemoryFlags" version="1.6" c:type="GstFdMemoryFlags">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h">Various flags to control the operation of the fd backed memory.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<member name="none" value="0" c:identifier="GST_FD_MEMORY_FLAG_NONE">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h">no flag</doc>
|
|
</member>
|
|
<member name="keep_mapped" value="1" c:identifier="GST_FD_MEMORY_FLAG_KEEP_MAPPED">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h">once the memory is mapped,
|
|
keep it mapped until the memory is destroyed.</doc>
|
|
</member>
|
|
<member name="map_private" value="2" c:identifier="GST_FD_MEMORY_FLAG_MAP_PRIVATE">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h">do a private mapping instead of
|
|
the default shared mapping.</doc>
|
|
</member>
|
|
<member name="dont_close" value="4" c:identifier="GST_FD_MEMORY_FLAG_DONT_CLOSE">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h">don't close the file descriptor when
|
|
the memory is freed. Since: 1.10</doc>
|
|
</member>
|
|
</bitfield>
|
|
<function-macro name="IS_DMABUF_ALLOCATOR" c:identifier="GST_IS_DMABUF_ALLOCATOR" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DMABUF_ALLOCATOR_CLASS" c:identifier="GST_IS_DMABUF_ALLOCATOR_CLASS" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FD_ALLOCATOR" c:identifier="GST_IS_FD_ALLOCATOR" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FD_ALLOCATOR_CLASS" c:identifier="GST_IS_FD_ALLOCATOR_CLASS" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PHYS_MEMORY_ALLOCATOR_CAST" c:identifier="GST_PHYS_MEMORY_ALLOCATOR_CAST" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PHYS_MEMORY_ALLOCATOR_GET_INTERFACE" c:identifier="GST_PHYS_MEMORY_ALLOCATOR_GET_INTERFACE" introspectable="0">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<interface name="PhysMemoryAllocator" c:symbol-prefix="phys_memory_allocator" c:type="GstPhysMemoryAllocator" version="1.14" glib:type-name="GstPhysMemoryAllocator" glib:get-type="gst_phys_memory_allocator_get_type" glib:type-struct="PhysMemoryAllocatorInterface">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<prerequisite name="Gst.Allocator"/>
|
|
<virtual-method name="get_phys_addr">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none">
|
|
<type name="PhysMemoryAllocator" c:type="GstPhysMemoryAllocator*"/>
|
|
</instance-parameter>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
</interface>
|
|
<record name="PhysMemoryAllocatorInterface" c:type="GstPhysMemoryAllocatorInterface" glib:is-gtype-struct-for="PhysMemoryAllocator" version="1.14">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h">Marker interface for allocators with physical address backed memory</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<field name="parent_iface" readable="0" private="1">
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="get_phys_addr">
|
|
<callback name="get_phys_addr">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none">
|
|
<type name="PhysMemoryAllocator" c:type="GstPhysMemoryAllocator*"/>
|
|
</parameter>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<class name="ShmAllocator" c:symbol-prefix="shm_allocator" c:type="GstShmAllocator" version="1.24" parent="FdAllocator" glib:type-name="GstShmAllocator" glib:get-type="gst_shm_allocator_get_type" glib:type-struct="ShmAllocatorClass">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.c">This is a subclass of #GstFdAllocator that implements the
|
|
gst_allocator_alloc() method using `memfd_create()` when available, POSIX
|
|
`shm_open()` otherwise. Platforms not supporting any of those (Windows) will
|
|
always return %NULL.
|
|
|
|
Note that allocating new shared memories has a significant performance cost,
|
|
it is thus recommended to keep a pool of pre-allocated #GstMemory, using
|
|
#GstBufferPool. For that reason, this allocator has the
|
|
%GST_ALLOCATOR_FLAG_NO_COPY flag set.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h"/>
|
|
<function name="get" c:identifier="gst_shm_allocator_get" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.c">Get the #GstShmAllocator singleton previously registered with
|
|
gst_shm_allocator_init_once().</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h"/>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.c">a #GstAllocator or %NULL if
|
|
gst_shm_allocator_init_once() has not been previously called.</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="init_once" c:identifier="gst_shm_allocator_init_once" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.c">Register a #GstShmAllocator using gst_allocator_register() with the name
|
|
%GST_ALLOCATOR_SHM. This is no-op after the first call.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</function>
|
|
</class>
|
|
<record name="ShmAllocatorClass" c:type="GstShmAllocatorClass" glib:is-gtype-struct-for="ShmAllocator">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h"/>
|
|
<field name="parent_class" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h">Parent Class.</doc>
|
|
<type name="FdAllocatorClass" c:type="GstFdAllocatorClass"/>
|
|
</field>
|
|
</record>
|
|
<function name="dmabuf_memory_get_fd" c:identifier="gst_dmabuf_memory_get_fd" version="1.2">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">Return the file descriptor associated with @mem.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">the file descriptor associated with the memory, or -1. The file
|
|
descriptor is still owned by the GstMemory. Use dup to take a copy
|
|
if you intend to use it beyond the lifetime of this GstMemory.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">the memory to get the file descriptor</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="drm_dumb_memory_export_dmabuf" c:identifier="gst_drm_dumb_memory_export_dmabuf" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">Exports a DMABuf from the DRM Bumb buffer object. One can check if this
|
|
feature is supported using gst_drm_dumb_allocator_has_prime_export();</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">a #GstMemory from #GstDmaBufAllocator wrapping the exported dma-buf
|
|
file descriptor.</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the memory to export from</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="drm_dumb_memory_get_handle" c:identifier="gst_drm_dumb_memory_get_handle" version="1.24">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">Return the DRM buffer object handle associated with @mem.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the DRM buffer object handle associated with the memory, or 0.
|
|
The handle is still owned by the GstMemory and cannot be used
|
|
beyond the lifetime of this GstMemory unless it is being passed
|
|
to DRM driver, which does handle a refcount internally.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the memory to get the handle from</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="fd_memory_get_fd" c:identifier="gst_fd_memory_get_fd" version="1.6">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">Get the fd from @mem. Call gst_is_fd_memory() to check if @mem has
|
|
an fd.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">the fd of @mem or -1 when there is no fd on @mem</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">#GstMemory</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_dmabuf_memory" c:identifier="gst_is_dmabuf_memory" version="1.2">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">Check if @mem is dmabuf memory.</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">%TRUE if @mem is dmabuf memory, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdmabuf.c">the memory to be check</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_drm_dumb_memory" c:identifier="gst_is_drm_dumb_memory" version="1.24">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">%TRUE if @mem is DRM Dumb memory, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.c">the memory to be checked</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_fd_memory" c:identifier="gst_is_fd_memory" version="1.6">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">Check if @mem is memory backed by an fd</doc>
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">%TRUE when @mem has an fd that can be retrieved with
|
|
gst_fd_memory_get_fd().</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">#GstMemory</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_phys_memory" c:identifier="gst_is_phys_memory" version="1.14">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.c">whether the memory at @mem is backed by physical memory</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.c">a #GstMemory</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="phys_memory_get_phys_addr" c:identifier="gst_phys_memory_get_phys_addr" version="1.14">
|
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.h"/>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.c">Physical memory address that is backing @mem, or 0 if none</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstphysmemory.c">a #GstMemory</doc>
|
|
<type name="Gst.Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</namespace>
|
|
</repository>
|