diff options
Diffstat (limited to 'girs/GstAllocators-1.0.gir')
-rw-r--r-- | girs/GstAllocators-1.0.gir | 571 |
1 files changed, 571 insertions, 0 deletions
diff --git a/girs/GstAllocators-1.0.gir b/girs/GstAllocators-1.0.gir new file mode 100644 index 0000000000..f1b8b2ef08 --- /dev/null +++ b/girs/GstAllocators-1.0.gir @@ -0,0 +1,571 @@ +<!-- 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="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"> + <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> + <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> |