forked from mirrors/gstreamer-rs
52746 lines
2.4 MiB
52746 lines
2.4 MiB
<?xml version="1.0"?>
|
|
<!-- 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="GLib" version="2.0"/>
|
|
<include name="GModule" version="2.0"/>
|
|
<include name="GObject" version="2.0"/>
|
|
<package name="gstreamer-1.0"/>
|
|
<c:include name="gst/gst.h"/>
|
|
<namespace name="Gst" version="1.0" shared-library="libgstreamer-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
|
|
<alias name="ClockID" c:type="GstClockID">
|
|
<doc xml:space="preserve">A datatype to hold the handle to an outstanding sync or async clock callback.</doc>
|
|
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</alias>
|
|
<alias name="ClockTime" c:type="GstClockTime">
|
|
<doc xml:space="preserve">A datatype to hold a time, measured in nanoseconds.</doc>
|
|
|
|
<type name="guint64" c:type="guint64"/>
|
|
</alias>
|
|
<alias name="ClockTimeDiff" c:type="GstClockTimeDiff">
|
|
<doc xml:space="preserve">A datatype to hold a time difference, measured in nanoseconds.</doc>
|
|
|
|
<type name="gint64" c:type="gint64"/>
|
|
</alias>
|
|
<alias name="ElementFactoryListType" c:type="GstElementFactoryListType">
|
|
<doc xml:space="preserve">A type defining the type of an element factory.</doc>
|
|
|
|
<type name="guint64" c:type="guint64"/>
|
|
</alias>
|
|
<function-macro name="ALLOCATOR" c:identifier="GST_ALLOCATOR" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ALLOCATOR_CAST" c:identifier="GST_ALLOCATOR_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ALLOCATOR_CLASS" c:identifier="GST_ALLOCATOR_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ALLOCATOR_GET_CLASS" c:identifier="GST_ALLOCATOR_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="ALLOCATOR_SYSMEM" value="SystemMemory" c:type="GST_ALLOCATOR_SYSMEM">
|
|
<doc xml:space="preserve">The allocator name for the default system memory allocator</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<record name="AllocationParams" c:type="GstAllocationParams" glib:type-name="GstAllocationParams" glib:get-type="gst_allocation_params_get_type" c:symbol-prefix="allocation_params">
|
|
<doc xml:space="preserve">Parameters to control the allocation of memory</doc>
|
|
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">flags to control allocation</doc>
|
|
<type name="MemoryFlags" c:type="GstMemoryFlags"/>
|
|
</field>
|
|
<field name="align" writable="1">
|
|
<doc xml:space="preserve">the desired alignment of the memory</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="prefix" writable="1">
|
|
<doc xml:space="preserve">the desired prefix</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="padding" writable="1">
|
|
<doc xml:space="preserve">the desired padding</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="copy" c:identifier="gst_allocation_params_copy">
|
|
<doc xml:space="preserve">Create a copy of @params.
|
|
|
|
Free-function: gst_allocation_params_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new ##GstAllocationParams, free with
|
|
gst_allocation_params_free().</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocationParams</doc>
|
|
<type name="AllocationParams" c:type="const GstAllocationParams*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_allocation_params_free">
|
|
<doc xml:space="preserve">Free @params</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="params" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstAllocationParams</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_allocation_params_init">
|
|
<doc xml:space="preserve">Initialize @params to its default values</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="params" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAllocationParams</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="Allocator" c:symbol-prefix="allocator" c:type="GstAllocator" parent="Object" abstract="1" glib:type-name="GstAllocator" glib:get-type="gst_allocator_get_type" glib:type-struct="AllocatorClass">
|
|
<doc xml:space="preserve">Memory is usually created by allocators with a gst_allocator_alloc()
|
|
method call. When %NULL is used as the allocator, the default allocator will
|
|
be used.
|
|
|
|
New allocators can be registered with gst_allocator_register().
|
|
Allocators are identified by name and can be retrieved with
|
|
gst_allocator_find(). gst_allocator_set_default() can be used to change the
|
|
default allocator.
|
|
|
|
New memory can be created with gst_memory_new_wrapped() that wraps the memory
|
|
allocated elsewhere.</doc>
|
|
|
|
<function name="find" c:identifier="gst_allocator_find">
|
|
<doc xml:space="preserve">Find a previously registered allocator with @name. When @name is %NULL, the
|
|
default allocator will be returned.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstAllocator or %NULL when
|
|
the allocator with @name was not registered. Use gst_object_unref()
|
|
to release the allocator after usage.</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the allocator</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="register" c:identifier="gst_allocator_register">
|
|
<doc xml:space="preserve">Registers the memory @allocator with @name. This function takes ownership of
|
|
@allocator.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the allocator</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="allocator" transfer-ownership="full">
|
|
<doc xml:space="preserve">#GstAllocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="alloc" invoker="alloc">
|
|
<doc xml:space="preserve">Use @allocator to allocate a new memory block with memory that is at least
|
|
@size big.
|
|
|
|
The optional @params can specify the prefix and padding for the memory. If
|
|
%NULL is passed, no flags, no extra prefix/padding and a default alignment is
|
|
used.
|
|
|
|
The prefix/padding will be filled with 0 if flags contains
|
|
#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
|
|
|
|
When @allocator is %NULL, the default allocator will be used.
|
|
|
|
The alignment in @params is given as a bitmask so that @align + 1 equals
|
|
the amount of bytes to align to. For example, to align to 8 bytes,
|
|
use an alignment of 7.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocator to use</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the visible memory area</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional parameters</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="free" invoker="free">
|
|
<doc xml:space="preserve">Free @memory that was previously allocated with gst_allocator_alloc().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAllocator to use</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
<parameter name="memory" transfer-ownership="full">
|
|
<doc xml:space="preserve">the memory to free</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="alloc" c:identifier="gst_allocator_alloc">
|
|
<doc xml:space="preserve">Use @allocator to allocate a new memory block with memory that is at least
|
|
@size big.
|
|
|
|
The optional @params can specify the prefix and padding for the memory. If
|
|
%NULL is passed, no flags, no extra prefix/padding and a default alignment is
|
|
used.
|
|
|
|
The prefix/padding will be filled with 0 if flags contains
|
|
#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
|
|
|
|
When @allocator is %NULL, the default allocator will be used.
|
|
|
|
The alignment in @params is given as a bitmask so that @align + 1 equals
|
|
the amount of bytes to align to. For example, to align to 8 bytes,
|
|
use an alignment of 7.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocator to use</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the visible memory area</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional parameters</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_allocator_free">
|
|
<doc xml:space="preserve">Free @memory that was previously allocated with gst_allocator_alloc().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAllocator to use</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
<parameter name="memory" transfer-ownership="full">
|
|
<doc xml:space="preserve">the memory to free</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_default" c:identifier="gst_allocator_set_default">
|
|
<doc xml:space="preserve">Set the default allocator. This function takes ownership of @allocator.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="allocator" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstAllocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="mem_type">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="mem_map">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryMapFunction</doc>
|
|
<type name="MemoryMapFunction" c:type="GstMemoryMapFunction"/>
|
|
</field>
|
|
<field name="mem_unmap">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryUnmapFunction</doc>
|
|
<type name="MemoryUnmapFunction" c:type="GstMemoryUnmapFunction"/>
|
|
</field>
|
|
<field name="mem_copy">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryCopyFunction</doc>
|
|
<type name="MemoryCopyFunction" c:type="GstMemoryCopyFunction"/>
|
|
</field>
|
|
<field name="mem_share">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryShareFunction</doc>
|
|
<type name="MemoryShareFunction" c:type="GstMemoryShareFunction"/>
|
|
</field>
|
|
<field name="mem_is_span">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryIsSpanFunction</doc>
|
|
<type name="MemoryIsSpanFunction" c:type="GstMemoryIsSpanFunction"/>
|
|
</field>
|
|
<field name="mem_map_full">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryMapFullFunction.
|
|
Will be used instead of @mem_map if present. (Since: 1.6)</doc>
|
|
<type name="MemoryMapFullFunction" c:type="GstMemoryMapFullFunction"/>
|
|
</field>
|
|
<field name="mem_unmap_full">
|
|
<doc xml:space="preserve">the implementation of the GstMemoryUnmapFullFunction.
|
|
Will be used instead of @mem_unmap if present. (Since: 1.6)</doc>
|
|
<type name="MemoryUnmapFullFunction" c:type="GstMemoryUnmapFullFunction"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="2">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="AllocatorPrivate" c:type="GstAllocatorPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="AllocatorClass" c:type="GstAllocatorClass" glib:is-gtype-struct-for="Allocator">
|
|
<doc xml:space="preserve">The #GstAllocator is used to create new memory.</doc>
|
|
|
|
<field name="object_class">
|
|
<doc xml:space="preserve">Object parent class</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="alloc">
|
|
<callback name="alloc">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocator to use</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the visible memory area</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional parameters</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="free">
|
|
<callback name="free">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAllocator to use</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="memory" transfer-ownership="full">
|
|
<doc xml:space="preserve">the memory to free</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<bitfield name="AllocatorFlags" glib:type-name="GstAllocatorFlags" glib:get-type="gst_allocator_flags_get_type" c:type="GstAllocatorFlags">
|
|
<doc xml:space="preserve">Flags for allocators.</doc>
|
|
<member name="custom_alloc" value="16" c:identifier="GST_ALLOCATOR_FLAG_CUSTOM_ALLOC" glib:nick="custom-alloc">
|
|
<doc xml:space="preserve">The allocator has a custom alloc function.</doc>
|
|
</member>
|
|
<member name="last" value="1048576" c:identifier="GST_ALLOCATOR_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">first flag that can be used for custom purposes</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="AllocatorPrivate" c:type="GstAllocatorPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="AtomicQueue" c:type="GstAtomicQueue" glib:type-name="GstAtomicQueue" glib:get-type="gst_atomic_queue_get_type" c:symbol-prefix="atomic_queue">
|
|
<doc xml:space="preserve">The #GstAtomicQueue object implements a queue that can be used from multiple
|
|
threads without performing any blocking operations.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_atomic_queue_new">
|
|
<doc xml:space="preserve">Create a new atomic queue instance. @initial_size will be rounded up to the
|
|
nearest power of 2 and used as the initial size of the queue.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="initial_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">initial queue size</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="length" c:identifier="gst_atomic_queue_length">
|
|
<doc xml:space="preserve">Get the amount of items in the queue.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of elements in the queue.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="queue" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peek" c:identifier="gst_atomic_queue_peek">
|
|
<doc xml:space="preserve">Peek the head element of the queue without removing it from the queue.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the head element of @queue or
|
|
%NULL when the queue is empty.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="queue" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pop" c:identifier="gst_atomic_queue_pop">
|
|
<doc xml:space="preserve">Get the head element of the queue.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the head element of @queue or %NULL when
|
|
the queue is empty.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="queue" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="push" c:identifier="gst_atomic_queue_push">
|
|
<doc xml:space="preserve">Append @data to the tail of the queue.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="queue" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</instance-parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_atomic_queue_ref">
|
|
<doc xml:space="preserve">Increase the refcount of @queue.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="queue" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_atomic_queue_unref">
|
|
<doc xml:space="preserve">Unref @queue and free the memory when the refcount reaches 0.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="queue" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstAtomicQueue</doc>
|
|
<type name="AtomicQueue" c:type="GstAtomicQueue*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<function-macro name="BIN" c:identifier="GST_BIN" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_CAST" c:identifier="GST_BIN_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_CHILDREN" c:identifier="GST_BIN_CHILDREN" introspectable="0">
|
|
<doc xml:space="preserve">Gets the list with children in a bin.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="bin">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_CHILDREN_COOKIE" c:identifier="GST_BIN_CHILDREN_COOKIE" introspectable="0">
|
|
<doc xml:space="preserve">Gets the children cookie that watches the children list.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="bin">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_CLASS" c:identifier="GST_BIN_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_GET_CLASS" c:identifier="GST_BIN_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_IS_NO_RESYNC" c:identifier="GST_BIN_IS_NO_RESYNC" version="1.0.5" introspectable="0">
|
|
<doc xml:space="preserve">Check if @bin will resync its state change when elements are added and
|
|
removed.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="bin">
|
|
<doc xml:space="preserve">A #GstBin</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BIN_NUMCHILDREN" c:identifier="GST_BIN_NUMCHILDREN" introspectable="0">
|
|
<doc xml:space="preserve">Gets the number of children in a bin.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="bin">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER" c:identifier="GST_BUFFER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_CAST" c:identifier="GST_BUFFER_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="BUFFER_COPY_ALL" value="15" c:type="GST_BUFFER_COPY_ALL">
|
|
<doc xml:space="preserve">Combination of all possible fields that can be copied with
|
|
gst_buffer_copy_into().</doc>
|
|
|
|
<type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
|
|
</constant>
|
|
<constant name="BUFFER_COPY_METADATA" value="7" c:type="GST_BUFFER_COPY_METADATA">
|
|
<doc xml:space="preserve">Combination of all possible metadata fields that can be copied with
|
|
gst_buffer_copy_into().</doc>
|
|
|
|
<type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
|
|
</constant>
|
|
<function-macro name="BUFFER_DTS" c:identifier="GST_BUFFER_DTS" introspectable="0">
|
|
<doc xml:space="preserve">The decoding timestamp (dts) in nanoseconds (as a #GstClockTime)
|
|
of the data in the buffer. This is the timestamp when the media should be
|
|
decoded or processed otherwise.
|
|
Value will be %GST_CLOCK_TIME_NONE if the dts is unknown.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.:</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_DTS_IS_VALID" c:identifier="GST_BUFFER_DTS_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the dts is known.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buffer">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_DTS_OR_PTS" c:identifier="GST_BUFFER_DTS_OR_PTS" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Returns the buffer decoding timestamp (dts) if valid, else the buffer
|
|
presentation time (pts)</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.:</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_DURATION" c:identifier="GST_BUFFER_DURATION" introspectable="0">
|
|
<doc xml:space="preserve">The duration in nanoseconds (as a #GstClockTime) of the data in the buffer.
|
|
Value will be %GST_CLOCK_TIME_NONE if the duration is unknown.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_DURATION_IS_VALID" c:identifier="GST_BUFFER_DURATION_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the duration is known.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buffer">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_FLAGS" c:identifier="GST_BUFFER_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">A flags word containing #GstBufferFlags flags set on this buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_FLAG_IS_SET" c:identifier="GST_BUFFER_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">Gives the status of a specific flag on a buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstBufferFlags flag to check.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_FLAG_SET" c:identifier="GST_BUFFER_FLAG_SET" introspectable="0">
|
|
<doc xml:space="preserve">Sets a buffer flag on a buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstBufferFlags flag to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_FLAG_UNSET" c:identifier="GST_BUFFER_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">Clears a buffer flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstBufferFlags flag to clear.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_IS_DISCONT" c:identifier="GST_BUFFER_IS_DISCONT" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the buffer marks a discontinuity in the stream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buffer">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_LIST" c:identifier="GST_BUFFER_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_LIST_CAST" c:identifier="GST_BUFFER_LIST_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_OFFSET" c:identifier="GST_BUFFER_OFFSET" introspectable="0">
|
|
<doc xml:space="preserve">The offset in the source file of the beginning of this buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_OFFSET_END" c:identifier="GST_BUFFER_OFFSET_END" introspectable="0">
|
|
<doc xml:space="preserve">The offset in the source file of the end of this buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_OFFSET_END_IS_VALID" c:identifier="GST_BUFFER_OFFSET_END_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the end offset is known.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buffer">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_OFFSET_IS_VALID" c:identifier="GST_BUFFER_OFFSET_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the start offset is known.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buffer">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="BUFFER_OFFSET_NONE" value="18446744073709551615" c:type="GST_BUFFER_OFFSET_NONE">
|
|
<doc xml:space="preserve">Constant for no-offset return results.</doc>
|
|
|
|
<type name="guint64" c:type="guint64"/>
|
|
</constant>
|
|
<function-macro name="BUFFER_POOL" c:identifier="GST_BUFFER_POOL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_POOL_CAST" c:identifier="GST_BUFFER_POOL_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_POOL_CLASS" c:identifier="GST_BUFFER_POOL_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_POOL_GET_CLASS" c:identifier="GST_BUFFER_POOL_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_POOL_IS_FLUSHING" c:identifier="GST_BUFFER_POOL_IS_FLUSHING" introspectable="0">
|
|
<doc xml:space="preserve">Check if the bufferpool is flushing. Subclasses might want to check the
|
|
state of the pool in the acquire function.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pool">
|
|
<doc xml:space="preserve">a GstBufferPool</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_PTS" c:identifier="GST_BUFFER_PTS" introspectable="0">
|
|
<doc xml:space="preserve">The presentation timestamp (pts) in nanoseconds (as a #GstClockTime)
|
|
of the data in the buffer. This is the timestamp when the media should be
|
|
presented to the user.
|
|
Value will be %GST_CLOCK_TIME_NONE if the pts is unknown.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer.:</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUFFER_PTS_IS_VALID" c:identifier="GST_BUFFER_PTS_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the pts is known.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buffer">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUS" c:identifier="GST_BUS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="bus">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUS_CAST" c:identifier="GST_BUS_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="bus">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUS_CLASS" c:identifier="GST_BUS_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="bclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="BUS_GET_CLASS" c:identifier="GST_BUS_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="bus">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="Bin" c:symbol-prefix="bin" c:type="GstBin" parent="Element" glib:type-name="GstBin" glib:get-type="gst_bin_get_type" glib:type-struct="BinClass">
|
|
<doc xml:space="preserve">#GstBin is an element that can contain other #GstElement, allowing them to be
|
|
managed as a group.
|
|
Pads from the child elements can be ghosted to the bin, see #GstGhostPad.
|
|
This makes the bin look like any other elements and enables creation of
|
|
higher-level abstraction elements.
|
|
|
|
A new #GstBin is created with gst_bin_new(). Use a #GstPipeline instead if you
|
|
want to create a toplevel bin because a normal bin doesn't have a bus or
|
|
handle clock distribution of its own.
|
|
|
|
After the bin has been created you will typically add elements to it with
|
|
gst_bin_add(). You can remove elements with gst_bin_remove().
|
|
|
|
An element can be retrieved from a bin with gst_bin_get_by_name(), using the
|
|
elements name. gst_bin_get_by_name_recurse_up() is mainly used for internal
|
|
purposes and will query the parent bins when the element is not found in the
|
|
current bin.
|
|
|
|
An iterator of elements in a bin can be retrieved with
|
|
gst_bin_iterate_elements(). Various other iterators exist to retrieve the
|
|
elements in a bin.
|
|
|
|
gst_object_unref() is used to drop your reference to the bin.
|
|
|
|
The #GstBin::element-added signal is fired whenever a new element is added to
|
|
the bin. Likewise the #GstBin::element-removed signal is fired whenever an
|
|
element is removed from the bin.
|
|
|
|
## Notes
|
|
|
|
A #GstBin internally intercepts every #GstMessage posted by its children and
|
|
implements the following default behaviour for each of them:
|
|
|
|
* GST_MESSAGE_EOS: This message is only posted by sinks in the PLAYING
|
|
state. If all sinks posted the EOS message, this bin will post and EOS
|
|
message upwards.
|
|
|
|
* GST_MESSAGE_SEGMENT_START: Just collected and never forwarded upwards.
|
|
The messages are used to decide when all elements have completed playback
|
|
of their segment.
|
|
|
|
* GST_MESSAGE_SEGMENT_DONE: Is posted by #GstBin when all elements that posted
|
|
a SEGMENT_START have posted a SEGMENT_DONE.
|
|
|
|
* GST_MESSAGE_DURATION_CHANGED: Is posted by an element that detected a change
|
|
in the stream duration. The duration change is posted to the
|
|
application so that it can refetch the new duration with a duration
|
|
query. Note that these messages can be posted before the bin is
|
|
prerolled, in which case the duration query might fail. Note also that
|
|
there might be a discrepancy (due to internal buffering/queueing) between the
|
|
stream being currently displayed and the returned duration query.
|
|
Applications might want to also query for duration (and changes) by
|
|
listening to the GST_MESSAGE_STREAM_START message, signaling the active start
|
|
of a (new) stream.
|
|
|
|
* GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it
|
|
can no longer provide a clock. The default bin behaviour is to
|
|
check if the lost clock was the one provided by the bin. If so and
|
|
the bin is currently in the PLAYING state, the message is forwarded to
|
|
the bin parent.
|
|
This message is also generated when a clock provider is removed from
|
|
the bin. If this message is received by the application, it should
|
|
PAUSE the pipeline and set it back to PLAYING to force a new clock
|
|
distribution.
|
|
|
|
* GST_MESSAGE_CLOCK_PROVIDE: This message is generated when an element
|
|
can provide a clock. This mostly happens when a new clock
|
|
provider is added to the bin. The default behaviour of the bin is to
|
|
mark the currently selected clock as dirty, which will perform a clock
|
|
recalculation the next time the bin is asked to provide a clock.
|
|
This message is never sent tot the application but is forwarded to
|
|
the parent of the bin.
|
|
|
|
* OTHERS: posted upwards.
|
|
|
|
A #GstBin implements the following default behaviour for answering to a
|
|
#GstQuery:
|
|
|
|
* GST_QUERY_DURATION: The bin will forward the query to all sink
|
|
elements contained within and will return the maximum value.
|
|
If no sinks are available in the bin, the query fails.
|
|
|
|
* GST_QUERY_POSITION:The query is sent to all sink elements in the bin and the
|
|
MAXIMUM of all values is returned. If no sinks are available in the bin,
|
|
the query fails.
|
|
|
|
* OTHERS:the query is forwarded to all sink elements, the result
|
|
of the first sink that answers the query successfully is returned. If no
|
|
sink is in the bin, the query fails.
|
|
|
|
A #GstBin will by default forward any event sent to it to all sink
|
|
(#GST_EVENT_TYPE_DOWNSTREAM) or source (#GST_EVENT_TYPE_UPSTREAM) elements
|
|
depending on the event type.
|
|
If all the elements return %TRUE, the bin will also return %TRUE, else %FALSE
|
|
is returned. If no elements of the required type are in the bin, the event
|
|
handler will return %TRUE.</doc>
|
|
|
|
<implements name="ChildProxy"/>
|
|
<constructor name="new" c:identifier="gst_bin_new">
|
|
<doc xml:space="preserve">Creates a new bin with the given name.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a new #GstBin</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the new bin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<virtual-method name="add_element">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="deep_element_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="sub_bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="deep_element_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="sub_bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="do_latency">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="element_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="element_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="remove_element">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add" c:identifier="gst_bin_add">
|
|
<doc xml:space="preserve">Adds the given element to the bin. Sets the element's parent, and thus
|
|
takes ownership of the element. An element can only be added to one bin.
|
|
|
|
If the element's pads are linked to other pads, the pads will be unlinked
|
|
before the element is added to the bin.
|
|
|
|
> When you add an element to an already-running pipeline, you will have to
|
|
> take care to set the state of the newly-added element to the desired
|
|
> state (usually PLAYING or PAUSED, same you set the pipeline to originally)
|
|
> with gst_element_set_state(), or use gst_element_sync_state_with_parent().
|
|
> The bin or pipeline will not take care of this for you.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element could be added, %FALSE if
|
|
the bin does not want to accept the element.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement to add</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_many" c:identifier="gst_bin_add_many" introspectable="0">
|
|
<doc xml:space="preserve">Adds a %NULL-terminated list of elements to a bin. This function is
|
|
equivalent to calling gst_bin_add() for each member of the list. The return
|
|
value of each gst_bin_add() is ignored.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="element_1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement element to add to the bin</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional elements to add to the bin</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_unlinked_pad" c:identifier="gst_bin_find_unlinked_pad">
|
|
<doc xml:space="preserve">Recursively looks for elements with an unlinked pad of the given
|
|
direction within the specified bin and returns an unlinked pad
|
|
if one is found, or %NULL otherwise. If a pad is found, the caller
|
|
owns a reference to it and should use gst_object_unref() on the
|
|
pad when it is not needed any longer.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">unlinked pad of the given
|
|
direction, %NULL.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">bin in which to look for elements with unlinked pads</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to look for an unlinked source or sink pad</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_by_interface" c:identifier="gst_bin_get_by_interface">
|
|
<doc xml:space="preserve">Looks for an element inside the bin that implements the given
|
|
interface. If such an element is found, it returns the element.
|
|
You can cast this element to the given interface afterwards. If you want
|
|
all elements that implement the interface, use
|
|
gst_bin_iterate_all_by_interface(). This function recurses into child bins.
|
|
|
|
MT safe. Caller owns returned reference.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A #GstElement inside the bin
|
|
implementing the interface</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="iface" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType of an interface</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_by_name" c:identifier="gst_bin_get_by_name">
|
|
<doc xml:space="preserve">Gets the element with the given name from a bin. This
|
|
function recurses into child bins.
|
|
|
|
Returns %NULL if no element with the given name is found in the bin.
|
|
|
|
MT safe. Caller owns returned reference.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstElement with the given
|
|
name, or %NULL</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the element name to search for</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_by_name_recurse_up" c:identifier="gst_bin_get_by_name_recurse_up">
|
|
<doc xml:space="preserve">Gets the element with the given name from this bin. If the
|
|
element is not found, a recursion is performed on the parent bin.
|
|
|
|
Returns %NULL if:
|
|
- no element with the given name is found in the bin
|
|
|
|
MT safe. Caller owns returned reference.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstElement with the given
|
|
name, or %NULL</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the element name to search for</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_suppressed_flags" c:identifier="gst_bin_get_suppressed_flags" version="1.10">
|
|
<doc xml:space="preserve">Return the suppressed flags of the bin.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the bin's suppressed #GstElementFlags.</doc>
|
|
<type name="ElementFlags" c:type="GstElementFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_all_by_element_factory_name" c:identifier="gst_bin_iterate_all_by_element_factory_name" version="1.18">
|
|
<doc xml:space="preserve">Looks for all elements inside the bin with the given element factory name.
|
|
The function recurses inside child bins. The iterator will yield a series of
|
|
#GstElement that should be unreffed after use.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement
|
|
for all elements in the bin with the given element factory name,
|
|
or %NULL.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="factory_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstElementFactory</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_all_by_interface" c:identifier="gst_bin_iterate_all_by_interface">
|
|
<doc xml:space="preserve">Looks for all elements inside the bin that implements the given
|
|
interface. You can safely cast all returned elements to the given interface.
|
|
The function recurses inside child bins. The iterator will yield a series
|
|
of #GstElement that should be unreffed after use.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement
|
|
for all elements in the bin implementing the given interface,
|
|
or %NULL</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="iface" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType of an interface</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_elements" c:identifier="gst_bin_iterate_elements">
|
|
<doc xml:space="preserve">Gets an iterator for the elements in this bin.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement,
|
|
or %NULL</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_recurse" c:identifier="gst_bin_iterate_recurse">
|
|
<doc xml:space="preserve">Gets an iterator for the elements in this bin.
|
|
This iterator recurses into GstBin children.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement,
|
|
or %NULL</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_sinks" c:identifier="gst_bin_iterate_sinks">
|
|
<doc xml:space="preserve">Gets an iterator for all elements in the bin that have the
|
|
#GST_ELEMENT_FLAG_SINK flag set.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement,
|
|
or %NULL</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_sorted" c:identifier="gst_bin_iterate_sorted">
|
|
<doc xml:space="preserve">Gets an iterator for the elements in this bin in topologically
|
|
sorted order. This means that the elements are returned from
|
|
the most downstream elements (sinks) to the sources.
|
|
|
|
This function is used internally to perform the state changes
|
|
of the bin elements and for clock selection.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement,
|
|
or %NULL</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_sources" c:identifier="gst_bin_iterate_sources">
|
|
<doc xml:space="preserve">Gets an iterator for all elements in the bin that have the
|
|
#GST_ELEMENT_FLAG_SOURCE flag set.
|
|
|
|
MT safe. Caller owns returned value.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstElement,
|
|
or %NULL</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="recalculate_latency" c:identifier="gst_bin_recalculate_latency">
|
|
<doc xml:space="preserve">Query @bin for the current latency using and reconfigures this latency to all the
|
|
elements with a LATENCY event.
|
|
|
|
This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY
|
|
is posted on the bus.
|
|
|
|
This function simply emits the 'do-latency' signal so any custom latency
|
|
calculations will be performed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the latency could be queried and reconfigured.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove" c:identifier="gst_bin_remove">
|
|
<doc xml:space="preserve">Removes the element from the bin, unparenting it as well.
|
|
Unparenting the element means that the element will be dereferenced,
|
|
so if the bin holds the only reference to the element, the element
|
|
will be freed in the process of removing it from the bin. If you
|
|
want the element to still exist after removing, you need to call
|
|
gst_object_ref() before removing it from the bin.
|
|
|
|
If the element's pads are linked to other pads, the pads will be unlinked
|
|
before the element is removed from the bin.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element could be removed, %FALSE if
|
|
the bin does not want to remove the element.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement to remove</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_many" c:identifier="gst_bin_remove_many" introspectable="0">
|
|
<doc xml:space="preserve">Remove a list of elements from a bin. This function is equivalent
|
|
to calling gst_bin_remove() with each member of the list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="element_1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first #GstElement to remove from the bin</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">%NULL-terminated list of elements to remove from the bin</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_suppressed_flags" c:identifier="gst_bin_set_suppressed_flags" version="1.10">
|
|
<doc xml:space="preserve">Suppress the given flags on the bin. #GstElementFlags of a
|
|
child element are propagated when it is added to the bin.
|
|
When suppressed flags are set, those specified flags will
|
|
not be propagated to the bin.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElementFlags to suppress</doc>
|
|
<type name="ElementFlags" c:type="GstElementFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sync_children_states" c:identifier="gst_bin_sync_children_states" version="1.6">
|
|
<doc xml:space="preserve">Synchronizes the state of every child of @bin with the state
|
|
of @bin. See also gst_element_sync_state_with_parent().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if syncing the state was successful for all children,
|
|
otherwise %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBin</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="async-handling" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">If set to %TRUE, the bin will handle asynchronous state changes.
|
|
This should be used only if the bin subclass is modifying the state
|
|
of its children on its own.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="message-forward" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Forward all children messages, even those that would normally be filtered by
|
|
the bin. This can be interesting when one wants to be notified of the EOS
|
|
state of individual elements, for example.
|
|
|
|
The messages are converted to an ELEMENT message with the bin as the
|
|
source. The structure of the message is named 'GstBinForwarded' and contains
|
|
a field named 'message' of type GST_TYPE_MESSAGE that contains the original
|
|
forwarded message.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="element">
|
|
<type name="Element" c:type="GstElement"/>
|
|
</field>
|
|
<field name="numchildren">
|
|
<doc xml:space="preserve">the number of children in this bin</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="children">
|
|
<doc xml:space="preserve">the list of children in this bin</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Element"/>
|
|
</type>
|
|
</field>
|
|
<field name="children_cookie">
|
|
<doc xml:space="preserve">updated whenever @children changes</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="child_bus">
|
|
<doc xml:space="preserve">internal bus for handling child messages</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</field>
|
|
<field name="messages">
|
|
<doc xml:space="preserve">queued and cached messages</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Message"/>
|
|
</type>
|
|
</field>
|
|
<field name="polling">
|
|
<doc xml:space="preserve">the bin is currently calculating its state</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="state_dirty">
|
|
<doc xml:space="preserve">the bin needs to recalculate its state (deprecated)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="clock_dirty">
|
|
<doc xml:space="preserve">the bin needs to select a new clock</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="provided_clock">
|
|
<doc xml:space="preserve">the last clock selected</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</field>
|
|
<field name="clock_provider">
|
|
<doc xml:space="preserve">the element that provided @provided_clock</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="BinPrivate" c:type="GstBinPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="deep-element-added" when="first" version="1.10">
|
|
<doc xml:space="preserve">Will be emitted after the element was added to sub_bin.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sub_bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBin the element was added to</doc>
|
|
<type name="Bin"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement that was added to @sub_bin</doc>
|
|
<type name="Element"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="deep-element-removed" when="first" version="1.10">
|
|
<doc xml:space="preserve">Will be emitted after the element was removed from sub_bin.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sub_bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBin the element was removed from</doc>
|
|
<type name="Bin"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement that was removed from @sub_bin</doc>
|
|
<type name="Element"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="do-latency" when="last">
|
|
<doc xml:space="preserve">Will be emitted when the bin needs to perform latency calculations. This
|
|
signal is only emitted for toplevel bins or when async-handling is
|
|
enabled.
|
|
|
|
Only one signal handler is invoked. If no signals are connected, the
|
|
default handler is invoked, which will query and distribute the lowest
|
|
possible latency to all sinks.
|
|
|
|
Connect to this signal if the default latency calculations are not
|
|
sufficient, like when you need different latencies for different sinks in
|
|
the same pipeline.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</glib:signal>
|
|
<glib:signal name="element-added" when="first">
|
|
<doc xml:space="preserve">Will be emitted after the element was added to the bin.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement that was added to the bin</doc>
|
|
<type name="Element"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="element-removed" when="first">
|
|
<doc xml:space="preserve">Will be emitted after the element was removed from the bin.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement that was removed from the bin</doc>
|
|
<type name="Element"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="BinClass" c:type="GstBinClass" glib:is-gtype-struct-for="Bin">
|
|
<doc xml:space="preserve">Subclasses can override the @add_element and @remove_element to
|
|
update the list of children in the bin.
|
|
|
|
The @handle_message method can be overridden to implement custom
|
|
message handling. @handle_message takes ownership of the message, just like
|
|
#gst_element_post_message.
|
|
|
|
The @deep_element_added vfunc will be called when a new element has been
|
|
added to any bin inside this bin, so it will also be called if a new child
|
|
was added to a sub-bin of this bin. #GstBin implementations that override
|
|
this message should chain up to the parent class implementation so the
|
|
#GstBin::deep-element-added signal is emitted on all parents.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">bin parent class</doc>
|
|
<type name="ElementClass" c:type="GstElementClass"/>
|
|
</field>
|
|
<field name="pool" readable="0" private="1">
|
|
<type name="GLib.ThreadPool" c:type="GThreadPool*"/>
|
|
</field>
|
|
<field name="element_added">
|
|
<callback name="element_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="element_removed">
|
|
<callback name="element_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="add_element">
|
|
<callback name="add_element">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="remove_element">
|
|
<callback name="remove_element">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_message">
|
|
<callback name="handle_message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="do_latency">
|
|
<callback name="do_latency">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="deep_element_added">
|
|
<callback name="deep_element_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="sub_bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="deep_element_removed">
|
|
<callback name="deep_element_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="sub_bin" transfer-ownership="none">
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="2">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<bitfield name="BinFlags" glib:type-name="GstBinFlags" glib:get-type="gst_bin_flags_get_type" c:type="GstBinFlags">
|
|
<doc xml:space="preserve">GstBinFlags are a set of flags specific to bins. Most are set/used
|
|
internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
|
|
and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().</doc>
|
|
<member name="no_resync" value="16384" c:identifier="GST_BIN_FLAG_NO_RESYNC" glib:nick="no-resync">
|
|
<doc xml:space="preserve">don't resync a state change when elements are
|
|
added or linked in the bin (Since: 1.0.5)</doc>
|
|
</member>
|
|
<member name="streams_aware" value="32768" c:identifier="GST_BIN_FLAG_STREAMS_AWARE" glib:nick="streams-aware">
|
|
<doc xml:space="preserve">Indicates whether the bin can handle elements
|
|
that add/remove source pads at any point in time without
|
|
first posting a no-more-pads signal (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="last" value="524288" c:identifier="GST_BIN_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">the last enum in the series of flags for bins.
|
|
Derived classes can use this as first value in a list of flags.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="BinPrivate" c:type="GstBinPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Bitmask" c:symbol-prefix="bitmask" glib:type-name="GstBitmask" glib:get-type="gst_bitmask_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a 64-bit bitmask</doc>
|
|
</class>
|
|
<record name="Buffer" c:type="GstBuffer" glib:type-name="GstBuffer" glib:get-type="gst_buffer_get_type" c:symbol-prefix="buffer">
|
|
<doc xml:space="preserve">Buffers are the basic unit of data transfer in GStreamer. They contain the
|
|
timing and offset along with other arbitrary metadata that is associated
|
|
with the #GstMemory blocks that the buffer contains.
|
|
|
|
Buffers are usually created with gst_buffer_new(). After a buffer has been
|
|
created one will typically allocate memory for it and add it to the buffer.
|
|
The following example creates a buffer that can hold a given video frame
|
|
with a given width, height and bits per plane.
|
|
|[<!-- language="C" -->
|
|
GstBuffer *buffer;
|
|
GstMemory *memory;
|
|
gint size, width, height, bpp;
|
|
...
|
|
size = width * height * bpp;
|
|
buffer = gst_buffer_new ();
|
|
memory = gst_allocator_alloc (NULL, size, NULL);
|
|
gst_buffer_insert_memory (buffer, -1, memory);
|
|
...
|
|
]|
|
|
|
|
Alternatively, use gst_buffer_new_allocate() to create a buffer with
|
|
preallocated data of a given size.
|
|
|
|
Buffers can contain a list of #GstMemory objects. You can retrieve how many
|
|
memory objects with gst_buffer_n_memory() and you can get a pointer
|
|
to memory with gst_buffer_peek_memory()
|
|
|
|
A buffer will usually have timestamps, and a duration, but neither of these
|
|
are guaranteed (they may be set to #GST_CLOCK_TIME_NONE). Whenever a
|
|
meaningful value can be given for these, they should be set. The timestamps
|
|
and duration are measured in nanoseconds (they are #GstClockTime values).
|
|
|
|
The buffer DTS refers to the timestamp when the buffer should be decoded and
|
|
is usually monotonically increasing. The buffer PTS refers to the timestamp when
|
|
the buffer content should be presented to the user and is not always
|
|
monotonically increasing.
|
|
|
|
A buffer can also have one or both of a start and an end offset. These are
|
|
media-type specific. For video buffers, the start offset will generally be
|
|
the frame number. For audio buffers, it will be the number of samples
|
|
produced so far. For compressed data, it could be the byte offset in a
|
|
source or destination file. Likewise, the end offset will be the offset of
|
|
the end of the buffer. These can only be meaningfully interpreted if you
|
|
know the media type of the buffer (the preceding CAPS event). Either or both
|
|
can be set to #GST_BUFFER_OFFSET_NONE.
|
|
|
|
gst_buffer_ref() is used to increase the refcount of a buffer. This must be
|
|
done when you want to keep a handle to the buffer after pushing it to the
|
|
next element. The buffer refcount determines the writability of the buffer, a
|
|
buffer is only writable when the refcount is exactly 1, i.e. when the caller
|
|
has the only reference to the buffer.
|
|
|
|
To efficiently create a smaller buffer out of an existing one, you can
|
|
use gst_buffer_copy_region(). This method tries to share the memory objects
|
|
between the two buffers.
|
|
|
|
If a plug-in wants to modify the buffer data or metadata in-place, it should
|
|
first obtain a buffer that is safe to modify by using
|
|
gst_buffer_make_writable(). This function is optimized so that a copy will
|
|
only be made when it is necessary.
|
|
|
|
Several flags of the buffer can be set and unset with the
|
|
GST_BUFFER_FLAG_SET() and GST_BUFFER_FLAG_UNSET() macros. Use
|
|
GST_BUFFER_FLAG_IS_SET() to test if a certain #GstBufferFlags flag is set.
|
|
|
|
Buffers can be efficiently merged into a larger buffer with
|
|
gst_buffer_append(). Copying of memory will only be done when absolutely
|
|
needed.
|
|
|
|
Arbitrary extra metadata can be set on a buffer with gst_buffer_add_meta().
|
|
Metadata can be retrieved with gst_buffer_get_meta(). See also #GstMeta
|
|
|
|
An element should either unref the buffer or push it out on a src pad
|
|
using gst_pad_push() (see #GstPad).
|
|
|
|
Buffers are usually freed by unreffing them with gst_buffer_unref(). When
|
|
the refcount drops to 0, any memory and metadata pointed to by the buffer is
|
|
unreffed as well. Buffers allocated from a #GstBufferPool will be returned to
|
|
the pool when the refcount drops to 0.
|
|
|
|
The #GstParentBufferMeta is a meta which can be attached to a #GstBuffer
|
|
to hold a reference to another buffer that is only released when the child
|
|
#GstBuffer is released.
|
|
|
|
Typically, #GstParentBufferMeta is used when the child buffer is directly
|
|
using the #GstMemory of the parent buffer, and wants to prevent the parent
|
|
buffer from being returned to a buffer pool until the #GstMemory is available
|
|
for re-use. (Since: 1.6)</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">the parent structure</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<field name="pool" writable="1">
|
|
<doc xml:space="preserve">pointer to the pool owner of the buffer</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</field>
|
|
<field name="pts" writable="1">
|
|
<doc xml:space="preserve">presentation timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the
|
|
pts is not known or relevant. The pts contains the timestamp when the
|
|
media should be presented to the user.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="dts" writable="1">
|
|
<doc xml:space="preserve">decoding timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the
|
|
dts is not known or relevant. The dts contains the timestamp when the
|
|
media should be processed.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="duration" writable="1">
|
|
<doc xml:space="preserve">duration in time of the buffer data, can be #GST_CLOCK_TIME_NONE
|
|
when the duration is not known or relevant.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">a media specific offset for the buffer data.
|
|
For video frames, this is the frame number of this buffer.
|
|
For audio samples, this is the offset of the first sample in this buffer.
|
|
For file data or compressed data this is the byte offset of the first
|
|
byte in this buffer.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="offset_end" writable="1">
|
|
<doc xml:space="preserve">the last offset contained in this buffer. It has the same
|
|
format as @offset.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_buffer_new">
|
|
<doc xml:space="preserve">Creates a newly allocated buffer without any data.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_allocate" c:identifier="gst_buffer_new_allocate">
|
|
<doc xml:space="preserve">Tries to create a newly allocated buffer with data of the given size and
|
|
extra parameters from @allocator. If the requested amount of memory can't be
|
|
allocated, %NULL will be returned. The allocated buffer memory is not cleared.
|
|
|
|
When @allocator is %NULL, the default memory allocator will be used.
|
|
|
|
Note that when @size == 0, the buffer will not have memory associated with it.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstBuffer, or %NULL if
|
|
the memory couldn't be allocated.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstAllocator to use, or %NULL to use the
|
|
default allocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size in bytes of the new buffer's data.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">optional parameters</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_wrapped" c:identifier="gst_buffer_new_wrapped">
|
|
<doc xml:space="preserve">Creates a new buffer that wraps the given @data. The memory will be freed
|
|
with g_free and will be marked writable.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="full">
|
|
<doc xml:space="preserve">data to wrap</doc>
|
|
<array length="1" zero-terminated="0" c:type="gpointer">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">allocated size of @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_wrapped_bytes" c:identifier="gst_buffer_new_wrapped_bytes" version="1.16">
|
|
<doc xml:space="preserve">Creates a new #GstBuffer that wraps the given @bytes. The data inside
|
|
@bytes cannot be %NULL and the resulting buffer will be marked as read only.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBuffer wrapping @bytes</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GBytes to wrap</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_wrapped_full" c:identifier="gst_buffer_new_wrapped_full">
|
|
<doc xml:space="preserve">Allocate a new buffer that wraps the given memory. @data must point to
|
|
@maxsize of memory, the wrapped buffer will have the region from @offset and
|
|
@size visible.
|
|
|
|
When the buffer is destroyed, @notify will be called with @user_data.
|
|
|
|
The prefix/padding must be filled with 0 if @flags contains
|
|
#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMemoryFlags</doc>
|
|
<type name="MemoryFlags" c:type="GstMemoryFlags"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">data to wrap</doc>
|
|
<array length="4" zero-terminated="0" c:type="gpointer">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">allocated size of @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset in @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of valid data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="5">
|
|
<doc xml:space="preserve">called with @user_data when the memory is freed</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_meta" c:identifier="gst_buffer_add_meta">
|
|
<doc xml:space="preserve">Add metadata for @info to @buffer using the parameters in @params.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the metadata for the api in @info on @buffer.</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMetaInfo</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">params for @info</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_parent_buffer_meta" c:identifier="gst_buffer_add_parent_buffer_meta" version="1.6">
|
|
<doc xml:space="preserve">Add a #GstParentBufferMeta to @buffer that holds a reference on
|
|
@ref until the buffer is freed.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstParentBufferMeta that was added to the buffer</doc>
|
|
<type name="ParentBufferMeta" c:type="GstParentBufferMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="ref" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer to ref</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_protection_meta" c:identifier="gst_buffer_add_protection_meta" version="1.6">
|
|
<doc xml:space="preserve">Attaches protection metadata to a #GstBuffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to the added #GstProtectionMeta if successful; %NULL if
|
|
unsuccessful.</doc>
|
|
<type name="ProtectionMeta" c:type="GstProtectionMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstBuffer holding an encrypted sample, to which protection
|
|
metadata should be added.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure holding cryptographic
|
|
information relating to the sample contained in @buffer. This
|
|
function takes ownership of @info.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_reference_timestamp_meta" c:identifier="gst_buffer_add_reference_timestamp_meta" version="1.14">
|
|
<doc xml:space="preserve">Add a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and
|
|
optionally @duration based on a specific timestamp @reference. See the
|
|
documentation of #GstReferenceTimestampMeta for details.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstReferenceTimestampMeta that was added to the buffer</doc>
|
|
<type name="ReferenceTimestampMeta" c:type="GstReferenceTimestampMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="reference" transfer-ownership="none">
|
|
<doc xml:space="preserve">identifier for the timestamp reference.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">timestamp</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">duration, or %GST_CLOCK_TIME_NONE</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="append" c:identifier="gst_buffer_append">
|
|
<doc xml:space="preserve">Append all the memory from @buf2 to @buf1. The result buffer will contain a
|
|
concatenation of the memory of @buf1 and @buf2.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstBuffer that contains the memory
|
|
of the two source buffers.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf1" transfer-ownership="full">
|
|
<doc xml:space="preserve">the first source #GstBuffer to append.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="buf2" transfer-ownership="full">
|
|
<doc xml:space="preserve">the second source #GstBuffer to append.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="append_memory" c:identifier="gst_buffer_append_memory">
|
|
<doc xml:space="preserve">Append the memory block @mem to @buffer. This function takes
|
|
ownership of @mem and thus doesn't increase its refcount.
|
|
|
|
This function is identical to gst_buffer_insert_memory() with an index of -1.
|
|
See gst_buffer_insert_memory() for more details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="append_region" c:identifier="gst_buffer_append_region">
|
|
<doc xml:space="preserve">Append @size bytes at @offset from @buf2 to @buf1. The result buffer will
|
|
contain a concatenation of the memory of @buf1 and the requested region of
|
|
@buf2.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstBuffer that contains the memory
|
|
of the two source buffers.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf1" transfer-ownership="full">
|
|
<doc xml:space="preserve">the first source #GstBuffer to append.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="buf2" transfer-ownership="full">
|
|
<doc xml:space="preserve">the second source #GstBuffer to append.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in @buf2</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size or -1 of @buf2</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_buffer_copy" introspectable="0">
|
|
<doc xml:space="preserve">Create a copy of the given buffer. This will only copy the buffer's
|
|
data to a newly allocated memory if needed (if the type of memory
|
|
requires it), otherwise the underlying data is just referenced.
|
|
Check gst_buffer_copy_deep() if you want to force the data
|
|
to be copied to newly allocated memory.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @buf.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="const GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_deep" c:identifier="gst_buffer_copy_deep" version="1.6">
|
|
<doc xml:space="preserve">Create a copy of the given buffer. This will make a newly allocated
|
|
copy of the data the source buffer contains.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @buf.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="const GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_into" c:identifier="gst_buffer_copy_into">
|
|
<doc xml:space="preserve">Copies the information from @src into @dest.
|
|
|
|
If @dest already contains memory and @flags contains GST_BUFFER_COPY_MEMORY,
|
|
the memory from @src will be appended to @dest.
|
|
|
|
@flags indicate which fields will be copied.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the copying succeeded, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a destination #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a source #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags indicating what metadata fields should be copied.</doc>
|
|
<type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset to copy from</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">total size to copy. If -1, all data is copied.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_region" c:identifier="gst_buffer_copy_region">
|
|
<doc xml:space="preserve">Creates a sub-buffer from @parent at @offset and @size.
|
|
This sub-buffer uses the actual memory space of the parent buffer.
|
|
This function will copy the offset and timestamp fields when the
|
|
offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and
|
|
#GST_BUFFER_OFFSET_NONE.
|
|
If @offset equals 0 and @size equals the total size of @buffer, the
|
|
duration and offset end fields are also copied. If not they will be set
|
|
to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstBuffer or %NULL if the arguments were
|
|
invalid.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBufferCopyFlags</doc>
|
|
<type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset into parent #GstBuffer at which the new sub-buffer
|
|
begins.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the new #GstBuffer sub-buffer, in bytes. If -1, all
|
|
data is copied.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="extract" c:identifier="gst_buffer_extract">
|
|
<doc xml:space="preserve">Copy @size bytes starting from @offset in @buffer to @dest.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The amount of bytes extracted. This value can be lower than @size
|
|
when @buffer did not contain enough data.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset to extract</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">
|
|
the destination address</doc>
|
|
<array length="2" zero-terminated="0" c:type="gpointer">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the size to extract</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="extract_dup" c:identifier="gst_buffer_extract_dup" version="1.0.10">
|
|
<doc xml:space="preserve">Extracts a copy of at most @size bytes the data at @offset into
|
|
newly-allocated memory. @dest must be freed using g_free() when done.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset to extract</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size to extract</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer where
|
|
the destination array will be written. Might be %NULL if the size is 0.</doc>
|
|
<array length="3" zero-terminated="0" c:type="gpointer*">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="dest_size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A location where the size of @dest can be written</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fill" c:identifier="gst_buffer_fill">
|
|
<doc xml:space="preserve">Copy @size bytes from @src to @buffer at @offset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The amount of bytes copied. This value can be lower than @size
|
|
when @buffer did not contain enough data.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset to fill</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source address</doc>
|
|
<array length="2" zero-terminated="0" c:type="gconstpointer">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size to fill</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_memory" c:identifier="gst_buffer_find_memory">
|
|
<doc xml:space="preserve">Find the memory blocks that span @size bytes starting from @offset
|
|
in @buffer.
|
|
|
|
When this function returns %TRUE, @idx will contain the index of the first
|
|
memory block where the byte for @offset can be found and @length contains the
|
|
number of memory blocks containing the @size remaining bytes. @skip contains
|
|
the number of bytes to skip in the memory block at @idx to get to the byte
|
|
for @offset.
|
|
|
|
@size can be -1 to get all the memory blocks after @idx.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @size bytes starting from @offset could be found in
|
|
@buffer and @idx, @length and @skip will be filled.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">an offset</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">a size</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="idx" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to index</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to length</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="skip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to skip</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach_meta" c:identifier="gst_buffer_foreach_meta">
|
|
<doc xml:space="preserve">Call @func with @user_data for each meta in @buffer.
|
|
|
|
@func can modify the passed meta pointer or its contents. The return value
|
|
of @func define if this function returns or if the remaining metadata items
|
|
in the buffer should be skipped.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE when @func returned %FALSE for one of the metadata.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a #GstBufferForeachMetaFunc to call</doc>
|
|
<type name="BufferForeachMetaFunc" c:type="GstBufferForeachMetaFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_all_memory" c:identifier="gst_buffer_get_all_memory">
|
|
<doc xml:space="preserve">Get all the memory block in @buffer. The memory blocks will be merged
|
|
into one large #GstMemory.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstMemory that contains the merged memory.
|
|
Use gst_memory_unref () after usage.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_flags" c:identifier="gst_buffer_get_flags" version="1.10">
|
|
<doc xml:space="preserve">Get the #GstBufferFlags flags set on this buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the flags set on this buffer.</doc>
|
|
<type name="BufferFlags" c:type="GstBufferFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_memory" c:identifier="gst_buffer_get_memory">
|
|
<doc xml:space="preserve">Get the memory block at index @idx in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstMemory that contains the data of the
|
|
memory block at @idx. Use gst_memory_unref () after usage.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_memory_range" c:identifier="gst_buffer_get_memory_range">
|
|
<doc xml:space="preserve">Get @length memory blocks in @buffer starting at @idx. The memory blocks will
|
|
be merged into one large #GstMemory.
|
|
|
|
If @length is -1, all memory starting from @idx is merged.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstMemory that contains the merged data of @length
|
|
blocks starting at @idx. Use gst_memory_unref () after usage.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_meta" c:identifier="gst_buffer_get_meta">
|
|
<doc xml:space="preserve">Get the metadata for @api on buffer. When there is no such metadata, %NULL is
|
|
returned. If multiple metadata with the given @api are attached to this
|
|
buffer only the first one is returned. To handle multiple metadata with a
|
|
given API use gst_buffer_iterate_meta() or gst_buffer_foreach_meta() instead
|
|
and check the meta->info.api member for the API type.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the metadata for @api on
|
|
@buffer.</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType of an API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_meta" c:identifier="gst_buffer_get_n_meta" version="1.14">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">number of metas of type @api_type on @buffer.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="api_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType of an API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_reference_timestamp_meta" c:identifier="gst_buffer_get_reference_timestamp_meta" version="1.14">
|
|
<doc xml:space="preserve">Find the first #GstReferenceTimestampMeta on @buffer that conforms to
|
|
@reference. Conformance is tested by checking if the meta's reference is a
|
|
subset of @reference.
|
|
|
|
Buffers can contain multiple #GstReferenceTimestampMeta metadata items.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstReferenceTimestampMeta or %NULL when there
|
|
is no such metadata on @buffer.</doc>
|
|
<type name="ReferenceTimestampMeta" c:type="GstReferenceTimestampMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="reference" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a reference #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="gst_buffer_get_size">
|
|
<doc xml:space="preserve">Get the total size of the memory blocks in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">total size of the memory blocks in @buffer.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sizes" c:identifier="gst_buffer_get_sizes">
|
|
<doc xml:space="preserve">Get the total size of the memory blocks in @b.
|
|
|
|
When not %NULL, @offset will contain the offset of the data in the
|
|
first memory block in @buffer and @maxsize will contain the sum of
|
|
the size and @offset and the amount of extra padding on the last
|
|
memory block. @offset and @maxsize can be used to resize the
|
|
buffer memory blocks with gst_buffer_resize().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">total size of the memory blocks in @buffer.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to the offset</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to the maxsize</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sizes_range" c:identifier="gst_buffer_get_sizes_range">
|
|
<doc xml:space="preserve">Get the total size of @length memory blocks stating from @idx in @buffer.
|
|
|
|
When not %NULL, @offset will contain the offset of the data in the
|
|
memory block in @buffer at @idx and @maxsize will contain the sum of the size
|
|
and @offset and the amount of extra padding on the memory block at @idx +
|
|
@length -1.
|
|
@offset and @maxsize can be used to resize the buffer memory blocks with
|
|
gst_buffer_resize_range().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">total size of @length memory blocks starting at @idx in @buffer.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="offset" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to the offset</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to the maxsize</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_flags" c:identifier="gst_buffer_has_flags" version="1.10">
|
|
<doc xml:space="preserve">Gives the status of a specific flag on a buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if all flags in @flags are found on @buffer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBufferFlags flag to check.</doc>
|
|
<type name="BufferFlags" c:type="GstBufferFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="insert_memory" c:identifier="gst_buffer_insert_memory">
|
|
<doc xml:space="preserve">Insert the memory block @mem to @buffer at @idx. This function takes ownership
|
|
of @mem and thus doesn't increase its refcount.
|
|
|
|
Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is
|
|
added, existing memory blocks will automatically be merged to make room for
|
|
the new memory.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index to add the memory at, or -1 to append it to the end</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_all_memory_writable" c:identifier="gst_buffer_is_all_memory_writable" version="1.4">
|
|
<doc xml:space="preserve">Check if all memory blocks in @buffer are writable.
|
|
|
|
Note that this function does not check if @buffer is writable, use
|
|
gst_buffer_is_writable() to check that if needed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if all memory blocks in @buffer are writable</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_memory_range_writable" c:identifier="gst_buffer_is_memory_range_writable" version="1.4">
|
|
<doc xml:space="preserve">Check if @length memory blocks in @buffer starting from @idx are writable.
|
|
|
|
@length can be -1 to check all the memory blocks after @idx.
|
|
|
|
Note that this function does not check if @buffer is writable, use
|
|
gst_buffer_is_writable() to check that if needed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the memory range is writable</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length should not be 0</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_meta" c:identifier="gst_buffer_iterate_meta" introspectable="0">
|
|
<doc xml:space="preserve">Retrieve the next #GstMeta after @current. If @state points
|
|
to %NULL, the first metadata is returned.
|
|
|
|
@state will be updated with an opaque state pointer</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The next #GstMeta or %NULL
|
|
when there are no more items.</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" direction="out" caller-allocates="1" transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">an opaque state pointer</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_meta_filtered" c:identifier="gst_buffer_iterate_meta_filtered" version="1.12" introspectable="0">
|
|
<doc xml:space="preserve">Retrieve the next #GstMeta of type @meta_api_type after the current one
|
|
according to @state. If @state points to %NULL, the first metadata of
|
|
type @meta_api_type is returned.
|
|
|
|
@state will be updated with an opaque state pointer</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The next #GstMeta of type
|
|
@meta_api_type or %NULL when there are no more items.</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" direction="out" caller-allocates="1" transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">an opaque state pointer</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="meta_api_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">only return #GstMeta of this type</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map" c:identifier="gst_buffer_map">
|
|
<doc xml:space="preserve">This function fills @info with the #GstMapInfo of all merged memory
|
|
blocks in @buffer.
|
|
|
|
@flags describe the desired access of the memory. When @flags is
|
|
#GST_MAP_WRITE, @buffer should be writable (as returned from
|
|
gst_buffer_is_writable()).
|
|
|
|
When @buffer is writable but the memory isn't, a writable copy will
|
|
automatically be created and returned. The readonly copy of the
|
|
buffer memory will then also be replaced with this writable copy.
|
|
|
|
The memory in @info should be unmapped with gst_buffer_unmap() after
|
|
usage.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the map succeeded and @info contains valid data.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">info about the mapping</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags for the mapping</doc>
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map_range" c:identifier="gst_buffer_map_range">
|
|
<doc xml:space="preserve">This function fills @info with the #GstMapInfo of @length merged memory blocks
|
|
starting at @idx in @buffer. When @length is -1, all memory blocks starting
|
|
from @idx are merged and mapped.
|
|
|
|
@flags describe the desired access of the memory. When @flags is
|
|
#GST_MAP_WRITE, @buffer should be writable (as returned from
|
|
gst_buffer_is_writable()).
|
|
|
|
When @buffer is writable but the memory isn't, a writable copy will
|
|
automatically be created and returned. The readonly copy of the buffer memory
|
|
will then also be replaced with this writable copy.
|
|
|
|
The memory in @info should be unmapped with gst_buffer_unmap() after usage.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the map succeeded and @info contains valid
|
|
data.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="info" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">info about the mapping</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags for the mapping</doc>
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="memcmp" c:identifier="gst_buffer_memcmp">
|
|
<doc xml:space="preserve">Compare @size bytes starting from @offset in @buffer with the memory in @mem.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">0 if the memory is equal.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in @buffer</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">the memory to compare</doc>
|
|
<array length="2" zero-terminated="0" c:type="gconstpointer">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size to compare</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="memset" c:identifier="gst_buffer_memset">
|
|
<doc xml:space="preserve">Fill @buf with @size bytes with @val starting from @offset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The amount of bytes filled. This value can be lower than @size
|
|
when @buffer did not contain enough data.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset in @buffer</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to set</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size to set</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="n_memory" c:identifier="gst_buffer_n_memory">
|
|
<doc xml:space="preserve">Get the amount of memory blocks that this buffer has. This amount is never
|
|
larger than what gst_buffer_get_max_memory() returns.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of memory blocks this buffer is made of.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peek_memory" c:identifier="gst_buffer_peek_memory">
|
|
<doc xml:space="preserve">Get the memory block at @idx in @buffer. The memory block stays valid until
|
|
the memory block in @buffer is removed, replaced or merged, typically with
|
|
any call that modifies the memory in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstMemory at @idx.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="prepend_memory" c:identifier="gst_buffer_prepend_memory">
|
|
<doc xml:space="preserve">Prepend the memory block @mem to @buffer. This function takes
|
|
ownership of @mem and thus doesn't increase its refcount.
|
|
|
|
This function is identical to gst_buffer_insert_memory() with an index of 0.
|
|
See gst_buffer_insert_memory() for more details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_buffer_ref" introspectable="0">
|
|
<doc xml:space="preserve">Increases the refcount of the given buffer by one.
|
|
|
|
Note that the refcount affects the writability
|
|
of @buf and its metadata, see gst_buffer_is_writable().
|
|
It is important to note that keeping additional references to
|
|
GstBuffer instances can potentially increase the number
|
|
of memcpy operations in a pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@buf</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_all_memory" c:identifier="gst_buffer_remove_all_memory">
|
|
<doc xml:space="preserve">Remove all the memory blocks in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_memory" c:identifier="gst_buffer_remove_memory">
|
|
<doc xml:space="preserve">Remove the memory block in @b at index @i.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_memory_range" c:identifier="gst_buffer_remove_memory_range">
|
|
<doc xml:space="preserve">Remove @length memory blocks in @buffer starting from @idx.
|
|
|
|
@length can be -1, in which case all memory starting from @idx is removed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_meta" c:identifier="gst_buffer_remove_meta">
|
|
<doc xml:space="preserve">Remove the metadata for @meta on @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the metadata existed and was removed, %FALSE if no such
|
|
metadata was on @buffer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="replace_all_memory" c:identifier="gst_buffer_replace_all_memory">
|
|
<doc xml:space="preserve">Replaces all memory in @buffer with @mem.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="replace_memory" c:identifier="gst_buffer_replace_memory">
|
|
<doc xml:space="preserve">Replaces the memory block at index @idx in @buffer with @mem.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="replace_memory_range" c:identifier="gst_buffer_replace_memory_range">
|
|
<doc xml:space="preserve">Replaces @length memory blocks in @buffer starting at @idx with @mem.
|
|
|
|
If @length is -1, all memory starting from @idx will be removed and
|
|
replaced with @mem.
|
|
|
|
@buffer should be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length should not be 0</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="resize" c:identifier="gst_buffer_resize">
|
|
<doc xml:space="preserve">Set the offset and total size of the memory blocks in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset adjustment</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new size or -1 to just adjust the offset</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="resize_range" c:identifier="gst_buffer_resize_range">
|
|
<doc xml:space="preserve">Set the total size of the @length memory blocks starting at @idx in
|
|
@buffer</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if resizing succeeded, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">an index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">a length</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset adjustment</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new size or -1 to just adjust the offset</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_flags" c:identifier="gst_buffer_set_flags" version="1.10">
|
|
<doc xml:space="preserve">Sets one or more buffer flags on a buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @flags were successfully set on buffer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBufferFlags to set.</doc>
|
|
<type name="BufferFlags" c:type="GstBufferFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_size" c:identifier="gst_buffer_set_size">
|
|
<doc xml:space="preserve">Set the total size of the memory blocks in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new size</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unmap" c:identifier="gst_buffer_unmap">
|
|
<doc xml:space="preserve">Release the memory previously mapped with gst_buffer_map().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_buffer_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decreases the refcount of the buffer. If the refcount reaches 0, the buffer
|
|
with the associated metadata and memory will be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBuffer.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unset_flags" c:identifier="gst_buffer_unset_flags" version="1.10">
|
|
<doc xml:space="preserve">Clears one or more buffer flags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">true if @flags is successfully cleared from buffer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBufferFlags to clear</doc>
|
|
<type name="BufferFlags" c:type="GstBufferFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_max_memory" c:identifier="gst_buffer_get_max_memory" version="1.2">
|
|
<doc xml:space="preserve">Get the maximum amount of memory blocks that a buffer can hold. This is a
|
|
compile time constant that can be queried with the function.
|
|
|
|
When more memory blocks are added, existing memory blocks will be merged
|
|
together to make room for the new block.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of memory blocks that a buffer can hold.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="replace" c:identifier="gst_buffer_replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstBuffer to point to a different #GstBuffer. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
buffer is unreffed, the new is reffed).
|
|
|
|
Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @obuf was different from @nbuf.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="obuf" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer to
|
|
a #GstBuffer to be replaced.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="nbuf" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstBuffer that will
|
|
replace the buffer pointed to by @obuf.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="BufferCopyFlags" glib:type-name="GstBufferCopyFlags" glib:get-type="gst_buffer_copy_flags_get_type" c:type="GstBufferCopyFlags">
|
|
<doc xml:space="preserve">A set of flags that can be provided to the gst_buffer_copy_into()
|
|
function to specify which items should be copied.</doc>
|
|
<member name="none" value="0" c:identifier="GST_BUFFER_COPY_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">copy nothing</doc>
|
|
</member>
|
|
<member name="flags" value="1" c:identifier="GST_BUFFER_COPY_FLAGS" glib:nick="flags">
|
|
<doc xml:space="preserve">flag indicating that buffer flags should be copied</doc>
|
|
</member>
|
|
<member name="timestamps" value="2" c:identifier="GST_BUFFER_COPY_TIMESTAMPS" glib:nick="timestamps">
|
|
<doc xml:space="preserve">flag indicating that buffer pts, dts,
|
|
duration, offset and offset_end should be copied</doc>
|
|
</member>
|
|
<member name="meta" value="4" c:identifier="GST_BUFFER_COPY_META" glib:nick="meta">
|
|
<doc xml:space="preserve">flag indicating that buffer meta should be
|
|
copied</doc>
|
|
</member>
|
|
<member name="memory" value="8" c:identifier="GST_BUFFER_COPY_MEMORY" glib:nick="memory">
|
|
<doc xml:space="preserve">flag indicating that buffer memory should be reffed
|
|
and appended to already existing memory. Unless the memory is marked as
|
|
NO_SHARE, no actual copy of the memory is made but it is simply reffed.
|
|
Add @GST_BUFFER_COPY_DEEP to force a real copy.</doc>
|
|
</member>
|
|
<member name="merge" value="16" c:identifier="GST_BUFFER_COPY_MERGE" glib:nick="merge">
|
|
<doc xml:space="preserve">flag indicating that buffer memory should be
|
|
merged</doc>
|
|
</member>
|
|
<member name="deep" value="32" c:identifier="GST_BUFFER_COPY_DEEP" glib:nick="deep">
|
|
<doc xml:space="preserve">flag indicating that memory should always be
|
|
copied instead of reffed (Since: 1.2)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<bitfield name="BufferFlags" glib:type-name="GstBufferFlags" glib:get-type="gst_buffer_flags_get_type" c:type="GstBufferFlags">
|
|
<doc xml:space="preserve">A set of buffer flags used to describe properties of a #GstBuffer.</doc>
|
|
<member name="live" value="16" c:identifier="GST_BUFFER_FLAG_LIVE" glib:nick="live">
|
|
<doc xml:space="preserve">the buffer is live data and should be discarded in
|
|
the PAUSED state.</doc>
|
|
</member>
|
|
<member name="decode_only" value="32" c:identifier="GST_BUFFER_FLAG_DECODE_ONLY" glib:nick="decode-only">
|
|
<doc xml:space="preserve">the buffer contains data that should be dropped
|
|
because it will be clipped against the segment
|
|
boundaries or because it does not contain data
|
|
that should be shown to the user.</doc>
|
|
</member>
|
|
<member name="discont" value="64" c:identifier="GST_BUFFER_FLAG_DISCONT" glib:nick="discont">
|
|
<doc xml:space="preserve">the buffer marks a data discontinuity in the stream.
|
|
This typically occurs after a seek or a dropped buffer
|
|
from a live or network source.</doc>
|
|
</member>
|
|
<member name="resync" value="128" c:identifier="GST_BUFFER_FLAG_RESYNC" glib:nick="resync">
|
|
<doc xml:space="preserve">the buffer timestamps might have a discontinuity
|
|
and this buffer is a good point to resynchronize.</doc>
|
|
</member>
|
|
<member name="corrupted" value="256" c:identifier="GST_BUFFER_FLAG_CORRUPTED" glib:nick="corrupted">
|
|
<doc xml:space="preserve">the buffer data is corrupted.</doc>
|
|
</member>
|
|
<member name="marker" value="512" c:identifier="GST_BUFFER_FLAG_MARKER" glib:nick="marker">
|
|
<doc xml:space="preserve">the buffer contains a media specific marker. for
|
|
video this is the end of a frame boundary, for audio
|
|
this is the start of a talkspurt.</doc>
|
|
</member>
|
|
<member name="header" value="1024" c:identifier="GST_BUFFER_FLAG_HEADER" glib:nick="header">
|
|
<doc xml:space="preserve">the buffer contains header information that is
|
|
needed to decode the following data.</doc>
|
|
</member>
|
|
<member name="gap" value="2048" c:identifier="GST_BUFFER_FLAG_GAP" glib:nick="gap">
|
|
<doc xml:space="preserve">the buffer has been created to fill a gap in the
|
|
stream and contains media neutral data (elements can
|
|
switch to optimized code path that ignores the buffer
|
|
content).</doc>
|
|
</member>
|
|
<member name="droppable" value="4096" c:identifier="GST_BUFFER_FLAG_DROPPABLE" glib:nick="droppable">
|
|
<doc xml:space="preserve">the buffer can be dropped without breaking the
|
|
stream, for example to reduce bandwidth.</doc>
|
|
</member>
|
|
<member name="delta_unit" value="8192" c:identifier="GST_BUFFER_FLAG_DELTA_UNIT" glib:nick="delta-unit">
|
|
<doc xml:space="preserve">this unit cannot be decoded independently.</doc>
|
|
</member>
|
|
<member name="tag_memory" value="16384" c:identifier="GST_BUFFER_FLAG_TAG_MEMORY" glib:nick="tag-memory">
|
|
<doc xml:space="preserve">this flag is set when memory of the buffer
|
|
is added/removed</doc>
|
|
</member>
|
|
<member name="sync_after" value="32768" c:identifier="GST_BUFFER_FLAG_SYNC_AFTER" glib:nick="sync-after">
|
|
<doc xml:space="preserve">Elements which write to disk or permanent
|
|
storage should ensure the data is synced after
|
|
writing the contents of this buffer. (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="non_droppable" value="65536" c:identifier="GST_BUFFER_FLAG_NON_DROPPABLE" glib:nick="non-droppable">
|
|
<doc xml:space="preserve">This buffer is important and should not be dropped.
|
|
This can be used to mark important buffers, e.g. to flag
|
|
RTP packets carrying keyframes or codec setup data for RTP
|
|
Forward Error Correction purposes, or to prevent still video
|
|
frames from being dropped by elements due to QoS. (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="last" value="1048576" c:identifier="GST_BUFFER_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">additional media specific flags can be added starting from
|
|
this flag.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="BufferForeachMetaFunc" c:type="GstBufferForeachMetaFunc">
|
|
<doc xml:space="preserve">A function that will be called from gst_buffer_foreach_meta(). The @meta
|
|
field will point to a the reference of the meta.
|
|
|
|
@buffer should not be modified from this callback.
|
|
|
|
When this function returns %TRUE, the next meta will be
|
|
returned. When %FALSE is returned, gst_buffer_foreach_meta() will return.
|
|
|
|
When @meta is set to %NULL, the item will be removed from the buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE when gst_buffer_foreach_meta() should stop</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="meta" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a pointer to a #GstMeta</doc>
|
|
<type name="Meta" c:type="GstMeta**"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data passed to gst_buffer_foreach_meta()</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="BufferList" c:type="GstBufferList" glib:type-name="GstBufferList" glib:get-type="gst_buffer_list_get_type" c:symbol-prefix="buffer_list">
|
|
<doc xml:space="preserve">Buffer lists are an object containing a list of buffers.
|
|
|
|
Buffer lists are created with gst_buffer_list_new() and filled with data
|
|
using a gst_buffer_list_insert().
|
|
|
|
Buffer lists can be pushed on a srcpad with gst_pad_push_list(). This is
|
|
interesting when multiple buffers need to be pushed in one go because it
|
|
can reduce the amount of overhead for pushing each buffer individually.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_buffer_list_new">
|
|
<doc xml:space="preserve">Creates a new, empty #GstBufferList. The caller is responsible for unreffing
|
|
the returned #GstBufferList.
|
|
|
|
Free-function: gst_buffer_list_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstBufferList. gst_buffer_list_unref()
|
|
after usage.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_sized" c:identifier="gst_buffer_list_new_sized">
|
|
<doc xml:space="preserve">Creates a new, empty #GstBufferList. The caller is responsible for unreffing
|
|
the returned #GstBufferList. The list will have @size space preallocated so
|
|
that memory reallocations can be avoided.
|
|
|
|
Free-function: gst_buffer_list_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstBufferList. gst_buffer_list_unref()
|
|
after usage.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">an initial reserved size</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="calculate_size" c:identifier="gst_buffer_list_calculate_size" version="1.14">
|
|
<doc xml:space="preserve">Calculates the size of the data contained in buffer list by adding the
|
|
size of all buffers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the data contained in buffer list in bytes.</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_buffer_list_copy" introspectable="0">
|
|
<doc xml:space="preserve">Create a shallow copy of the given buffer list. This will make a newly
|
|
allocated copy of the source list with copies of buffer pointers. The
|
|
refcount of buffers pointed to will be increased by one.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @list.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="const GstBufferList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_deep" c:identifier="gst_buffer_list_copy_deep" version="1.6">
|
|
<doc xml:space="preserve">Create a copy of the given buffer list. This will make a newly allocated
|
|
copy of the buffer that the source buffer list contains.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @list.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="const GstBufferList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach" c:identifier="gst_buffer_list_foreach">
|
|
<doc xml:space="preserve">Call @func with @data for each buffer in @list.
|
|
|
|
@func can modify the passed buffer pointer or its contents. The return value
|
|
of @func define if this function returns or if the remaining buffers in
|
|
the list should be skipped.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @func returned %TRUE for each buffer in @list or when
|
|
@list is empty.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a #GstBufferListFunc to call</doc>
|
|
<type name="BufferListFunc" c:type="GstBufferListFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get" c:identifier="gst_buffer_list_get">
|
|
<doc xml:space="preserve">Get the buffer at @idx.
|
|
|
|
You must make sure that @idx does not exceed the number of
|
|
buffers available.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the buffer at @idx in @group
|
|
or %NULL when there is no buffer. The buffer remains valid as
|
|
long as @list is valid and buffer is not removed from the list.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_writable" c:identifier="gst_buffer_list_get_writable" version="1.14">
|
|
<doc xml:space="preserve">Gets the buffer at @idx, ensuring it is a writable buffer.
|
|
|
|
You must make sure that @idx does not exceed the number of
|
|
buffers available.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the buffer at @idx in @group.
|
|
The returned buffer remains valid as long as @list is valid and
|
|
the buffer is not removed from the list.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a (writable) #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="insert" c:identifier="gst_buffer_list_insert">
|
|
<doc xml:space="preserve">Insert @buffer at @idx in @list. Other buffers are moved to make room for
|
|
this new buffer.
|
|
|
|
A -1 value for @idx will append the buffer at the end.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="length" c:identifier="gst_buffer_list_length">
|
|
<doc xml:space="preserve">Returns the number of buffers in @list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of buffers in the buffer list</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_buffer_list_ref" introspectable="0">
|
|
<doc xml:space="preserve">Increases the refcount of the given buffer list by one.
|
|
|
|
Note that the refcount affects the writability of @list and its data, see
|
|
gst_buffer_list_make_writable(). It is important to note that keeping
|
|
additional references to GstBufferList instances can potentially increase
|
|
the number of memcpy operations in a pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@list</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove" c:identifier="gst_buffer_list_remove">
|
|
<doc xml:space="preserve">Remove @length buffers starting from @idx in @list. The following buffers
|
|
are moved to close the gap.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount to remove</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_buffer_list_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decreases the refcount of the buffer list. If the refcount reaches 0, the
|
|
buffer list will be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="BufferListFunc" c:type="GstBufferListFunc">
|
|
<doc xml:space="preserve">A function that will be called from gst_buffer_list_foreach(). The @buffer
|
|
field will point to a the reference of the buffer at @idx.
|
|
|
|
When this function returns %TRUE, the next buffer will be
|
|
returned. When %FALSE is returned, gst_buffer_list_foreach() will return.
|
|
|
|
When @buffer is set to %NULL, the item will be removed from the bufferlist.
|
|
When @buffer has been made writable, the new buffer reference can be assigned
|
|
to @buffer. This function is responsible for unreffing the old buffer when
|
|
removing or modifying.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE when gst_buffer_list_foreach() should stop</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">pointer the buffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of @buffer</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data passed to gst_buffer_list_foreach()</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="BufferPool" c:symbol-prefix="buffer_pool" c:type="GstBufferPool" parent="Object" glib:type-name="GstBufferPool" glib:get-type="gst_buffer_pool_get_type" glib:type-struct="BufferPoolClass">
|
|
<doc xml:space="preserve">A #GstBufferPool is an object that can be used to pre-allocate and recycle
|
|
buffers of the same size and with the same properties.
|
|
|
|
A #GstBufferPool is created with gst_buffer_pool_new().
|
|
|
|
Once a pool is created, it needs to be configured. A call to
|
|
gst_buffer_pool_get_config() returns the current configuration structure from
|
|
the pool. With gst_buffer_pool_config_set_params() and
|
|
gst_buffer_pool_config_set_allocator() the bufferpool parameters and
|
|
allocator can be configured. Other properties can be configured in the pool
|
|
depending on the pool implementation.
|
|
|
|
A bufferpool can have extra options that can be enabled with
|
|
gst_buffer_pool_config_add_option(). The available options can be retrieved
|
|
with gst_buffer_pool_get_options(). Some options allow for additional
|
|
configuration properties to be set.
|
|
|
|
After the configuration structure has been configured,
|
|
gst_buffer_pool_set_config() updates the configuration in the pool. This can
|
|
fail when the configuration structure is not accepted.
|
|
|
|
After the a pool has been configured, it can be activated with
|
|
gst_buffer_pool_set_active(). This will preallocate the configured resources
|
|
in the pool.
|
|
|
|
When the pool is active, gst_buffer_pool_acquire_buffer() can be used to
|
|
retrieve a buffer from the pool.
|
|
|
|
Buffers allocated from a bufferpool will automatically be returned to the
|
|
pool with gst_buffer_pool_release_buffer() when their refcount drops to 0.
|
|
|
|
The bufferpool can be deactivated again with gst_buffer_pool_set_active().
|
|
All further gst_buffer_pool_acquire_buffer() calls will return an error. When
|
|
all buffers are returned to the pool they will be freed.
|
|
|
|
Use gst_object_unref() to release the reference to a bufferpool. If the
|
|
refcount of the pool reaches 0, the pool will be freed.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_buffer_pool_new">
|
|
<doc xml:space="preserve">Creates a new #GstBufferPool instance.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBufferPool instance</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<function name="config_add_option" c:identifier="gst_buffer_pool_config_add_option">
|
|
<doc xml:space="preserve">Enabled the option in @config. This will instruct the @bufferpool to enable
|
|
the specified option on the buffers that it allocates.
|
|
|
|
The supported options by @pool can be retrieved with gst_buffer_pool_get_options().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="option" transfer-ownership="none">
|
|
<doc xml:space="preserve">an option to add</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_get_allocator" c:identifier="gst_buffer_pool_config_get_allocator">
|
|
<doc xml:space="preserve">Get the @allocator and @params from @config.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the values are set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="allocator" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocator, or %NULL</doc>
|
|
<type name="Allocator" c:type="GstAllocator**"/>
|
|
</parameter>
|
|
<parameter name="params" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">#GstAllocationParams, or %NULL</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_get_option" c:identifier="gst_buffer_pool_config_get_option">
|
|
<doc xml:space="preserve">Parse an available @config and get the option at @index of the options API
|
|
array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gchar of the option at @index.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the option array to read</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_get_params" c:identifier="gst_buffer_pool_config_get_params">
|
|
<doc xml:space="preserve">Get the configuration values from @config.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if all parameters could be fetched.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="caps" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the caps of buffers</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the size of each buffer, not including prefix and padding</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="min_buffers" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the minimum amount of buffers to allocate.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="max_buffers" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the maximum amount of buffers to allocate or 0 for unlimited.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_has_option" c:identifier="gst_buffer_pool_config_has_option">
|
|
<doc xml:space="preserve">Check if @config contains @option.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the options array contains @option.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="option" transfer-ownership="none">
|
|
<doc xml:space="preserve">an option</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_n_options" c:identifier="gst_buffer_pool_config_n_options">
|
|
<doc xml:space="preserve">Retrieve the number of values currently stored in the options array of the
|
|
@config structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the options array size as a #guint.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_set_allocator" c:identifier="gst_buffer_pool_config_set_allocator">
|
|
<doc xml:space="preserve">Set the @allocator and @params on @config.
|
|
|
|
One of @allocator and @params can be %NULL, but not both. When @allocator
|
|
is %NULL, the default allocator of the pool will use the values in @param
|
|
to perform its allocation. When @param is %NULL, the pool will use the
|
|
provided @allocator with its default #GstAllocationParams.
|
|
|
|
A call to gst_buffer_pool_set_config() can update the allocator and params
|
|
with the values that it is able to do. Some pools are, for example, not able
|
|
to operate with different allocators or cannot allocate with the values
|
|
specified in @params. Use gst_buffer_pool_get_config() to get the currently
|
|
used values.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">#GstAllocationParams</doc>
|
|
<type name="AllocationParams" c:type="const GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_set_params" c:identifier="gst_buffer_pool_config_set_params">
|
|
<doc xml:space="preserve">Configure @config with the given parameters.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">caps for the buffers</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of each buffer, not including prefix and padding</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum amount of buffers to allocate.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="max_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of buffers to allocate or 0 for unlimited.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="config_validate_params" c:identifier="gst_buffer_pool_config_validate_params" version="1.4">
|
|
<doc xml:space="preserve">Validate that changes made to @config are still valid in the context of the
|
|
expected parameters. This function is a helper that can be used to validate
|
|
changes made by a pool to a config when gst_buffer_pool_set_config()
|
|
returns %FALSE. This expects that @caps haven't changed and that
|
|
@min_buffers aren't lower then what we initially expected.
|
|
This does not check if options or allocator parameters are still valid,
|
|
won't check if size have changed, since changing the size is valid to adapt
|
|
padding.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the parameters are valid in this context.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool configuration</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the excepted caps of buffers</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the expected size of each buffer, not including prefix and padding</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the expected minimum amount of buffers to allocate.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="max_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the expect maximum amount of buffers to allocate or 0 for unlimited.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="acquire_buffer" invoker="acquire_buffer">
|
|
<doc xml:space="preserve">Acquire a buffer from @pool. @buffer should point to a memory location that
|
|
can hold a pointer to the new buffer.
|
|
|
|
@params can be %NULL or contain optional parameters to influence the
|
|
allocation.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
|
|
inactive.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a location for a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameters.</doc>
|
|
<type name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="alloc_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none">
|
|
<type name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="flush_start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="flush_stop">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="free_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_options" invoker="get_options">
|
|
<doc xml:space="preserve">Get a %NULL terminated array of string with supported bufferpool options for
|
|
@pool. An option would typically be enabled with
|
|
gst_buffer_pool_config_add_option().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a %NULL terminated array
|
|
of strings.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="release_buffer" invoker="release_buffer">
|
|
<doc xml:space="preserve">Release @buffer to @pool. @buffer should have previously been allocated from
|
|
@pool with gst_buffer_pool_acquire_buffer().
|
|
|
|
This function is usually called automatically when the last ref on @buffer
|
|
disappears.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="reset_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_config" invoker="set_config">
|
|
<doc xml:space="preserve">Set the configuration of the pool. If the pool is already configured, and
|
|
the configuration haven't change, this function will return %TRUE. If the
|
|
pool is active, this method will return %FALSE and active configuration
|
|
will remain. Buffers allocated form this pool must be returned or else this
|
|
function will do nothing and return %FALSE.
|
|
|
|
@config is a #GstStructure that contains the configuration parameters for
|
|
the pool. A default and mandatory set of parameters can be configured with
|
|
gst_buffer_pool_config_set_params(), gst_buffer_pool_config_set_allocator()
|
|
and gst_buffer_pool_config_add_option().
|
|
|
|
If the parameters in @config can not be set exactly, this function returns
|
|
%FALSE and will try to update as much state as possible. The new state can
|
|
then be retrieved and refined with gst_buffer_pool_get_config().
|
|
|
|
This function takes ownership of @config.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when the configuration could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="stop">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="acquire_buffer" c:identifier="gst_buffer_pool_acquire_buffer">
|
|
<doc xml:space="preserve">Acquire a buffer from @pool. @buffer should point to a memory location that
|
|
can hold a pointer to the new buffer.
|
|
|
|
@params can be %NULL or contain optional parameters to influence the
|
|
allocation.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
|
|
inactive.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a location for a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameters.</doc>
|
|
<type name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_config" c:identifier="gst_buffer_pool_get_config">
|
|
<doc xml:space="preserve">Get a copy of the current configuration of the pool. This configuration
|
|
can either be modified and used for the gst_buffer_pool_set_config() call
|
|
or it must be freed after usage.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a copy of the current configuration of @pool. use
|
|
gst_structure_free() after usage or gst_buffer_pool_set_config().</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_options" c:identifier="gst_buffer_pool_get_options">
|
|
<doc xml:space="preserve">Get a %NULL terminated array of string with supported bufferpool options for
|
|
@pool. An option would typically be enabled with
|
|
gst_buffer_pool_config_add_option().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a %NULL terminated array
|
|
of strings.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_option" c:identifier="gst_buffer_pool_has_option">
|
|
<doc xml:space="preserve">Check if the bufferpool supports @option.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the buffer pool contains @option.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="option" transfer-ownership="none">
|
|
<doc xml:space="preserve">an option</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_active" c:identifier="gst_buffer_pool_is_active">
|
|
<doc xml:space="preserve">Check if @pool is active. A pool can be activated with the
|
|
gst_buffer_pool_set_active() call.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when the pool is active.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="release_buffer" c:identifier="gst_buffer_pool_release_buffer">
|
|
<doc xml:space="preserve">Release @buffer to @pool. @buffer should have previously been allocated from
|
|
@pool with gst_buffer_pool_acquire_buffer().
|
|
|
|
This function is usually called automatically when the last ref on @buffer
|
|
disappears.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_active" c:identifier="gst_buffer_pool_set_active">
|
|
<doc xml:space="preserve">Control the active state of @pool. When the pool is inactive, new calls to
|
|
gst_buffer_pool_acquire_buffer() will return with %GST_FLOW_FLUSHING.
|
|
|
|
Activating the bufferpool will preallocate all resources in the pool based on
|
|
the configuration of the pool.
|
|
|
|
Deactivating will free the resources again when there are no outstanding
|
|
buffers. When there are outstanding buffers, they will be freed as soon as
|
|
they are all returned to the pool.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE when the pool was not configured or when preallocation of the
|
|
buffers failed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new active state</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_config" c:identifier="gst_buffer_pool_set_config">
|
|
<doc xml:space="preserve">Set the configuration of the pool. If the pool is already configured, and
|
|
the configuration haven't change, this function will return %TRUE. If the
|
|
pool is active, this method will return %FALSE and active configuration
|
|
will remain. Buffers allocated form this pool must be returned or else this
|
|
function will do nothing and return %FALSE.
|
|
|
|
@config is a #GstStructure that contains the configuration parameters for
|
|
the pool. A default and mandatory set of parameters can be configured with
|
|
gst_buffer_pool_config_set_params(), gst_buffer_pool_config_set_allocator()
|
|
and gst_buffer_pool_config_add_option().
|
|
|
|
If the parameters in @config can not be set exactly, this function returns
|
|
%FALSE and will try to update as much state as possible. The new state can
|
|
then be retrieved and refined with gst_buffer_pool_get_config().
|
|
|
|
This function takes ownership of @config.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when the configuration could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_flushing" c:identifier="gst_buffer_pool_set_flushing" version="1.4">
|
|
<doc xml:space="preserve">Enable or disable the flushing state of a @pool without freeing or
|
|
allocating buffers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="flushing" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to start or stop flushing</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="flushing">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="BufferPoolPrivate" c:type="GstBufferPoolPrivate*"/>
|
|
</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>
|
|
<bitfield name="BufferPoolAcquireFlags" glib:type-name="GstBufferPoolAcquireFlags" glib:get-type="gst_buffer_pool_acquire_flags_get_type" c:type="GstBufferPoolAcquireFlags">
|
|
<doc xml:space="preserve">Additional flags to control the allocation of a buffer</doc>
|
|
<member name="none" value="0" c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="key_unit" value="1" c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT" glib:nick="key-unit">
|
|
<doc xml:space="preserve">buffer is keyframe</doc>
|
|
</member>
|
|
<member name="dontwait" value="2" c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT" glib:nick="dontwait">
|
|
<doc xml:space="preserve">when the bufferpool is empty, acquire_buffer
|
|
will by default block until a buffer is released into the pool again. Setting
|
|
this flag makes acquire_buffer return #GST_FLOW_EOS instead of blocking.</doc>
|
|
</member>
|
|
<member name="discont" value="4" c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT" glib:nick="discont">
|
|
<doc xml:space="preserve">buffer is discont</doc>
|
|
</member>
|
|
<member name="last" value="65536" c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">last flag, subclasses can use private flags
|
|
starting from this value.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams">
|
|
<doc xml:space="preserve">Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the
|
|
allocation of the buffer.
|
|
|
|
The default implementation ignores the @start and @stop members but other
|
|
implementations can use this extra information to decide what buffer to
|
|
return.</doc>
|
|
|
|
<field name="format" writable="1">
|
|
<doc xml:space="preserve">the format of @start and @stop</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</field>
|
|
<field name="start" writable="1">
|
|
<doc xml:space="preserve">the start position</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</field>
|
|
<field name="stop" writable="1">
|
|
<doc xml:space="preserve">the stop position</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">additional flags</doc>
|
|
<type name="BufferPoolAcquireFlags" c:type="GstBufferPoolAcquireFlags"/>
|
|
</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>
|
|
<record name="BufferPoolClass" c:type="GstBufferPoolClass" glib:is-gtype-struct-for="BufferPool">
|
|
<doc xml:space="preserve">The GstBufferPool class.</doc>
|
|
|
|
<field name="object_class">
|
|
<doc xml:space="preserve">Object parent class</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="get_options">
|
|
<callback name="get_options">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a %NULL terminated array
|
|
of strings.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_config">
|
|
<callback name="set_config">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when the configuration could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="start">
|
|
<callback name="start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="stop">
|
|
<callback name="stop">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="acquire_buffer">
|
|
<callback name="acquire_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
|
|
inactive.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a location for a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameters.</doc>
|
|
<type name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="alloc_buffer">
|
|
<callback name="alloc_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none">
|
|
<type name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="reset_buffer">
|
|
<callback name="reset_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="release_buffer">
|
|
<callback name="release_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="free_buffer">
|
|
<callback name="free_buffer">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="flush_start">
|
|
<callback name="flush_start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="flush_stop">
|
|
<callback name="flush_stop">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="2">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="BufferPoolPrivate" c:type="GstBufferPoolPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="BufferingMode" glib:type-name="GstBufferingMode" glib:get-type="gst_buffering_mode_get_type" c:type="GstBufferingMode">
|
|
<doc xml:space="preserve">The different types of buffering methods.</doc>
|
|
<member name="stream" value="0" c:identifier="GST_BUFFERING_STREAM" glib:nick="stream">
|
|
<doc xml:space="preserve">a small amount of data is buffered</doc>
|
|
</member>
|
|
<member name="download" value="1" c:identifier="GST_BUFFERING_DOWNLOAD" glib:nick="download">
|
|
<doc xml:space="preserve">the stream is being downloaded</doc>
|
|
</member>
|
|
<member name="timeshift" value="2" c:identifier="GST_BUFFERING_TIMESHIFT" glib:nick="timeshift">
|
|
<doc xml:space="preserve">the stream is being downloaded in a ringbuffer</doc>
|
|
</member>
|
|
<member name="live" value="3" c:identifier="GST_BUFFERING_LIVE" glib:nick="live">
|
|
<doc xml:space="preserve">the stream is a live stream</doc>
|
|
</member>
|
|
</enumeration>
|
|
<class name="Bus" c:symbol-prefix="bus" c:type="GstBus" parent="Object" glib:type-name="GstBus" glib:get-type="gst_bus_get_type" glib:type-struct="BusClass">
|
|
<doc xml:space="preserve">The #GstBus is an object responsible for delivering #GstMessage packets in
|
|
a first-in first-out way from the streaming threads (see #GstTask) to the
|
|
application.
|
|
|
|
Since the application typically only wants to deal with delivery of these
|
|
messages from one thread, the GstBus will marshall the messages between
|
|
different threads. This is important since the actual streaming of media
|
|
is done in another thread than the application.
|
|
|
|
The GstBus provides support for #GSource based notifications. This makes it
|
|
possible to handle the delivery in the glib mainloop.
|
|
|
|
The #GSource callback function gst_bus_async_signal_func() can be used to
|
|
convert all bus messages into signal emissions.
|
|
|
|
A message is posted on the bus with the gst_bus_post() method. With the
|
|
gst_bus_peek() and gst_bus_pop() methods one can look at or retrieve a
|
|
previously posted message.
|
|
|
|
The bus can be polled with the gst_bus_poll() method. This methods blocks
|
|
up to the specified timeout value until one of the specified messages types
|
|
is posted on the bus. The application can then gst_bus_pop() the messages
|
|
from the bus to handle them.
|
|
Alternatively the application can register an asynchronous bus function
|
|
using gst_bus_add_watch_full() or gst_bus_add_watch(). This function will
|
|
install a #GSource in the default glib main loop and will deliver messages
|
|
a short while after they have been posted. Note that the main loop should
|
|
be running for the asynchronous callbacks.
|
|
|
|
It is also possible to get messages from the bus without any thread
|
|
marshalling with the gst_bus_set_sync_handler() method. This makes it
|
|
possible to react to a message in the same thread that posted the
|
|
message on the bus. This should only be used if the application is able
|
|
to deal with messages from different threads.
|
|
|
|
Every #GstPipeline has one bus.
|
|
|
|
Note that a #GstPipeline will set its bus into flushing state when changing
|
|
from READY to NULL state.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_bus_new">
|
|
<doc xml:space="preserve">Creates a new #GstBus instance.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBus instance</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<virtual-method name="message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sync_message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_signal_watch" c:identifier="gst_bus_add_signal_watch">
|
|
<doc xml:space="preserve">Adds a bus signal watch to the default main context with the default priority
|
|
(%G_PRIORITY_DEFAULT). It is also possible to use a non-default
|
|
main context set up using g_main_context_push_thread_default() (before
|
|
one had to create a bus watch source and attach it to the desired main
|
|
context 'manually').
|
|
|
|
After calling this statement, the bus will emit the "message" signal for each
|
|
message posted on the bus.
|
|
|
|
This function may be called multiple times. To clean up, the caller is
|
|
responsible for calling gst_bus_remove_signal_watch() as many times as this
|
|
function is called.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus on which you want to receive the "message" signal</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_signal_watch_full" c:identifier="gst_bus_add_signal_watch_full">
|
|
<doc xml:space="preserve">Adds a bus signal watch to the default main context with the given @priority
|
|
(e.g. %G_PRIORITY_DEFAULT). It is also possible to use a non-default main
|
|
context set up using g_main_context_push_thread_default()
|
|
(before one had to create a bus watch source and attach it to the desired
|
|
main context 'manually').
|
|
|
|
After calling this statement, the bus will emit the "message" signal for each
|
|
message posted on the bus when the main loop is running.
|
|
|
|
This function may be called multiple times. To clean up, the caller is
|
|
responsible for calling gst_bus_remove_signal_watch() as many times as this
|
|
function is called.
|
|
|
|
There can only be a single bus watch per bus, you must remove any signal
|
|
watch before you can set another type of watch.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus on which you want to receive the "message" signal</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="priority" transfer-ownership="none">
|
|
<doc xml:space="preserve">The priority of the watch.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_watch" c:identifier="gst_bus_add_watch" shadowed-by="add_watch_full" introspectable="0">
|
|
<doc xml:space="preserve">Adds a bus watch to the default main context with the default priority
|
|
(%G_PRIORITY_DEFAULT). It is also possible to use a non-default main
|
|
context set up using g_main_context_push_thread_default() (before
|
|
one had to create a bus watch source and attach it to the desired main
|
|
context 'manually').
|
|
|
|
This function is used to receive asynchronous messages in the main loop.
|
|
There can only be a single bus watch per bus, you must remove it before you
|
|
can set a new one.
|
|
|
|
The bus watch will only work if a GLib main loop is being run.
|
|
|
|
The watch can be removed using gst_bus_remove_watch() or by returning %FALSE
|
|
from @func. If the watch was added to the default main context it is also
|
|
possible to remove the watch using g_source_remove().
|
|
|
|
The bus watch will take its own reference to the @bus, so it is safe to unref
|
|
@bus using gst_object_unref() after setting the bus watch.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The event source id or 0 if @bus already got an event source.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to create the watch for</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" closure="1">
|
|
<doc xml:space="preserve">A function to call when a message is received.</doc>
|
|
<type name="BusFunc" c:type="GstBusFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_watch_full" c:identifier="gst_bus_add_watch_full" shadows="add_watch">
|
|
<doc xml:space="preserve">Adds a bus watch to the default main context with the given @priority (e.g.
|
|
%G_PRIORITY_DEFAULT). It is also possible to use a non-default main
|
|
context set up using g_main_context_push_thread_default() (before
|
|
one had to create a bus watch source and attach it to the desired main
|
|
context 'manually').
|
|
|
|
This function is used to receive asynchronous messages in the main loop.
|
|
There can only be a single bus watch per bus, you must remove it before you
|
|
can set a new one.
|
|
|
|
The bus watch will only work if a GLib main loop is being run.
|
|
|
|
When @func is called, the message belongs to the caller; if you want to
|
|
keep a copy of it, call gst_message_ref() before leaving @func.
|
|
|
|
The watch can be removed using gst_bus_remove_watch() or by returning %FALSE
|
|
from @func. If the watch was added to the default main context it is also
|
|
possible to remove the watch using g_source_remove().
|
|
|
|
The bus watch will take its own reference to the @bus, so it is safe to unref
|
|
@bus using gst_object_unref() after setting the bus watch.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The event source id or 0 if @bus already got an event source.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to create the watch for.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="priority" transfer-ownership="none">
|
|
<doc xml:space="preserve">The priority of the watch.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3">
|
|
<doc xml:space="preserve">A function to call when a message is received.</doc>
|
|
<type name="BusFunc" c:type="GstBusFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">the function to call when the source is removed.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="async_signal_func" c:identifier="gst_bus_async_signal_func">
|
|
<doc xml:space="preserve">A helper #GstBusFunc that can be used to convert all asynchronous messages
|
|
into signals.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessage received</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create_watch" c:identifier="gst_bus_create_watch">
|
|
<doc xml:space="preserve">Create watch for this bus. The GSource will be dispatched whenever
|
|
a message is on the bus. After the GSource is dispatched, the
|
|
message is popped off the bus and unreffed.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GSource that can be added to a mainloop.</doc>
|
|
<type name="GLib.Source" c:type="GSource*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to create the watch for</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="disable_sync_message_emission" c:identifier="gst_bus_disable_sync_message_emission">
|
|
<doc xml:space="preserve">Instructs GStreamer to stop emitting the "sync-message" signal for this bus.
|
|
See gst_bus_enable_sync_message_emission() for more information.
|
|
|
|
In the event that multiple pieces of code have called
|
|
gst_bus_enable_sync_message_emission(), the sync-message emissions will only
|
|
be stopped after all calls to gst_bus_enable_sync_message_emission() were
|
|
"cancelled" by calling this function. In this way the semantics are exactly
|
|
the same as gst_object_ref() that which calls enable should also call
|
|
disable.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus on which you previously called
|
|
gst_bus_enable_sync_message_emission()</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="enable_sync_message_emission" c:identifier="gst_bus_enable_sync_message_emission">
|
|
<doc xml:space="preserve">Instructs GStreamer to emit the "sync-message" signal after running the bus's
|
|
sync handler. This function is here so that code can ensure that they can
|
|
synchronously receive messages without having to affect what the bin's sync
|
|
handler is.
|
|
|
|
This function may be called multiple times. To clean up, the caller is
|
|
responsible for calling gst_bus_disable_sync_message_emission() as many times
|
|
as this function is called.
|
|
|
|
While this function looks similar to gst_bus_add_signal_watch(), it is not
|
|
exactly the same -- this function enables *synchronous* emission of
|
|
signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback
|
|
to pop messages off the bus *asynchronously*. The sync-message signal
|
|
comes from the thread of whatever object posted the message; the "message"
|
|
signal is marshalled to the main thread via the main loop.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus on which you want to receive the "sync-message" signal</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pollfd" c:identifier="gst_bus_get_pollfd" version="1.14">
|
|
<doc xml:space="preserve">Gets the file descriptor from the bus which can be used to get notified about
|
|
messages being available with functions like g_poll(), and allows integration
|
|
into other event loops based on file descriptors.
|
|
Whenever a message is available, the POLLIN / %G_IO_IN event is set.
|
|
|
|
Warning: NEVER read or write anything to the returned fd but only use it
|
|
for getting notifications via g_poll() or similar and then use the normal
|
|
GstBus API, e.g. gst_bus_pop().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">A GPollFD to fill</doc>
|
|
<type name="GLib.PollFD" c:type="GPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="have_pending" c:identifier="gst_bus_have_pending">
|
|
<doc xml:space="preserve">Check if there are pending messages on the bus that
|
|
should be handled.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if there are messages on the bus to be handled, %FALSE
|
|
otherwise.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to check</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peek" c:identifier="gst_bus_peek">
|
|
<doc xml:space="preserve">Peek the message on the top of the bus' queue. The message will remain
|
|
on the bus' message queue. A reference is returned, and needs to be unreffed
|
|
by the caller.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstMessage that is on the
|
|
bus, or %NULL if the bus is empty.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="poll" c:identifier="gst_bus_poll">
|
|
<doc xml:space="preserve">Poll the bus for messages. Will block while waiting for messages to come.
|
|
You can specify a maximum time to poll with the @timeout parameter. If
|
|
@timeout is negative, this function will block indefinitely.
|
|
|
|
All messages not in @events will be popped off the bus and will be ignored.
|
|
It is not possible to use message enums beyond #GST_MESSAGE_EXTENDED in the
|
|
@events mask
|
|
|
|
Because poll is implemented using the "message" signal enabled by
|
|
gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message"
|
|
signal to be emitted for every message that poll sees. Thus a "message"
|
|
signal handler will see the same messages that this function sees -- neither
|
|
will steal messages from the other.
|
|
|
|
This function will run a main loop from the default main context when
|
|
polling.
|
|
|
|
You should never use this function, since it is pure evil. This is
|
|
especially true for GUI applications based on Gtk+ or Qt, but also for any
|
|
other non-trivial application that uses the GLib main loop. As this function
|
|
runs a GLib main loop, any callback attached to the default GLib main
|
|
context may be invoked. This could be timeouts, GUI events, I/O events etc.;
|
|
even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks
|
|
may do things you do not expect, e.g. destroy the main application window or
|
|
some other resource; change other application state; display a dialog and
|
|
run another main loop until the user clicks it away. In short, using this
|
|
function may add a lot of complexity to your code through unexpected
|
|
re-entrancy and unexpected changes to your application's state.
|
|
|
|
For 0 timeouts use gst_bus_pop_filtered() instead of this function; for
|
|
other short timeouts use gst_bus_timed_pop_filtered(); everything else is
|
|
better handled by setting up an asynchronous bus watch and doing things
|
|
from there.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the message that was received,
|
|
or %NULL if the poll timed out. The message is taken from the
|
|
bus and needs to be unreffed with gst_message_unref() after
|
|
usage.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a mask of #GstMessageType, representing the set of message types to
|
|
poll for (note special handling of extended message types below)</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll
|
|
indefinitely.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pop" c:identifier="gst_bus_pop">
|
|
<doc xml:space="preserve">Get a message from the bus.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstMessage that is on the
|
|
bus, or %NULL if the bus is empty. The message is taken from
|
|
the bus and needs to be unreffed with gst_message_unref() after
|
|
usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to pop</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pop_filtered" c:identifier="gst_bus_pop_filtered">
|
|
<doc xml:space="preserve">Get a message matching @type from the bus. Will discard all messages on
|
|
the bus that do not match @type and that have been posted before the first
|
|
message that does match @type. If there is no message matching @type on
|
|
the bus, all messages will be discarded. It is not possible to use message
|
|
enums beyond #GST_MESSAGE_EXTENDED in the @events mask.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the next #GstMessage matching
|
|
@type that is on the bus, or %NULL if the bus is empty or there
|
|
is no message matching @type. The message is taken from the bus
|
|
and needs to be unreffed with gst_message_unref() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to pop</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="types" transfer-ownership="none">
|
|
<doc xml:space="preserve">message types to take into account</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="post" c:identifier="gst_bus_post">
|
|
<doc xml:space="preserve">Post a message on the given bus. Ownership of the message
|
|
is taken by the bus.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be posted, %FALSE if the bus is flushing.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to post on</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstMessage to post</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_signal_watch" c:identifier="gst_bus_remove_signal_watch">
|
|
<doc xml:space="preserve">Removes a signal watch previously added with gst_bus_add_signal_watch().
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus you previously added a signal watch to</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_watch" c:identifier="gst_bus_remove_watch" version="1.6">
|
|
<doc xml:space="preserve">Removes an installed bus watch from @bus.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success or %FALSE if @bus has no event source.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to remove the watch from.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_flushing" c:identifier="gst_bus_set_flushing">
|
|
<doc xml:space="preserve">If @flushing, flush out and unref any messages queued in the bus. Releases
|
|
references to the message origin objects. Will flush future messages until
|
|
gst_bus_set_flushing() sets @flushing to %FALSE.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="flushing" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether or not to flush the bus</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_sync_handler" c:identifier="gst_bus_set_sync_handler">
|
|
<doc xml:space="preserve">Sets the synchronous handler on the bus. The function will be called
|
|
every time a new message is posted on the bus. Note that the function
|
|
will be called in the same thread context as the posting object. This
|
|
function is usually only called by the creator of the bus. Applications
|
|
should handle messages asynchronously using the gst_bus watch and poll
|
|
functions.
|
|
|
|
Before 1.16.3 it was not possible to replace an existing handler and
|
|
clearing an existing handler with %NULL was not thread-safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to install the handler on</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" nullable="1" allow-none="1" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">The handler function to install</doc>
|
|
<type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">User data that will be sent to the handler function.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">called when @user_data becomes unused</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sync_signal_handler" c:identifier="gst_bus_sync_signal_handler">
|
|
<doc xml:space="preserve">A helper GstBusSyncHandler that can be used to convert all synchronous
|
|
messages into signals.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">GST_BUS_PASS</doc>
|
|
<type name="BusSyncReply" c:type="GstBusSyncReply"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessage received</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="timed_pop" c:identifier="gst_bus_timed_pop">
|
|
<doc xml:space="preserve">Get a message from the bus, waiting up to the specified timeout.
|
|
|
|
If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is
|
|
#GST_CLOCK_TIME_NONE, this function will block forever until a message was
|
|
posted on the bus.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstMessage that is on the
|
|
bus after the specified timeout or %NULL if the bus is empty
|
|
after the timeout expired. The message is taken from the bus
|
|
and needs to be unreffed with gst_message_unref() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to pop</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a timeout</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="timed_pop_filtered" c:identifier="gst_bus_timed_pop_filtered">
|
|
<doc xml:space="preserve">Get a message from the bus whose type matches the message type mask @types,
|
|
waiting up to the specified timeout (and discarding any messages that do not
|
|
match the mask provided).
|
|
|
|
If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If
|
|
@timeout is #GST_CLOCK_TIME_NONE, this function will block forever until a
|
|
matching message was posted on the bus.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstMessage matching the
|
|
filter in @types, or %NULL if no matching message was found on
|
|
the bus until the timeout expired. The message is taken from
|
|
the bus and needs to be unreffed with gst_message_unref() after
|
|
usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBus to pop from</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="types" transfer-ownership="none">
|
|
<doc xml:space="preserve">message types to take into account, GST_MESSAGE_ANY for any type</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="enable-async" readable="0" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="BusPrivate" c:type="GstBusPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="message" when="last" detailed="1">
|
|
<doc xml:space="preserve">A message has been posted on the bus. This signal is emitted from a
|
|
GSource added to the mainloop. this signal will only be emitted when
|
|
there is a mainloop running.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message that has been posted asynchronously</doc>
|
|
<type name="Message"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="sync-message" when="last" detailed="1">
|
|
<doc xml:space="preserve">A message has been posted on the bus. This signal is emitted from the
|
|
thread that posted the message so one has to be careful with locking.
|
|
|
|
This signal will not be emitted by default, you have to call
|
|
gst_bus_enable_sync_message_emission() before.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message that has been posted synchronously</doc>
|
|
<type name="Message"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="BusClass" c:type="GstBusClass" glib:is-gtype-struct-for="Bus">
|
|
|
|
<field name="parent_class">
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="message">
|
|
<callback name="message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bus" transfer-ownership="none">
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sync_message">
|
|
<callback name="sync_message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bus" transfer-ownership="none">
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<bitfield name="BusFlags" glib:type-name="GstBusFlags" glib:get-type="gst_bus_flags_get_type" c:type="GstBusFlags">
|
|
<doc xml:space="preserve">The standard flags that a bus may have.</doc>
|
|
<member name="flushing" value="16" c:identifier="GST_BUS_FLUSHING" glib:nick="flushing">
|
|
<doc xml:space="preserve">The bus is currently dropping all messages</doc>
|
|
</member>
|
|
<member name="flag_last" value="32" c:identifier="GST_BUS_FLAG_LAST" glib:nick="flag-last">
|
|
<doc xml:space="preserve">offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="BusFunc" c:type="GstBusFunc">
|
|
<doc xml:space="preserve">Specifies the type of function passed to gst_bus_add_watch() or
|
|
gst_bus_add_watch_full(), which is called from the mainloop when a message
|
|
is available on the bus.
|
|
|
|
The message passed to the function will be unreffed after execution of this
|
|
function so it should not be freed in the function.
|
|
|
|
Note that this function is used as a GSourceFunc which means that returning
|
|
%FALSE will remove the GSource from the mainloop.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the event source should be removed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBus that sent the message</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data that has been given, when registering the handler</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="BusPrivate" c:type="GstBusPrivate" disguised="1">
|
|
|
|
</record>
|
|
<callback name="BusSyncHandler" c:type="GstBusSyncHandler">
|
|
<doc xml:space="preserve">Handler will be invoked synchronously, when a new message has been injected
|
|
into the bus. This function is mostly used internally. Only one sync handler
|
|
can be attached to a given bus.
|
|
|
|
If the handler returns GST_BUS_DROP, it should unref the message, else the
|
|
message should not be unreffed by the sync handler.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstBusSyncReply stating what to do with the message</doc>
|
|
<type name="BusSyncReply" c:type="GstBusSyncReply"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bus" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstBus that sent the message</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data that has been given, when registering the handler</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="BusSyncReply" glib:type-name="GstBusSyncReply" glib:get-type="gst_bus_sync_reply_get_type" c:type="GstBusSyncReply">
|
|
<doc xml:space="preserve">The result values for a GstBusSyncHandler.</doc>
|
|
<member name="drop" value="0" c:identifier="GST_BUS_DROP" glib:nick="drop">
|
|
<doc xml:space="preserve">drop the message</doc>
|
|
</member>
|
|
<member name="pass" value="1" c:identifier="GST_BUS_PASS" glib:nick="pass">
|
|
<doc xml:space="preserve">pass the message to the async queue</doc>
|
|
</member>
|
|
<member name="async" value="2" c:identifier="GST_BUS_ASYNC" glib:nick="async">
|
|
<doc xml:space="preserve">pass message to async queue, continue if message is handled</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="CALL_PARENT" c:identifier="GST_CALL_PARENT" introspectable="0">
|
|
<doc xml:space="preserve">Just call the parent handler. This assumes that there is a variable
|
|
named parent_class that points to the (duh!) parent class. Note that
|
|
this macro is not to be used with things that return something, use
|
|
the _WITH_DEFAULT version for that</doc>
|
|
|
|
<parameters>
|
|
<parameter name="parent_class_cast">
|
|
<doc xml:space="preserve">the name of the class cast macro for the parent type</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">name of the function to call</doc>
|
|
</parameter>
|
|
<parameter name="args">
|
|
<doc xml:space="preserve">arguments enclosed in '( )'</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CALL_PARENT_WITH_DEFAULT" c:identifier="GST_CALL_PARENT_WITH_DEFAULT" introspectable="0">
|
|
<doc xml:space="preserve">Same as GST_CALL_PARENT(), but in case there is no implementation, it
|
|
evaluates to @def_return.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="parent_class_cast">
|
|
<doc xml:space="preserve">the name of the class cast macro for the parent type</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">name of the function to call</doc>
|
|
</parameter>
|
|
<parameter name="args">
|
|
<doc xml:space="preserve">arguments enclosed in '( )'</doc>
|
|
</parameter>
|
|
<parameter name="def_return">
|
|
<doc xml:space="preserve">default result</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="CAN_INLINE" value="1" c:type="GST_CAN_INLINE">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="CAPS" c:identifier="GST_CAPS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_CAST" c:identifier="GST_CAPS_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_FEATURES" c:identifier="GST_CAPS_FEATURES" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_FEATURES_CAST" c:identifier="GST_CAPS_FEATURES_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="CAPS_FEATURE_MEMORY_SYSTEM_MEMORY" value="memory:SystemMemory" c:type="GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="CAPS_FLAGS" c:identifier="GST_CAPS_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">A flags word containing #GstCapsFlags flags set on this caps.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_FLAG_IS_SET" c:identifier="GST_CAPS_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">Gives the status of a specific flag on a caps.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstCapsFlags to check.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_FLAG_SET" c:identifier="GST_CAPS_FLAG_SET" introspectable="0">
|
|
<doc xml:space="preserve">Sets a caps flag on a caps.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstCapsFlags to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_FLAG_UNSET" c:identifier="GST_CAPS_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">Clears a caps flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstCapsFlags to clear.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_IS_SIMPLE" c:identifier="GST_CAPS_IS_SIMPLE" introspectable="0">
|
|
<doc xml:space="preserve">Convenience macro that checks if the number of structures in the given caps
|
|
is exactly one.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">the #GstCaps instance to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_REFCOUNT" c:identifier="GST_CAPS_REFCOUNT" introspectable="0">
|
|
<doc xml:space="preserve">Get access to the reference count field of the caps</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAPS_REFCOUNT_VALUE" c:identifier="GST_CAPS_REFCOUNT_VALUE" introspectable="0">
|
|
<doc xml:space="preserve">Get the reference count value of the caps.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAT_MEMDUMP" c:identifier="GST_CAT_MEMDUMP" introspectable="0">
|
|
<doc xml:space="preserve">Output a hexdump of @data in the given category.
|
|
|
|
There is no need to finish the end of the message string with a newline
|
|
character, a newline character will be added automatically.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">category to use</doc>
|
|
</parameter>
|
|
<parameter name="msg">
|
|
<doc xml:space="preserve">message string to log with the data</doc>
|
|
</parameter>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">pointer to the data to output</doc>
|
|
</parameter>
|
|
<parameter name="length">
|
|
<doc xml:space="preserve">length of the data to output</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CAT_MEMDUMP_OBJECT" c:identifier="GST_CAT_MEMDUMP_OBJECT" introspectable="0">
|
|
<doc xml:space="preserve">Output a hexdump of @data relating to the given object in the given
|
|
category.
|
|
|
|
There is no need to finish the end of the message string with a newline
|
|
character, a newline character will be added automatically.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">category to use</doc>
|
|
</parameter>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">the #GObject the message belongs to</doc>
|
|
</parameter>
|
|
<parameter name="msg">
|
|
<doc xml:space="preserve">message string to log with the data</doc>
|
|
</parameter>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">pointer to the data to output</doc>
|
|
</parameter>
|
|
<parameter name="length">
|
|
<doc xml:space="preserve">length of the data to output</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CHECK_VERSION" c:identifier="GST_CHECK_VERSION" introspectable="0">
|
|
<doc xml:space="preserve">Check whether a GStreamer version equal to or greater than
|
|
major.minor.micro is present.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="major">
|
|
<doc xml:space="preserve">a number indicating the major version</doc>
|
|
</parameter>
|
|
<parameter name="minor">
|
|
<doc xml:space="preserve">a number indicating the minor version</doc>
|
|
</parameter>
|
|
<parameter name="micro">
|
|
<doc xml:space="preserve">a number indicating the micro version</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CHILD_PROXY" c:identifier="GST_CHILD_PROXY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CHILD_PROXY_GET_INTERFACE" c:identifier="GST_CHILD_PROXY_GET_INTERFACE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK" c:identifier="GST_CLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="clock">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_CAST" c:identifier="GST_CLOCK_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="clock">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_CLASS" c:identifier="GST_CLOCK_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="cclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_DIFF" c:identifier="GST_CLOCK_DIFF" introspectable="0">
|
|
<doc xml:space="preserve">Calculate a difference between two clock times as a #GstClockTimeDiff.
|
|
The difference is calculated as @e - @s.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="s">
|
|
<doc xml:space="preserve">the first time</doc>
|
|
</parameter>
|
|
<parameter name="e">
|
|
<doc xml:space="preserve">the second time</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_ENTRY" c:identifier="GST_CLOCK_ENTRY" introspectable="0">
|
|
<doc xml:space="preserve">Cast to a clock entry</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">the entry to cast</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_ENTRY_CLOCK" c:identifier="GST_CLOCK_ENTRY_CLOCK" introspectable="0" deprecated="1">
|
|
<doc xml:space="preserve">Get the owner clock of the entry</doc>
|
|
<doc-deprecated xml:space="preserve">Use gst_clock_id_get_clock() instead.</doc-deprecated>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">the entry to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_ENTRY_INTERVAL" c:identifier="GST_CLOCK_ENTRY_INTERVAL" introspectable="0">
|
|
<doc xml:space="preserve">Get the interval of this periodic entry</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">the entry to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_ENTRY_STATUS" c:identifier="GST_CLOCK_ENTRY_STATUS" introspectable="0">
|
|
<doc xml:space="preserve">The status of the entry</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">the entry to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_ENTRY_TIME" c:identifier="GST_CLOCK_ENTRY_TIME" introspectable="0">
|
|
<doc xml:space="preserve">Get the requested time of this entry</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">the entry to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_ENTRY_TYPE" c:identifier="GST_CLOCK_ENTRY_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">Get the type of the clock entry</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">the entry to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_FLAGS" c:identifier="GST_CLOCK_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">Gets the #GstClockFlags clock flags.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="clock">
|
|
<doc xml:space="preserve">the clock to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_GET_CLASS" c:identifier="GST_CLOCK_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="clock">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_STIME_IS_VALID" c:identifier="GST_CLOCK_STIME_IS_VALID" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Tests if a given #GstClockTimeDiff of #gint64 represents a valid defined time.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="time">
|
|
<doc xml:space="preserve">signed clock time to validate</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CLOCK_TIME_IS_VALID" c:identifier="GST_CLOCK_TIME_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if a given #GstClockTime represents a valid defined time.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="time">
|
|
<doc xml:space="preserve">clock time to validate</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="CLOCK_TIME_NONE" value="18446744073709551615" c:type="GST_CLOCK_TIME_NONE">
|
|
<doc xml:space="preserve">Constant to define an undefined clock time.</doc>
|
|
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</constant>
|
|
<function-macro name="CONTEXT" c:identifier="GST_CONTEXT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTEXT_CAST" c:identifier="GST_CONTEXT_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_BINDING" c:identifier="GST_CONTROL_BINDING" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_BINDING_CLASS" c:identifier="GST_CONTROL_BINDING_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_BINDING_GET_CLASS" c:identifier="GST_CONTROL_BINDING_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_BINDING_PSPEC" c:identifier="GST_CONTROL_BINDING_PSPEC" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="cb">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_SOURCE" c:identifier="GST_CONTROL_SOURCE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_SOURCE_CLASS" c:identifier="GST_CONTROL_SOURCE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTROL_SOURCE_GET_CLASS" c:identifier="GST_CONTROL_SOURCE_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Caps" c:type="GstCaps" glib:type-name="GstCaps" glib:get-type="gst_caps_get_type" c:symbol-prefix="caps">
|
|
<doc xml:space="preserve">Caps (capabilities) are lightweight refcounted objects describing media types.
|
|
They are composed of an array of #GstStructure.
|
|
|
|
Caps are exposed on #GstPadTemplate to describe all possible types a
|
|
given pad can handle. They are also stored in the #GstRegistry along with
|
|
a description of the #GstElement.
|
|
|
|
Caps are exposed on the element pads using the gst_pad_query_caps() pad
|
|
function. This function describes the possible types that the pad can
|
|
handle or produce at runtime.
|
|
|
|
A #GstCaps can be constructed with the following code fragment:
|
|
|[<!-- language="C" -->
|
|
GstCaps *caps = gst_caps_new_simple ("video/x-raw",
|
|
"format", G_TYPE_STRING, "I420",
|
|
"framerate", GST_TYPE_FRACTION, 25, 1,
|
|
"pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
|
|
"width", G_TYPE_INT, 320,
|
|
"height", G_TYPE_INT, 240,
|
|
NULL);
|
|
]|
|
|
|
|
A #GstCaps is fixed when it has no properties with ranges or lists. Use
|
|
gst_caps_is_fixed() to test for fixed caps. Fixed caps can be used in a
|
|
caps event to notify downstream elements of the current media type.
|
|
|
|
Various methods exist to work with the media types such as subtracting
|
|
or intersecting.
|
|
|
|
Be aware that the current #GstCaps / #GstStructure serialization into string
|
|
has limited support for nested #GstCaps / #GstStructure fields. It can only
|
|
support one level of nesting. Using more levels will lead to unexpected
|
|
behavior when using serialization features, such as gst_caps_to_string() or
|
|
gst_value_serialize() and their counterparts.</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">the parent type</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<constructor name="new_any" c:identifier="gst_caps_new_any">
|
|
<doc xml:space="preserve">Creates a new #GstCaps that indicates that it is compatible with
|
|
any media format.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_empty" c:identifier="gst_caps_new_empty">
|
|
<doc xml:space="preserve">Creates a new #GstCaps that is empty. That is, the returned
|
|
#GstCaps contains no media formats.
|
|
The #GstCaps is guaranteed to be writable.
|
|
Caller is responsible for unreffing the returned caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_empty_simple" c:identifier="gst_caps_new_empty_simple">
|
|
<doc xml:space="preserve">Creates a new #GstCaps that contains one #GstStructure with name
|
|
@media_type.
|
|
Caller is responsible for unreffing the returned caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="media_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the media type of the structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_full" c:identifier="gst_caps_new_full" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCaps and adds all the structures listed as
|
|
arguments. The list must be %NULL-terminated. The structures
|
|
are not copied; the returned #GstCaps owns the structures.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="struct1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first structure to add</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional structures to add</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_full_valist" c:identifier="gst_caps_new_full_valist" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCaps and adds all the structures listed as
|
|
arguments. The list must be %NULL-terminated. The structures
|
|
are not copied; the returned #GstCaps owns the structures.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first structure to add</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">additional structures to add</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_simple" c:identifier="gst_caps_new_simple" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCaps that contains one #GstStructure. The
|
|
structure is defined by the arguments, which have the same format
|
|
as gst_structure_new().
|
|
Caller is responsible for unreffing the returned caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="media_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the media type of the structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">first field to set</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="append" c:identifier="gst_caps_append">
|
|
<doc xml:space="preserve">Appends the structures contained in @caps2 to @caps1. The structures in
|
|
@caps2 are not copied -- they are transferred to @caps1, and then @caps2 is
|
|
freed. If either caps is ANY, the resulting caps will be ANY.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps that will be appended to</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to append</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="append_structure" c:identifier="gst_caps_append_structure">
|
|
<doc xml:space="preserve">Appends @structure to @caps. The structure is not copied; @caps
|
|
becomes the owner of @structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps that will be appended to</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstStructure to append</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="append_structure_full" c:identifier="gst_caps_append_structure_full" version="1.2">
|
|
<doc xml:space="preserve">Appends @structure with @features to @caps. The structure is not copied; @caps
|
|
becomes the owner of @structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps that will be appended to</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstStructure to append</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="features" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCapsFeatures to append</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="can_intersect" c:identifier="gst_caps_can_intersect">
|
|
<doc xml:space="preserve">Tries intersecting @caps1 and @caps2 and reports whether the result would not
|
|
be empty</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if intersection would be not empty</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to intersect</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to intersect</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_caps_copy">
|
|
<doc xml:space="preserve">Creates a new #GstCaps as a copy of the old @caps. The new caps will have a
|
|
refcount of 1, owned by the caller. The structures are copied as well.
|
|
|
|
Note that this function is the semantic equivalent of a gst_caps_ref()
|
|
followed by a gst_caps_make_writable(). If you only want to hold on to a
|
|
reference to the data, you should use gst_caps_ref().
|
|
|
|
When you are finished with the caps, call gst_caps_unref() on it.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps.</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_nth" c:identifier="gst_caps_copy_nth" version="1.16">
|
|
<doc xml:space="preserve">Creates a new #GstCaps and appends a copy of the nth structure
|
|
contained in @caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to copy</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="nth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nth structure to copy</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="filter_and_map_in_place" c:identifier="gst_caps_filter_and_map_in_place" version="1.6">
|
|
<doc xml:space="preserve">Calls the provided function once for each structure and caps feature in the
|
|
#GstCaps. In contrast to gst_caps_foreach(), the function may modify the
|
|
structure and features. In contrast to gst_caps_filter_and_map_in_place(),
|
|
the structure and features are removed from the caps if %FALSE is returned
|
|
from the function.
|
|
The caps must be mutable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function to call for each field</doc>
|
|
<type name="CapsFilterMapFunc" c:type="GstCapsFilterMapFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate" c:identifier="gst_caps_fixate">
|
|
<doc xml:space="preserve">Modifies the given @caps into a representation with only fixed
|
|
values. First the caps will be truncated and then the first structure will be
|
|
fixated with gst_structure_fixate().
|
|
|
|
This function takes ownership of @caps and will call gst_caps_make_writable()
|
|
on it so you must not use @caps afterwards unless you keep an additional
|
|
reference to it with gst_caps_ref().
|
|
|
|
Note that it is not guaranteed that the returned caps have exactly one
|
|
structure. If @caps are empty caps then then returned caps will be
|
|
the empty too and contain no structure at all.
|
|
|
|
Calling this function with any caps is not allowed.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the fixated caps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps to fixate</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach" c:identifier="gst_caps_foreach" version="1.6">
|
|
<doc xml:space="preserve">Calls the provided function once for each structure and caps feature in the
|
|
#GstCaps. The function must not modify the fields.
|
|
Also see gst_caps_map_in_place() and gst_caps_filter_and_map_in_place().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the supplied function returns %TRUE for each call,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function to call for each field</doc>
|
|
<type name="CapsForeachFunc" c:type="GstCapsForeachFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_features" c:identifier="gst_caps_get_features" version="1.2">
|
|
<doc xml:space="preserve">Finds the features in @caps that has the index @index, and
|
|
returns it.
|
|
|
|
WARNING: This function takes a const GstCaps *, but returns a
|
|
non-const GstCapsFeatures *. This is for programming convenience --
|
|
the caller should be aware that structures inside a constant
|
|
#GstCaps should not be modified. However, if you know the caps
|
|
are writable, either because you have just copied them or made
|
|
them writable with gst_caps_make_writable(), you may modify the
|
|
features returned in the usual way, e.g. with functions like
|
|
gst_caps_features_add().
|
|
|
|
You do not need to free or unref the structure returned, it
|
|
belongs to the #GstCaps.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer to the #GstCapsFeatures
|
|
corresponding to @index</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of the structure</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="gst_caps_get_size">
|
|
<doc xml:space="preserve">Gets the number of structures contained in @caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of structures that @caps contains</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_structure" c:identifier="gst_caps_get_structure">
|
|
<doc xml:space="preserve">Finds the structure in @caps that has the index @index, and
|
|
returns it.
|
|
|
|
WARNING: This function takes a const GstCaps *, but returns a
|
|
non-const GstStructure *. This is for programming convenience --
|
|
the caller should be aware that structures inside a constant
|
|
#GstCaps should not be modified. However, if you know the caps
|
|
are writable, either because you have just copied them or made
|
|
them writable with gst_caps_make_writable(), you may modify the
|
|
structure returned in the usual way, e.g. with functions like
|
|
gst_structure_set().
|
|
|
|
You do not need to free or unref the structure returned, it
|
|
belongs to the #GstCaps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to the #GstStructure corresponding
|
|
to @index</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of the structure</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="intersect" c:identifier="gst_caps_intersect">
|
|
<doc xml:space="preserve">Creates a new #GstCaps that contains all the formats that are common
|
|
to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to intersect</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to intersect</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="intersect_full" c:identifier="gst_caps_intersect_full">
|
|
<doc xml:space="preserve">Creates a new #GstCaps that contains all the formats that are common
|
|
to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode
|
|
used.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to intersect</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to intersect</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">The intersection algorithm/mode to use</doc>
|
|
<type name="CapsIntersectMode" c:type="GstCapsIntersectMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_always_compatible" c:identifier="gst_caps_is_always_compatible">
|
|
<doc xml:space="preserve">A given #GstCaps structure is always compatible with another if
|
|
every media format that is in the first is also contained in the
|
|
second. That is, @caps1 is a subset of @caps2.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @caps1 is a subset of @caps2.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_any" c:identifier="gst_caps_is_any">
|
|
<doc xml:space="preserve">Determines if @caps represents any media format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @caps represents any format.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_empty" c:identifier="gst_caps_is_empty">
|
|
<doc xml:space="preserve">Determines if @caps represents no media formats.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @caps represents no formats.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_caps_is_equal">
|
|
<doc xml:space="preserve">Checks if the given caps represent the same set of caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if both caps are equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal_fixed" c:identifier="gst_caps_is_equal_fixed">
|
|
<doc xml:space="preserve">Tests if two #GstCaps are equal. This function only works on fixed
|
|
#GstCaps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the arguments represent the same format</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_fixed" c:identifier="gst_caps_is_fixed">
|
|
<doc xml:space="preserve">Fixed #GstCaps describe exactly one format, that is, they have exactly
|
|
one structure, and each field in the structure describes a fixed type.
|
|
Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @caps is fixed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to test</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_strictly_equal" c:identifier="gst_caps_is_strictly_equal">
|
|
<doc xml:space="preserve">Checks if the given caps are exactly the same set of caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if both caps are strictly equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_subset" c:identifier="gst_caps_is_subset">
|
|
<doc xml:space="preserve">Checks if all caps represented by @subset are also represented by @superset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @subset is a subset of @superset</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="subset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="superset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a potentially greater #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_subset_structure" c:identifier="gst_caps_is_subset_structure">
|
|
<doc xml:space="preserve">Checks if @structure is a subset of @caps. See gst_caps_is_subset()
|
|
for more information.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @structure is a subset of @caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a potential #GstStructure subset of @caps</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_subset_structure_full" c:identifier="gst_caps_is_subset_structure_full" version="1.2">
|
|
<doc xml:space="preserve">Checks if @structure is a subset of @caps. See gst_caps_is_subset()
|
|
for more information.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @structure is a subset of @caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a potential #GstStructure subset of @caps</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="features" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstCapsFeatures for @structure</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map_in_place" c:identifier="gst_caps_map_in_place" version="1.6">
|
|
<doc xml:space="preserve">Calls the provided function once for each structure and caps feature in the
|
|
#GstCaps. In contrast to gst_caps_foreach(), the function may modify but not
|
|
delete the structures and features. The caps must be mutable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the supplied function returns %TRUE for each call,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function to call for each field</doc>
|
|
<type name="CapsMapFunc" c:type="GstCapsMapFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge" c:identifier="gst_caps_merge">
|
|
<doc xml:space="preserve">Appends the structures contained in @caps2 to @caps1 if they are not yet
|
|
expressed by @caps1. The structures in @caps2 are not copied -- they are
|
|
transferred to a writable copy of @caps1, and then @caps2 is freed.
|
|
If either caps is ANY, the resulting caps will be ANY.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the merged caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps1" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps that will take the new entries</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps2" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to merge in</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_structure" c:identifier="gst_caps_merge_structure">
|
|
<doc xml:space="preserve">Appends @structure to @caps if its not already expressed by @caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the merged caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to merge into</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstStructure to merge</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_structure_full" c:identifier="gst_caps_merge_structure_full" version="1.2">
|
|
<doc xml:space="preserve">Appends @structure with @features to @caps if its not already expressed by @caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the merged caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to merge into</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstStructure to merge</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="features" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCapsFeatures to merge</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="normalize" c:identifier="gst_caps_normalize">
|
|
<doc xml:space="preserve">Returns a #GstCaps that represents the same set of formats as
|
|
@caps, but contains no lists. Each list is expanded into separate
|
|
@GstStructures.
|
|
|
|
This function takes ownership of @caps and will call gst_caps_make_writable()
|
|
on it so you must not use @caps afterwards unless you keep an additional
|
|
reference to it with gst_caps_ref().</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the normalized #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps to normalize</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_caps_ref" introspectable="0">
|
|
<doc xml:space="preserve">Add a reference to a #GstCaps object.
|
|
|
|
From this point on, until the caller calls gst_caps_unref() or
|
|
gst_caps_make_writable(), it is guaranteed that the caps object will not
|
|
change. This means its structures won't change, etc. To use a #GstCaps
|
|
object, you must always have a refcount on it -- either the one made
|
|
implicitly by e.g. gst_caps_new_simple(), or via taking one explicitly with
|
|
this function.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the same #GstCaps object.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to reference</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_structure" c:identifier="gst_caps_remove_structure">
|
|
<doc xml:space="preserve">removes the structure with the given index from the list of structures
|
|
contained in @caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to remove from</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">Index of the structure to remove</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_features" c:identifier="gst_caps_set_features" version="1.2">
|
|
<doc xml:space="preserve">Sets the #GstCapsFeatures @features for the structure at @index.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of the structure</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="features" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCapsFeatures to set</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_features_simple" c:identifier="gst_caps_set_features_simple" version="1.16">
|
|
<doc xml:space="preserve">Sets the #GstCapsFeatures @features for all the structures of @caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="features" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCapsFeatures to set</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_simple" c:identifier="gst_caps_set_simple" introspectable="0">
|
|
<doc xml:space="preserve">Sets fields in a #GstCaps. The arguments must be passed in the same
|
|
manner as gst_structure_set(), and be %NULL-terminated.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to set</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">first field to set</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional parameters</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_simple_valist" c:identifier="gst_caps_set_simple_valist" introspectable="0">
|
|
<doc xml:space="preserve">Sets fields in a #GstCaps. The arguments must be passed in the same
|
|
manner as gst_structure_set(), and be %NULL-terminated.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to set</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">first field to set</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">additional parameters</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_value" c:identifier="gst_caps_set_value">
|
|
<doc xml:space="preserve">Sets the given @field on all structures of @caps to the given @value.
|
|
This is a convenience function for calling gst_structure_set_value() on
|
|
all structures of @caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a writable caps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the field to set</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">value to set the field to</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="simplify" c:identifier="gst_caps_simplify">
|
|
<doc xml:space="preserve">Converts the given @caps into a representation that represents the
|
|
same set of formats, but in a simpler form. Component structures that are
|
|
identical are merged. Component structures that have values that can be
|
|
merged are also merged.
|
|
|
|
This function takes ownership of @caps and will call gst_caps_make_writable()
|
|
on it if necessary, so you must not use @caps afterwards unless you keep an
|
|
additional reference to it with gst_caps_ref().
|
|
|
|
This method does not preserve the original order of @caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The simplified caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps to simplify</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="steal_structure" c:identifier="gst_caps_steal_structure">
|
|
<doc xml:space="preserve">Retrieves the structure with the given index from the list of structures
|
|
contained in @caps. The caller becomes the owner of the returned structure.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a pointer to the #GstStructure
|
|
corresponding to @index.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to retrieve from</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">Index of the structure to retrieve</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="subtract" c:identifier="gst_caps_subtract">
|
|
<doc xml:space="preserve">Subtracts the @subtrahend from the @minuend.
|
|
> This function does not work reliably if optional properties for caps
|
|
> are included on one caps and omitted on the other.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the resulting caps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="minuend" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstCaps to subtract from</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
<parameter name="subtrahend" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstCaps to subtract</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_caps_to_string">
|
|
<doc xml:space="preserve">Converts @caps to a string representation. This string representation
|
|
can be converted back to a #GstCaps by gst_caps_from_string().
|
|
|
|
For debugging purposes its easier to do something like this:
|
|
|[<!-- language="C" -->
|
|
GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
|
|
]|
|
|
This prints the caps in human readable form.
|
|
|
|
The current implementation of serialization will lead to unexpected results
|
|
when there are nested #GstCaps / #GstStructure deeper than one level.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated string representing @caps.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="truncate" c:identifier="gst_caps_truncate">
|
|
<doc xml:space="preserve">Discard all but the first structure from @caps. Useful when
|
|
fixating.
|
|
|
|
This function takes ownership of @caps and will call gst_caps_make_writable()
|
|
on it if necessary, so you must not use @caps afterwards unless you keep an
|
|
additional reference to it with gst_caps_ref().
|
|
|
|
Note that it is not guaranteed that the returned caps have exactly one
|
|
structure. If @caps is any or empty caps then then returned caps will be
|
|
the same and contain no structure at all.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">truncated caps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to truncate</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_caps_unref" introspectable="0">
|
|
<doc xml:space="preserve">Unref a #GstCaps and and free all its structures and the
|
|
structures' values when the refcount reaches 0.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="gst_caps_from_string">
|
|
<doc xml:space="preserve">Converts @caps from a string representation.
|
|
|
|
The current implementation of serialization will lead to unexpected results
|
|
when there are nested #GstCaps / #GstStructure deeper than one level.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly allocated #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="string" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string to convert to #GstCaps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="replace" c:identifier="gst_caps_replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstCaps to point to a different #GstCaps. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
caps is unreffed, the new is reffed).
|
|
|
|
Either @new_caps or the #GstCaps pointed to by @old_caps may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_caps was different from @old_caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_caps" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer
|
|
to a #GstCaps to be replaced.</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
<parameter name="new_caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstCaps that will
|
|
replace the caps pointed to by @old_caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="take" c:identifier="gst_caps_take" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstCaps to point to a different #GstCaps. This
|
|
function is similar to gst_caps_replace() except that it takes ownership
|
|
of @new_caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_caps was different from @old_caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_caps" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a pointer to a #GstCaps to be
|
|
replaced.</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
<parameter name="new_caps" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstCaps that will
|
|
replace the caps pointed to by @old_caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="CapsFeatures" c:type="GstCapsFeatures" version="1.2" glib:type-name="GstCapsFeatures" glib:get-type="gst_caps_features_get_type" c:symbol-prefix="caps_features">
|
|
<doc xml:space="preserve">#GstCapsFeatures can optionally be set on a #GstCaps to add requirements
|
|
for additional features for a specific #GstStructure. Caps structures with
|
|
the same name but with a non-equal set of caps features are not compatible.
|
|
If a pad supports multiple sets of features it has to add multiple equal
|
|
structures with different feature sets to the caps.
|
|
|
|
Empty #GstCapsFeatures are equivalent with the #GstCapsFeatures that only
|
|
contain #GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY. ANY #GstCapsFeatures as
|
|
created by gst_caps_features_new_any() are equal to any other #GstCapsFeatures
|
|
and can be used to specify that any #GstCapsFeatures would be supported, e.g.
|
|
for elements that don't touch buffer memory. #GstCaps with ANY #GstCapsFeatures
|
|
are considered non-fixed and during negotiation some #GstCapsFeatures have
|
|
to be selected.
|
|
|
|
Examples for caps features would be the requirement of a specific #GstMemory
|
|
types or the requirement of having a specific #GstMeta on the buffer. Features
|
|
are given as a string of the format "memory:GstMemoryTypeName" or
|
|
"meta:GstMetaAPIName".</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_caps_features_new" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCapsFeatures with the given features.
|
|
The last argument must be %NULL.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="feature1" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first feature to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional features</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_any" c:identifier="gst_caps_features_new_any" version="1.2">
|
|
<doc xml:space="preserve">Creates a new, ANY #GstCapsFeatures. This will be equal
|
|
to any other #GstCapsFeatures but caps with these are
|
|
unfixed.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, ANY #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_empty" c:identifier="gst_caps_features_new_empty" version="1.2">
|
|
<doc xml:space="preserve">Creates a new, empty #GstCapsFeatures.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_id" c:identifier="gst_caps_features_new_id" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCapsFeatures with the given features.
|
|
The last argument must be 0.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="feature1" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first feature to set</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional features</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_id_valist" c:identifier="gst_caps_features_new_id_valist" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCapsFeatures with the given features.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="feature1" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first feature to set</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable argument list</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_valist" c:identifier="gst_caps_features_new_valist" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCapsFeatures with the given features.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="feature1" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first feature to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable argument list</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add" c:identifier="gst_caps_features_add" version="1.2">
|
|
<doc xml:space="preserve">Adds @feature to @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_id" c:identifier="gst_caps_features_add_id" version="1.2">
|
|
<doc xml:space="preserve">Adds @feature to @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="contains" c:identifier="gst_caps_features_contains" version="1.2">
|
|
<doc xml:space="preserve">Check if @features contains @feature.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @features contains @feature.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="contains_id" c:identifier="gst_caps_features_contains_id" version="1.2">
|
|
<doc xml:space="preserve">Check if @features contains @feature.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @features contains @feature.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_caps_features_copy" version="1.2">
|
|
<doc xml:space="preserve">Duplicates a #GstCapsFeatures and all its values.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures to duplicate</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_caps_features_free" version="1.2">
|
|
<doc xml:space="preserve">Frees a #GstCapsFeatures and all its values. The caps features must not
|
|
have a parent when this function is called.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCapsFeatures to free</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_nth" c:identifier="gst_caps_features_get_nth" version="1.2">
|
|
<doc xml:space="preserve">Returns the @i-th feature of @features.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The @i-th feature of @features.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="i" transfer-ownership="none">
|
|
<doc xml:space="preserve">index of the feature</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_nth_id" c:identifier="gst_caps_features_get_nth_id" version="1.2">
|
|
<doc xml:space="preserve">Returns the @i-th feature of @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The @i-th feature of @features.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="i" transfer-ownership="none">
|
|
<doc xml:space="preserve">index of the feature</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="gst_caps_features_get_size" version="1.2">
|
|
<doc xml:space="preserve">Returns the number of features in @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of features in @features.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_any" c:identifier="gst_caps_features_is_any" version="1.2">
|
|
<doc xml:space="preserve">Check if @features is %GST_CAPS_FEATURES_ANY.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @features is %GST_CAPS_FEATURES_ANY.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_caps_features_is_equal" version="1.2">
|
|
<doc xml:space="preserve">Check if @features1 and @features2 are equal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @features1 and @features2 are equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="features2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove" c:identifier="gst_caps_features_remove" version="1.2">
|
|
<doc xml:space="preserve">Removes @feature from @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_id" c:identifier="gst_caps_features_remove_id" version="1.2">
|
|
<doc xml:space="preserve">Removes @feature from @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_parent_refcount" c:identifier="gst_caps_features_set_parent_refcount" version="1.2">
|
|
<doc xml:space="preserve">Sets the parent_refcount field of #GstCapsFeatures. This field is used to
|
|
determine whether a caps features is mutable or not. This function should only be
|
|
called by code implementing parent objects of #GstCapsFeatures, as described in
|
|
the MT Refcounting section of the design documents.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the parent refcount could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
<parameter name="refcount" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to the parent's refcount</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_caps_features_to_string" version="1.2">
|
|
<doc xml:space="preserve">Converts @features to a human-readable string representation.
|
|
|
|
For debugging purposes its easier to do something like this:
|
|
|[<!-- language="C" -->
|
|
GST_LOG ("features is %" GST_PTR_FORMAT, features);
|
|
]|
|
|
This prints the features in human readable form.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to string allocated by g_malloc().
|
|
g_free() after usage.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="gst_caps_features_from_string" version="1.2">
|
|
<doc xml:space="preserve">Creates a #GstCapsFeatures from a string representation.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstCapsFeatures or
|
|
%NULL when the string could not be parsed. Free with
|
|
gst_caps_features_free() after use.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representation of a #GstCapsFeatures.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<callback name="CapsFilterMapFunc" c:type="GstCapsFilterMapFunc">
|
|
<doc xml:space="preserve">A function that will be called in gst_caps_filter_and_map_in_place().
|
|
The function may modify @features and @structure, and both will be
|
|
removed from the caps if %FALSE is returned.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the features and structure should be preserved,
|
|
%FALSE if it should be removed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<bitfield name="CapsFlags" glib:type-name="GstCapsFlags" glib:get-type="gst_caps_flags_get_type" c:type="GstCapsFlags">
|
|
<doc xml:space="preserve">Extra flags for a caps.</doc>
|
|
<member name="any" value="16" c:identifier="GST_CAPS_FLAG_ANY" glib:nick="any">
|
|
<doc xml:space="preserve">Caps has no specific content, but can contain
|
|
anything.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="CapsForeachFunc" c:type="GstCapsForeachFunc" version="1.6">
|
|
<doc xml:space="preserve">A function that will be called in gst_caps_foreach(). The function may
|
|
not modify @features or @structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the foreach operation should continue, %FALSE if
|
|
the foreach operation should stop with %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="CapsIntersectMode" glib:type-name="GstCapsIntersectMode" glib:get-type="gst_caps_intersect_mode_get_type" c:type="GstCapsIntersectMode">
|
|
<doc xml:space="preserve">Modes of caps intersection
|
|
|
|
@GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps
|
|
by iterating on the caps' structures as the following matrix shows:
|
|
|[
|
|
caps1
|
|
+-------------
|
|
| 1 2 4 7
|
|
caps2 | 3 5 8 10
|
|
| 6 9 11 12
|
|
]|
|
|
Used when there is no explicit precedence of one caps over the other. e.g.
|
|
tee's sink pad getcaps function, it will probe its src pad peers' for their
|
|
caps and intersect them with this mode.
|
|
|
|
@GST_CAPS_INTERSECT_FIRST is useful when an element wants to preserve
|
|
another element's caps priority order when intersecting with its own caps.
|
|
Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result
|
|
would be [A, B], maintaining the first caps priority on the intersection.</doc>
|
|
<member name="zig_zag" value="0" c:identifier="GST_CAPS_INTERSECT_ZIG_ZAG" glib:nick="zig-zag">
|
|
<doc xml:space="preserve">Zig-zags over both caps.</doc>
|
|
</member>
|
|
<member name="first" value="1" c:identifier="GST_CAPS_INTERSECT_FIRST" glib:nick="first">
|
|
<doc xml:space="preserve">Keeps the first caps order.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="CapsMapFunc" c:type="GstCapsMapFunc">
|
|
<doc xml:space="preserve">A function that will be called in gst_caps_map_in_place(). The function
|
|
may modify @features and @structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the map operation should continue, %FALSE if
|
|
the map operation should stop with %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCapsFeatures</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<interface name="ChildProxy" c:symbol-prefix="child_proxy" c:type="GstChildProxy" glib:type-name="GstChildProxy" glib:get-type="gst_child_proxy_get_type" glib:type-struct="ChildProxyInterface">
|
|
<doc xml:space="preserve">This interface abstracts handling of property sets for elements with
|
|
children. Imagine elements such as mixers or polyphonic generators. They all
|
|
have multiple #GstPad or some kind of voice objects. Another use case are
|
|
container elements like #GstBin.
|
|
The element implementing the interface acts as a parent for those child
|
|
objects.
|
|
|
|
By implementing this interface the child properties can be accessed from the
|
|
parent element by using gst_child_proxy_get() and gst_child_proxy_set().
|
|
|
|
Property names are written as "child-name::property-name". The whole naming
|
|
scheme is recursive. Thus "child1::child2::property" is valid too, if
|
|
"child1" and "child2" implement the #GstChildProxy interface.</doc>
|
|
|
|
<virtual-method name="child_added" invoker="child_added">
|
|
<doc xml:space="preserve">Emits the "child-added" signal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">the newly added child</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the new child</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="child_removed" invoker="child_removed">
|
|
<doc xml:space="preserve">Emits the "child-removed" signal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">the removed child</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the old child</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_child_by_index" invoker="get_child_by_index">
|
|
<doc xml:space="preserve">Fetches a child by its number.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the child object or %NULL if
|
|
not found (index too high). Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object to get the child from</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the child's position in the child list</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_child_by_name" invoker="get_child_by_name">
|
|
<doc xml:space="preserve">Looks up a child element by the given name.
|
|
|
|
This virtual method has a default implementation that uses #GstObject
|
|
together with gst_object_get_name(). If the interface is to be used with
|
|
#GObjects, this methods needs to be overridden.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the child object or %NULL if
|
|
not found. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object to get the child from</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the child's name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_children_count" invoker="get_children_count">
|
|
<doc xml:space="preserve">Gets the number of child objects this parent contains.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of child objects
|
|
|
|
MT safe.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="child_added" c:identifier="gst_child_proxy_child_added">
|
|
<doc xml:space="preserve">Emits the "child-added" signal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">the newly added child</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the new child</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="child_removed" c:identifier="gst_child_proxy_child_removed">
|
|
<doc xml:space="preserve">Emits the "child-removed" signal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">the removed child</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the old child</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get" c:identifier="gst_child_proxy_get" introspectable="0">
|
|
<doc xml:space="preserve">Gets properties of the parent object and its children.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the first property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">return location for the first property, followed optionally by more name/return location pairs, followed by %NULL</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_by_index" c:identifier="gst_child_proxy_get_child_by_index">
|
|
<doc xml:space="preserve">Fetches a child by its number.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the child object or %NULL if
|
|
not found (index too high). Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object to get the child from</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the child's position in the child list</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_by_name" c:identifier="gst_child_proxy_get_child_by_name">
|
|
<doc xml:space="preserve">Looks up a child element by the given name.
|
|
|
|
This virtual method has a default implementation that uses #GstObject
|
|
together with gst_object_get_name(). If the interface is to be used with
|
|
#GObjects, this methods needs to be overridden.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the child object or %NULL if
|
|
not found. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object to get the child from</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the child's name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_children_count" c:identifier="gst_child_proxy_get_children_count">
|
|
<doc xml:space="preserve">Gets the number of child objects this parent contains.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of child objects
|
|
|
|
MT safe.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_property" c:identifier="gst_child_proxy_get_property">
|
|
<doc xml:space="preserve">Gets a single property using the GstChildProxy mechanism.
|
|
You are responsible for freeing it by calling g_value_unset()</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">object to query</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the property</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue that should take the result.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_valist" c:identifier="gst_child_proxy_get_valist" introspectable="0">
|
|
<doc xml:space="preserve">Gets properties of the parent object and its children.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object to query</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the first property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">return location for the first property, followed optionally by more name/return location pairs, followed by %NULL</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="lookup" c:identifier="gst_child_proxy_lookup">
|
|
<doc xml:space="preserve">Looks up which object and #GParamSpec would be effected by the given @name.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @target and @pspec could be found. %FALSE otherwise. In that
|
|
case the values for @pspec and @target are not modified. Unref @target after
|
|
usage. For plain GObjects @target is the same as @object.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">child proxy object to lookup the property in</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the property to look up</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="target" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GObject that
|
|
takes the real object to set property on</doc>
|
|
<type name="GObject.Object" c:type="GObject**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to take the #GParamSpec
|
|
describing the property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set" c:identifier="gst_child_proxy_set" introspectable="0">
|
|
<doc xml:space="preserve">Sets properties of the parent object and its children.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the first property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">value for the first property, followed optionally by more name/value pairs, followed by %NULL</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_property" c:identifier="gst_child_proxy_set_property">
|
|
<doc xml:space="preserve">Sets a single property using the GstChildProxy mechanism.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">new #GValue for the property</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_valist" c:identifier="gst_child_proxy_set_valist" introspectable="0">
|
|
<doc xml:space="preserve">Sets properties of the parent object and its children.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the first property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">value for the first property, followed optionally by more name/value pairs, followed by %NULL</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<glib:signal name="child-added" when="first">
|
|
<doc xml:space="preserve">Will be emitted after the @object was added to the @child_proxy.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GObject that was added</doc>
|
|
<type name="GObject.Object"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the new child</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="child-removed" when="first">
|
|
<doc xml:space="preserve">Will be emitted after the @object was removed from the @child_proxy.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GObject that was removed</doc>
|
|
<type name="GObject.Object"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the old child</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</interface>
|
|
<record name="ChildProxyInterface" c:type="GstChildProxyInterface" glib:is-gtype-struct-for="ChildProxy">
|
|
<doc xml:space="preserve">#GstChildProxy interface.</doc>
|
|
|
|
<field name="parent">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="get_child_by_name">
|
|
<callback name="get_child_by_name">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the child object or %NULL if
|
|
not found. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object to get the child from</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the child's name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_child_by_index">
|
|
<callback name="get_child_by_index">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the child object or %NULL if
|
|
not found (index too high). Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object to get the child from</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the child's position in the child list</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_children_count">
|
|
<callback name="get_children_count">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of child objects
|
|
|
|
MT safe.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="child_added">
|
|
<callback name="child_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">the newly added child</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the new child</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="child_removed">
|
|
<callback name="child_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent object</doc>
|
|
<type name="ChildProxy" c:type="GstChildProxy*"/>
|
|
</parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">the removed child</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the old child</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<class name="Clock" c:symbol-prefix="clock" c:type="GstClock" parent="Object" abstract="1" glib:type-name="GstClock" glib:get-type="gst_clock_get_type" glib:type-struct="ClockClass">
|
|
<doc xml:space="preserve">GStreamer uses a global clock to synchronize the plugins in a pipeline.
|
|
Different clock implementations are possible by implementing this abstract
|
|
base class or, more conveniently, by subclassing #GstSystemClock.
|
|
|
|
The #GstClock returns a monotonically increasing time with the method
|
|
gst_clock_get_time(). Its accuracy and base time depend on the specific
|
|
clock implementation but time is always expressed in nanoseconds. Since the
|
|
baseline of the clock is undefined, the clock time returned is not
|
|
meaningful in itself, what matters are the deltas between two clock times.
|
|
The time returned by a clock is called the absolute time.
|
|
|
|
The pipeline uses the clock to calculate the running time. Usually all
|
|
renderers synchronize to the global clock using the buffer timestamps, the
|
|
newsegment events and the element's base time, see #GstPipeline.
|
|
|
|
A clock implementation can support periodic and single shot clock
|
|
notifications both synchronous and asynchronous.
|
|
|
|
One first needs to create a #GstClockID for the periodic or single shot
|
|
notification using gst_clock_new_single_shot_id() or
|
|
gst_clock_new_periodic_id().
|
|
|
|
To perform a blocking wait for the specific time of the #GstClockID use the
|
|
gst_clock_id_wait(). To receive a callback when the specific time is reached
|
|
in the clock use gst_clock_id_wait_async(). Both these calls can be
|
|
interrupted with the gst_clock_id_unschedule() call. If the blocking wait is
|
|
unscheduled a return value of #GST_CLOCK_UNSCHEDULED is returned.
|
|
|
|
Periodic callbacks scheduled async will be repeatedly called automatically
|
|
until it is unscheduled. To schedule a sync periodic callback,
|
|
gst_clock_id_wait() should be called repeatedly.
|
|
|
|
The async callbacks can happen from any thread, either provided by the core
|
|
or from a streaming thread. The application should be prepared for this.
|
|
|
|
A #GstClockID that has been unscheduled cannot be used again for any wait
|
|
operation, a new #GstClockID should be created and the old unscheduled one
|
|
should be destroyed with gst_clock_id_unref().
|
|
|
|
It is possible to perform a blocking wait on the same #GstClockID from
|
|
multiple threads. However, registering the same #GstClockID for multiple
|
|
async notifications is not possible, the callback will only be called for
|
|
the thread registering the entry last.
|
|
|
|
None of the wait operations unref the #GstClockID, the owner is responsible
|
|
for unreffing the ids itself. This holds for both periodic and single shot
|
|
notifications. The reason being that the owner of the #GstClockID has to
|
|
keep a handle to the #GstClockID to unblock the wait on FLUSHING events or
|
|
state changes and if the entry would be unreffed automatically, the handle
|
|
might become invalid without any notification.
|
|
|
|
These clock operations do not operate on the running time, so the callbacks
|
|
will also occur when not in PLAYING state as if the clock just keeps on
|
|
running. Some clocks however do not progress when the element that provided
|
|
the clock is not PLAYING.
|
|
|
|
When a clock has the #GST_CLOCK_FLAG_CAN_SET_MASTER flag set, it can be
|
|
slaved to another #GstClock with the gst_clock_set_master(). The clock will
|
|
then automatically be synchronized to this master clock by repeatedly
|
|
sampling the master clock and the slave clock and recalibrating the slave
|
|
clock with gst_clock_set_calibration(). This feature is mostly useful for
|
|
plugins that have an internal clock but must operate with another clock
|
|
selected by the #GstPipeline. They can track the offset and rate difference
|
|
of their internal clock relative to the master clock by using the
|
|
gst_clock_get_calibration() function.
|
|
|
|
The master/slave synchronisation can be tuned with the #GstClock:timeout,
|
|
#GstClock:window-size and #GstClock:window-threshold properties.
|
|
The #GstClock:timeout property defines the interval to sample the master
|
|
clock and run the calibration functions. #GstClock:window-size defines the
|
|
number of samples to use when calibrating and #GstClock:window-threshold
|
|
defines the minimum number of samples before the calibration is performed.</doc>
|
|
|
|
<function name="id_compare_func" c:identifier="gst_clock_id_compare_func">
|
|
<doc xml:space="preserve">Compares the two #GstClockID instances. This function can be used
|
|
as a GCompareFunc when sorting ids.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">negative value if a < b; zero if a = b; positive value if a > b
|
|
|
|
MT safe.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id1" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstClockID</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="id2" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstClockID to compare with</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_get_clock" c:identifier="gst_clock_id_get_clock" version="1.16">
|
|
<doc xml:space="preserve">This function returns the underlying clock.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstClock or %NULL when the
|
|
underlying clock has been freed. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockID</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_get_time" c:identifier="gst_clock_id_get_time">
|
|
<doc xml:space="preserve">Get the time of the clock ID</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the time of the given clock id.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstClockID to query</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_ref" c:identifier="gst_clock_id_ref">
|
|
<doc xml:space="preserve">Increase the refcount of given @id.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The same #GstClockID with increased refcount.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstClockID to ref</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_unref" c:identifier="gst_clock_id_unref">
|
|
<doc xml:space="preserve">Unref given @id. When the refcount reaches 0 the
|
|
#GstClockID will be freed.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="full">
|
|
<doc xml:space="preserve">The #GstClockID to unref</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_unschedule" c:identifier="gst_clock_id_unschedule">
|
|
<doc xml:space="preserve">Cancel an outstanding request with @id. This can either
|
|
be an outstanding async notification or a pending sync notification.
|
|
After this call, @id cannot be used anymore to receive sync or
|
|
async notifications, you need to create a new #GstClockID.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The id to unschedule</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_uses_clock" c:identifier="gst_clock_id_uses_clock" version="1.16">
|
|
<doc xml:space="preserve">This function returns whether @id uses @clock as the underlying clock.
|
|
@clock can be NULL, in which case the return value indicates whether
|
|
the underlying clock has been freed. If this is the case, the @id is
|
|
no longer usable and should be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the clock @id uses the same underlying #GstClock @clock.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockID to check</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to compare against</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_wait" c:identifier="gst_clock_id_wait">
|
|
<doc xml:space="preserve">Perform a blocking wait on @id.
|
|
@id should have been created with gst_clock_new_single_shot_id()
|
|
or gst_clock_new_periodic_id() and should not have been unscheduled
|
|
with a call to gst_clock_id_unschedule().
|
|
|
|
If the @jitter argument is not %NULL and this function returns #GST_CLOCK_OK
|
|
or #GST_CLOCK_EARLY, it will contain the difference
|
|
against the clock and the time of @id when this method was
|
|
called.
|
|
Positive values indicate how late @id was relative to the clock
|
|
(in which case this function will return #GST_CLOCK_EARLY).
|
|
Negative values indicate how much time was spent waiting on the clock
|
|
before this function returned.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result of the blocking wait. #GST_CLOCK_EARLY will be returned
|
|
if the current clock time is past the time of @id, #GST_CLOCK_OK if
|
|
@id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was
|
|
unscheduled with gst_clock_id_unschedule().
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstClockID to wait on</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
<parameter name="jitter" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer that will contain the jitter,
|
|
can be %NULL.</doc>
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="id_wait_async" c:identifier="gst_clock_id_wait_async">
|
|
<doc xml:space="preserve">Register a callback on the given #GstClockID @id with the given
|
|
function and user_data. When passing a #GstClockID with an invalid
|
|
time to this function, the callback will be called immediately
|
|
with a time set to GST_CLOCK_TIME_NONE. The callback will
|
|
be called when the time of @id has been reached.
|
|
|
|
The callback @func can be invoked from any thread, either provided by the
|
|
core or from a streaming thread. The application should be prepared for this.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result of the non blocking wait.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockID to wait on</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3">
|
|
<doc xml:space="preserve">The callback function</doc>
|
|
<type name="ClockCallback" c:type="GstClockCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">User data passed in the callback</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="destroy_data" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">#GDestroyNotify for user_data</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="change_resolution">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="old_resolution" transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="new_resolution" transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_internal_time" invoker="get_internal_time">
|
|
<doc xml:space="preserve">Gets the current internal time of the given clock. The time is returned
|
|
unadjusted for the offset and the rate.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the internal time of the clock. Or GST_CLOCK_TIME_NONE when
|
|
given invalid input.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to query</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_resolution" invoker="get_resolution">
|
|
<doc xml:space="preserve">Get the accuracy of the clock. The accuracy of the clock is the granularity
|
|
of the values returned by gst_clock_get_time().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the resolution of the clock in units of #GstClockTime.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="unschedule">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="entry" transfer-ownership="none">
|
|
<type name="ClockEntry" c:type="GstClockEntry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="wait">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="entry" transfer-ownership="none">
|
|
<type name="ClockEntry" c:type="GstClockEntry*"/>
|
|
</parameter>
|
|
<parameter name="jitter" transfer-ownership="none">
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="wait_async">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="entry" transfer-ownership="none">
|
|
<type name="ClockEntry" c:type="GstClockEntry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_observation" c:identifier="gst_clock_add_observation">
|
|
<doc xml:space="preserve">The time @master of the master clock and the time @slave of the slave
|
|
clock are added to the list of observations. If enough observations
|
|
are available, a linear regression algorithm is run on the
|
|
observations and @clock is recalibrated.
|
|
|
|
If this functions returns %TRUE, @r_squared will contain the
|
|
correlation coefficient of the interpolation. A value of 1.0
|
|
means a perfect regression was performed. This value can
|
|
be used to control the sampling frequency of the master and slave
|
|
clocks.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if enough observations were added to run the
|
|
regression algorithm.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="slave" transfer-ownership="none">
|
|
<doc xml:space="preserve">a time on the slave</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="master" transfer-ownership="none">
|
|
<doc xml:space="preserve">a time on the master</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="r_squared" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to hold the result</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_observation_unapplied" c:identifier="gst_clock_add_observation_unapplied" version="1.6">
|
|
<doc xml:space="preserve">Add a clock observation to the internal slaving algorithm the same as
|
|
gst_clock_add_observation(), and return the result of the master clock
|
|
estimation, without updating the internal calibration.
|
|
|
|
The caller can then take the results and call gst_clock_set_calibration()
|
|
with the values, or some modified version of them.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="slave" transfer-ownership="none">
|
|
<doc xml:space="preserve">a time on the slave</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="master" transfer-ownership="none">
|
|
<doc xml:space="preserve">a time on the master</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="r_squared" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to hold the result</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="internal" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="external" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the external time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="rate_num" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the rate numerator</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="rate_denom" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the rate denominator</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="adjust_unlocked" c:identifier="gst_clock_adjust_unlocked">
|
|
<doc xml:space="preserve">Converts the given @internal clock time to the external time, adjusting for the
|
|
rate and reference time set with gst_clock_set_calibration() and making sure
|
|
that the returned time is increasing. This function should be called with the
|
|
clock's OBJECT_LOCK held and is mainly used by clock subclasses.
|
|
|
|
This function is the reverse of gst_clock_unadjust_unlocked().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the converted time of the clock.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to use</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="internal" transfer-ownership="none">
|
|
<doc xml:space="preserve">a clock time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="adjust_with_calibration" c:identifier="gst_clock_adjust_with_calibration" version="1.6">
|
|
<doc xml:space="preserve">Converts the given @internal_target clock time to the external time,
|
|
using the passed calibration parameters. This function performs the
|
|
same calculation as gst_clock_adjust_unlocked() when called using the
|
|
current calibration parameters, but doesn't ensure a monotonically
|
|
increasing result as gst_clock_adjust_unlocked() does.
|
|
|
|
Note: The @clock parameter is unused and can be NULL</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the converted time of the clock.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstClock to use</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="internal_target" transfer-ownership="none">
|
|
<doc xml:space="preserve">a clock time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cinternal" transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cexternal" transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference external time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cnum" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the rate of the clock relative to its
|
|
internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cdenom" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the rate of the clock</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_calibration" c:identifier="gst_clock_get_calibration">
|
|
<doc xml:space="preserve">Gets the internal rate and reference time of @clock. See
|
|
gst_clock_set_calibration() for more information.
|
|
|
|
@internal, @external, @rate_num, and @rate_denom can be left %NULL if the
|
|
caller is not interested in the values.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="internal" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="external" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the external time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="rate_num" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the rate numerator</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="rate_denom" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location to store the rate denominator</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_internal_time" c:identifier="gst_clock_get_internal_time">
|
|
<doc xml:space="preserve">Gets the current internal time of the given clock. The time is returned
|
|
unadjusted for the offset and the rate.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the internal time of the clock. Or GST_CLOCK_TIME_NONE when
|
|
given invalid input.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to query</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_master" c:identifier="gst_clock_get_master">
|
|
<doc xml:space="preserve">Get the master clock that @clock is slaved to or %NULL when the clock is
|
|
not slaved to any master clock.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a master #GstClock or %NULL
|
|
when this clock is not slaved to a master clock. Unref after
|
|
usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_resolution" c:identifier="gst_clock_get_resolution">
|
|
<doc xml:space="preserve">Get the accuracy of the clock. The accuracy of the clock is the granularity
|
|
of the values returned by gst_clock_get_time().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the resolution of the clock in units of #GstClockTime.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_time" c:identifier="gst_clock_get_time">
|
|
<doc xml:space="preserve">Gets the current time of the given clock. The time is always
|
|
monotonically increasing and adjusted according to the current
|
|
offset and rate.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the time of the clock. Or GST_CLOCK_TIME_NONE when
|
|
given invalid input.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to query</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_timeout" c:identifier="gst_clock_get_timeout">
|
|
<doc xml:space="preserve">Get the amount of time that master and slave clocks are sampled.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the interval between samples.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_synced" c:identifier="gst_clock_is_synced" version="1.6">
|
|
<doc xml:space="preserve">Checks if the clock is currently synced.
|
|
|
|
This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the clock is currently synced</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="new_periodic_id" c:identifier="gst_clock_new_periodic_id">
|
|
<doc xml:space="preserve">Get an ID from @clock to trigger a periodic notification.
|
|
The periodic notifications will start at time @start_time and
|
|
will then be fired with the given @interval. @id should be unreffed
|
|
after usage.
|
|
|
|
Free-function: gst_clock_id_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstClockID that can be used to request the
|
|
time notification.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstClockID to get a periodic notification id from</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="start_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested start time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested interval</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="new_single_shot_id" c:identifier="gst_clock_new_single_shot_id">
|
|
<doc xml:space="preserve">Get a #GstClockID from @clock to trigger a single shot
|
|
notification at the requested time. The single shot id should be
|
|
unreffed after usage.
|
|
|
|
Free-function: gst_clock_id_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstClockID that can be used to request the
|
|
time notification.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstClockID to get a single shot notification from</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="periodic_id_reinit" c:identifier="gst_clock_periodic_id_reinit">
|
|
<doc xml:space="preserve">Reinitializes the provided periodic @id to the provided start time and
|
|
interval. Does not modify the reference count.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the GstClockID could be reinitialized to the provided
|
|
@time, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockID</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
<parameter name="start_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested start time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested interval</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_calibration" c:identifier="gst_clock_set_calibration">
|
|
<doc xml:space="preserve">Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of
|
|
the clock. Values bigger than 1/1 make the clock go faster.
|
|
|
|
@internal and @external are calibration parameters that arrange that
|
|
gst_clock_get_time() should have been @external at internal time @internal.
|
|
This internal time should not be in the future; that is, it should be less
|
|
than the value of gst_clock_get_internal_time() when this function is called.
|
|
|
|
Subsequent calls to gst_clock_get_time() will return clock times computed as
|
|
follows:
|
|
|
|
|[
|
|
time = (internal_time - internal) * rate_num / rate_denom + external
|
|
]|
|
|
|
|
This formula is implemented in gst_clock_adjust_unlocked(). Of course, it
|
|
tries to do the integer arithmetic as precisely as possible.
|
|
|
|
Note that gst_clock_get_time() always returns increasing values so when you
|
|
move the clock backwards, gst_clock_get_time() will report the previous value
|
|
until the clock catches up.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to calibrate</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="internal" transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="external" transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference external time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="rate_num" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the rate of the clock relative to its
|
|
internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="rate_denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the rate of the clock</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_master" c:identifier="gst_clock_set_master">
|
|
<doc xml:space="preserve">Set @master as the master clock for @clock. @clock will be automatically
|
|
calibrated so that gst_clock_get_time() reports the same time as the
|
|
master clock.
|
|
|
|
A clock provider that slaves its clock to a master can get the current
|
|
calibration values with gst_clock_get_calibration().
|
|
|
|
@master can be %NULL in which case @clock will not be slaved anymore. It will
|
|
however keep reporting its time adjusted with the last configured rate
|
|
and time offsets.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the clock is capable of being slaved to a master clock.
|
|
Trying to set a master on a clock without the
|
|
#GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="master" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a master #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_resolution" c:identifier="gst_clock_set_resolution">
|
|
<doc xml:space="preserve">Set the accuracy of the clock. Some clocks have the possibility to operate
|
|
with different accuracy at the expense of more resource usage. There is
|
|
normally no need to change the default resolution of a clock. The resolution
|
|
of a clock can only be changed if the clock has the
|
|
#GST_CLOCK_FLAG_CAN_SET_RESOLUTION flag set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the new resolution of the clock.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="resolution" transfer-ownership="none">
|
|
<doc xml:space="preserve">The resolution to set</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_synced" c:identifier="gst_clock_set_synced" version="1.6">
|
|
<doc xml:space="preserve">Sets @clock to synced and emits the GstClock::synced signal, and wakes up any
|
|
thread waiting in gst_clock_wait_for_sync().
|
|
|
|
This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
|
|
is set on the clock, and is intended to be called by subclasses only.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="synced" transfer-ownership="none">
|
|
<doc xml:space="preserve">if the clock is synced</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_timeout" c:identifier="gst_clock_set_timeout">
|
|
<doc xml:space="preserve">Set the amount of time, in nanoseconds, to sample master and slave
|
|
clocks</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a timeout</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="single_shot_id_reinit" c:identifier="gst_clock_single_shot_id_reinit">
|
|
<doc xml:space="preserve">Reinitializes the provided single shot @id to the provided time. Does not
|
|
modify the reference count.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the GstClockID could be reinitialized to the provided
|
|
@time, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockID</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
<parameter name="time" transfer-ownership="none">
|
|
<doc xml:space="preserve">The requested time.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unadjust_unlocked" c:identifier="gst_clock_unadjust_unlocked">
|
|
<doc xml:space="preserve">Converts the given @external clock time to the internal time of @clock,
|
|
using the rate and reference time set with gst_clock_set_calibration().
|
|
This function should be called with the clock's OBJECT_LOCK held and
|
|
is mainly used by clock subclasses.
|
|
|
|
This function is the reverse of gst_clock_adjust_unlocked().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the internal time of the clock corresponding to @external.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to use</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="external" transfer-ownership="none">
|
|
<doc xml:space="preserve">an external clock time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unadjust_with_calibration" c:identifier="gst_clock_unadjust_with_calibration" version="1.8">
|
|
<doc xml:space="preserve">Converts the given @external_target clock time to the internal time,
|
|
using the passed calibration parameters. This function performs the
|
|
same calculation as gst_clock_unadjust_unlocked() when called using the
|
|
current calibration parameters.
|
|
|
|
Note: The @clock parameter is unused and can be NULL</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the converted time of the clock.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstClock to use</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="external_target" transfer-ownership="none">
|
|
<doc xml:space="preserve">a clock time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cinternal" transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cexternal" transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference external time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cnum" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the rate of the clock relative to its
|
|
internal time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="cdenom" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the rate of the clock</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="wait_for_sync" c:identifier="gst_clock_wait_for_sync" version="1.6">
|
|
<doc xml:space="preserve">Waits until @clock is synced for reporting the current time. If @timeout
|
|
is %GST_CLOCK_TIME_NONE it will wait forever, otherwise it will time out
|
|
after @timeout nanoseconds.
|
|
|
|
For asynchronous waiting, the GstClock::synced signal can be used.
|
|
|
|
This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
|
|
is not set on the clock, or if the clock is already synced.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if waiting was successful, or %FALSE on timeout</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">timeout for waiting or %GST_CLOCK_TIME_NONE</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="timeout" writable="1" transfer-ownership="none">
|
|
<type name="guint64" c:type="guint64"/>
|
|
</property>
|
|
<property name="window-size" writable="1" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<property name="window-threshold" writable="1" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ClockPrivate" c:type="GstClockPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="synced" when="last" version="1.6">
|
|
<doc xml:space="preserve">Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once
|
|
the clock is synchronized, or when it completely lost synchronization.
|
|
This signal will not be emitted on clocks without the flag.
|
|
|
|
This signal will be emitted from an arbitrary thread, most likely not
|
|
the application's main thread.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="synced" transfer-ownership="none">
|
|
<doc xml:space="preserve">if the clock is synced now</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<callback name="ClockCallback" c:type="GstClockCallback">
|
|
<doc xml:space="preserve">The function prototype of the callback.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE or %FALSE (currently unused)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">The clock that triggered the callback</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
<parameter name="time" transfer-ownership="none">
|
|
<doc xml:space="preserve">The time it was triggered</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstClockID that expired</doc>
|
|
<type name="ClockID" c:type="GstClockID"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
|
|
<doc xml:space="preserve">user data passed in the gst_clock_id_wait_async() function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="ClockClass" c:type="GstClockClass" glib:is-gtype-struct-for="Clock">
|
|
<doc xml:space="preserve">GStreamer clock class. Override the vmethods to implement the clock
|
|
functionality.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="change_resolution">
|
|
<callback name="change_resolution">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
<parameter name="old_resolution" transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="new_resolution" transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_resolution">
|
|
<callback name="get_resolution">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the resolution of the clock in units of #GstClockTime.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_internal_time">
|
|
<callback name="get_internal_time">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the internal time of the clock. Or GST_CLOCK_TIME_NONE when
|
|
given invalid input.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClock to query</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="wait">
|
|
<callback name="wait">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
<parameter name="entry" transfer-ownership="none">
|
|
<type name="ClockEntry" c:type="GstClockEntry*"/>
|
|
</parameter>
|
|
<parameter name="jitter" transfer-ownership="none">
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="wait_async">
|
|
<callback name="wait_async">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
<parameter name="entry" transfer-ownership="none">
|
|
<type name="ClockEntry" c:type="GstClockEntry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="unschedule">
|
|
<callback name="unschedule">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
<parameter name="entry" transfer-ownership="none">
|
|
<type name="ClockEntry" c:type="GstClockEntry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<record name="ClockEntry" c:type="GstClockEntry">
|
|
<doc xml:space="preserve">All pending timeouts or periodic notifies are converted into
|
|
an entry.
|
|
Note that GstClockEntry should be treated as an opaque structure. It must
|
|
not be extended or allocated using a custom allocator.</doc>
|
|
|
|
<field name="refcount" writable="1">
|
|
<doc xml:space="preserve">reference counter (read-only)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="clock" writable="1">
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</field>
|
|
<field name="type" writable="1">
|
|
<type name="ClockEntryType" c:type="GstClockEntryType"/>
|
|
</field>
|
|
<field name="time" writable="1">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="interval" writable="1">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="status" writable="1">
|
|
<type name="ClockReturn" c:type="GstClockReturn"/>
|
|
</field>
|
|
<field name="func" writable="1">
|
|
<type name="ClockCallback" c:type="GstClockCallback"/>
|
|
</field>
|
|
<field name="user_data" writable="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="destroy_data" writable="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="unscheduled" writable="1">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="woken_up" writable="1">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</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>
|
|
<enumeration name="ClockEntryType" glib:type-name="GstClockEntryType" glib:get-type="gst_clock_entry_type_get_type" c:type="GstClockEntryType">
|
|
<doc xml:space="preserve">The type of the clock entry</doc>
|
|
<member name="single" value="0" c:identifier="GST_CLOCK_ENTRY_SINGLE" glib:nick="single">
|
|
<doc xml:space="preserve">a single shot timeout</doc>
|
|
</member>
|
|
<member name="periodic" value="1" c:identifier="GST_CLOCK_ENTRY_PERIODIC" glib:nick="periodic">
|
|
<doc xml:space="preserve">a periodic timeout request</doc>
|
|
</member>
|
|
</enumeration>
|
|
<bitfield name="ClockFlags" glib:type-name="GstClockFlags" glib:get-type="gst_clock_flags_get_type" c:type="GstClockFlags">
|
|
<doc xml:space="preserve">The capabilities of this clock</doc>
|
|
<member name="can_do_single_sync" value="16" c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC" glib:nick="can-do-single-sync">
|
|
<doc xml:space="preserve">clock can do a single sync timeout request</doc>
|
|
</member>
|
|
<member name="can_do_single_async" value="32" c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC" glib:nick="can-do-single-async">
|
|
<doc xml:space="preserve">clock can do a single async timeout request</doc>
|
|
</member>
|
|
<member name="can_do_periodic_sync" value="64" c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC" glib:nick="can-do-periodic-sync">
|
|
<doc xml:space="preserve">clock can do sync periodic timeout requests</doc>
|
|
</member>
|
|
<member name="can_do_periodic_async" value="128" c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC" glib:nick="can-do-periodic-async">
|
|
<doc xml:space="preserve">clock can do async periodic timeout callbacks</doc>
|
|
</member>
|
|
<member name="can_set_resolution" value="256" c:identifier="GST_CLOCK_FLAG_CAN_SET_RESOLUTION" glib:nick="can-set-resolution">
|
|
<doc xml:space="preserve">clock's resolution can be changed</doc>
|
|
</member>
|
|
<member name="can_set_master" value="512" c:identifier="GST_CLOCK_FLAG_CAN_SET_MASTER" glib:nick="can-set-master">
|
|
<doc xml:space="preserve">clock can be slaved to a master clock</doc>
|
|
</member>
|
|
<member name="needs_startup_sync" value="1024" c:identifier="GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC" glib:nick="needs-startup-sync">
|
|
<doc xml:space="preserve">clock needs to be synced before it can be used
|
|
(Since: 1.6)</doc>
|
|
</member>
|
|
<member name="last" value="4096" c:identifier="GST_CLOCK_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">subclasses can add additional flags starting from this flag</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="ClockPrivate" c:type="GstClockPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="ClockReturn" glib:type-name="GstClockReturn" glib:get-type="gst_clock_return_get_type" c:type="GstClockReturn">
|
|
<doc xml:space="preserve">The return value of a clock operation.</doc>
|
|
<member name="ok" value="0" c:identifier="GST_CLOCK_OK" glib:nick="ok">
|
|
<doc xml:space="preserve">The operation succeeded.</doc>
|
|
</member>
|
|
<member name="early" value="1" c:identifier="GST_CLOCK_EARLY" glib:nick="early">
|
|
<doc xml:space="preserve">The operation was scheduled too late.</doc>
|
|
</member>
|
|
<member name="unscheduled" value="2" c:identifier="GST_CLOCK_UNSCHEDULED" glib:nick="unscheduled">
|
|
<doc xml:space="preserve">The clockID was unscheduled</doc>
|
|
</member>
|
|
<member name="busy" value="3" c:identifier="GST_CLOCK_BUSY" glib:nick="busy">
|
|
<doc xml:space="preserve">The ClockID is busy</doc>
|
|
</member>
|
|
<member name="badtime" value="4" c:identifier="GST_CLOCK_BADTIME" glib:nick="badtime">
|
|
<doc xml:space="preserve">A bad time was provided to a function.</doc>
|
|
</member>
|
|
<member name="error" value="5" c:identifier="GST_CLOCK_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">An error occurred</doc>
|
|
</member>
|
|
<member name="unsupported" value="6" c:identifier="GST_CLOCK_UNSUPPORTED" glib:nick="unsupported">
|
|
<doc xml:space="preserve">Operation is not supported</doc>
|
|
</member>
|
|
<member name="done" value="7" c:identifier="GST_CLOCK_DONE" glib:nick="done">
|
|
<doc xml:space="preserve">The ClockID is done waiting</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="ClockType" glib:type-name="GstClockType" glib:get-type="gst_clock_type_get_type" c:type="GstClockType">
|
|
<doc xml:space="preserve">The different kind of clocks.</doc>
|
|
<member name="realtime" value="0" c:identifier="GST_CLOCK_TYPE_REALTIME" glib:nick="realtime">
|
|
<doc xml:space="preserve">time since Epoch</doc>
|
|
</member>
|
|
<member name="monotonic" value="1" c:identifier="GST_CLOCK_TYPE_MONOTONIC" glib:nick="monotonic">
|
|
<doc xml:space="preserve">monotonic time since some unspecified starting
|
|
point</doc>
|
|
</member>
|
|
<member name="other" value="2" c:identifier="GST_CLOCK_TYPE_OTHER" glib:nick="other">
|
|
<doc xml:space="preserve">some other time source is used (Since: 1.0.5)</doc>
|
|
</member>
|
|
<member name="tai" value="3" c:identifier="GST_CLOCK_TYPE_TAI" glib:nick="tai">
|
|
<doc xml:space="preserve">time since Epoch, but using International Atomic Time
|
|
as reference (Since: 1.18)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="Context" c:type="GstContext" version="1.2" glib:type-name="GstContext" glib:get-type="gst_context_get_type" c:symbol-prefix="context">
|
|
<doc xml:space="preserve">#GstContext is a container object used to store contexts like a device
|
|
context, a display server connection and similar concepts that should
|
|
be shared between multiple elements.
|
|
|
|
Applications can set a context on a complete pipeline by using
|
|
gst_element_set_context(), which will then be propagated to all
|
|
child elements. Elements can handle these in #GstElementClass.set_context()
|
|
and merge them with the context information they already have.
|
|
|
|
When an element needs a context it will do the following actions in this
|
|
order until one step succeeds:
|
|
1. Check if the element already has a context
|
|
2. Query downstream with GST_QUERY_CONTEXT for the context
|
|
3. Query upstream with GST_QUERY_CONTEXT for the context
|
|
4. Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required
|
|
context types and afterwards check if a usable context was set now
|
|
5. Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message
|
|
on the bus.
|
|
|
|
Bins will catch GST_MESSAGE_NEED_CONTEXT messages and will set any previously
|
|
known context on the element that asks for it if possible. Otherwise the
|
|
application should provide one if it can.
|
|
|
|
#GstContext<!-- -->s can be persistent.
|
|
A persistent #GstContext is kept in elements when they reach
|
|
%GST_STATE_NULL, non-persistent ones will be removed.
|
|
Also, a non-persistent context won't override a previous persistent
|
|
context set to an element.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_context_new" version="1.2">
|
|
<doc xml:space="preserve">Create a new context.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new context.</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Context type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="persistent" transfer-ownership="none">
|
|
<doc xml:space="preserve">Persistent context</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="get_context_type" c:identifier="gst_context_get_context_type" version="1.2">
|
|
<doc xml:space="preserve">Get the type of @context.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the context.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstContext.</doc>
|
|
<type name="Context" c:type="const GstContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_structure" c:identifier="gst_context_get_structure" version="1.2">
|
|
<doc xml:space="preserve">Access the structure of the context.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The structure of the context. The structure is
|
|
still owned by the context, which means that you should not modify it,
|
|
free it and that the pointer becomes invalid when you free the context.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstContext.</doc>
|
|
<type name="Context" c:type="const GstContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_context_type" c:identifier="gst_context_has_context_type" version="1.2">
|
|
<doc xml:space="preserve">Checks if @context has @context_type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @context has @context_type.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstContext.</doc>
|
|
<type name="Context" c:type="const GstContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="context_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Context type to check.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_persistent" c:identifier="gst_context_is_persistent" version="1.2">
|
|
<doc xml:space="preserve">Check if @context is persistent.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the context is persistent.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstContext.</doc>
|
|
<type name="Context" c:type="const GstContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="writable_structure" c:identifier="gst_context_writable_structure" version="1.2">
|
|
<doc xml:space="preserve">Get a writable version of the structure.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The structure of the context. The structure is still
|
|
owned by the context, which means that you should not free it and
|
|
that the pointer becomes invalid when you free the context.
|
|
This function checks if @context is writable.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstContext.</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="ControlBinding" c:symbol-prefix="control_binding" c:type="GstControlBinding" parent="Object" abstract="1" glib:type-name="GstControlBinding" glib:get-type="gst_control_binding_get_type" glib:type-struct="ControlBindingClass">
|
|
<doc xml:space="preserve">A base class for value mapping objects that attaches control sources to gobject
|
|
properties. Such an object is taking one or more #GstControlSource instances,
|
|
combines them and maps the resulting value to the type and value range of the
|
|
bound property.</doc>
|
|
|
|
<virtual-method name="get_g_value_array" invoker="get_g_value_array">
|
|
<doc xml:space="preserve">Gets a number of #GValues for the given controlled property starting at the
|
|
requested time. The array @values need to hold enough space for @n_values of
|
|
#GValue.
|
|
|
|
This function is useful if one wants to e.g. draw a graph of the control
|
|
curve or apply a control curve sample by sample.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="2" zero-terminated="0" c:type="GValue*">
|
|
<type name="GObject.Value" c:type="GValue"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_value" invoker="get_value">
|
|
<doc xml:space="preserve">Gets the value for the given controlled property at the requested time.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GValue of the property at the given time,
|
|
or %NULL if the property isn't controlled.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time the control-change should be read from</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_value_array" invoker="get_value_array" introspectable="0">
|
|
<doc xml:space="preserve">Gets a number of values for the given controlled property starting at the
|
|
requested time. The array @values need to hold enough space for @n_values of
|
|
the same type as the objects property's type.
|
|
|
|
This function is useful if one wants to e.g. draw a graph of the control
|
|
curve or apply a control curve sample by sample.
|
|
|
|
The values are unboxed and ready to be used. The similar function
|
|
gst_control_binding_get_g_value_array() returns the array as #GValues and is
|
|
more suitable for bindings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="2" zero-terminated="0" c:type="gpointer">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sync_values" invoker="sync_values">
|
|
<doc xml:space="preserve">Sets the property of the @object, according to the #GstControlSources that
|
|
handle them and for the given timestamp.
|
|
|
|
If this function fails, it is most likely the application developers fault.
|
|
Most probably the control sources are not setup correctly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the controller value could be applied to the object
|
|
property, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="last_sync" transfer-ownership="none">
|
|
<doc xml:space="preserve">the last time this was called</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_g_value_array" c:identifier="gst_control_binding_get_g_value_array">
|
|
<doc xml:space="preserve">Gets a number of #GValues for the given controlled property starting at the
|
|
requested time. The array @values need to hold enough space for @n_values of
|
|
#GValue.
|
|
|
|
This function is useful if one wants to e.g. draw a graph of the control
|
|
curve or apply a control curve sample by sample.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="2" zero-terminated="0" c:type="GValue*">
|
|
<type name="GObject.Value" c:type="GValue"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value" c:identifier="gst_control_binding_get_value">
|
|
<doc xml:space="preserve">Gets the value for the given controlled property at the requested time.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GValue of the property at the given time,
|
|
or %NULL if the property isn't controlled.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time the control-change should be read from</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value_array" c:identifier="gst_control_binding_get_value_array" introspectable="0">
|
|
<doc xml:space="preserve">Gets a number of values for the given controlled property starting at the
|
|
requested time. The array @values need to hold enough space for @n_values of
|
|
the same type as the objects property's type.
|
|
|
|
This function is useful if one wants to e.g. draw a graph of the control
|
|
curve or apply a control curve sample by sample.
|
|
|
|
The values are unboxed and ready to be used. The similar function
|
|
gst_control_binding_get_g_value_array() returns the array as #GValues and is
|
|
more suitable for bindings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="2" zero-terminated="0" c:type="gpointer">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_disabled" c:identifier="gst_control_binding_is_disabled">
|
|
<doc xml:space="preserve">Check if the control binding is disabled.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the binding is inactive</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_disabled" c:identifier="gst_control_binding_set_disabled">
|
|
<doc xml:space="preserve">This function is used to disable a control binding for some time, i.e.
|
|
gst_object_sync_values() will do nothing.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="disabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">boolean that specifies whether to disable the controller
|
|
or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sync_values" c:identifier="gst_control_binding_sync_values">
|
|
<doc xml:space="preserve">Sets the property of the @object, according to the #GstControlSources that
|
|
handle them and for the given timestamp.
|
|
|
|
If this function fails, it is most likely the application developers fault.
|
|
Most probably the control sources are not setup correctly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the controller value could be applied to the object
|
|
property, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="last_sync" transfer-ownership="none">
|
|
<doc xml:space="preserve">the last time this was called</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="name" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="object" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="Object"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="name">
|
|
<doc xml:space="preserve">name of the property of this binding</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="pspec">
|
|
<doc xml:space="preserve">#GParamSpec for this property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</field>
|
|
<field name="object" readable="0" private="1">
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</field>
|
|
<field name="disabled" readable="0" private="1">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<record name="abi" c:type="abi">
|
|
|
|
<field name="priv" writable="1">
|
|
<type name="ControlBindingPrivate" c:type="GstControlBindingPrivate*"/>
|
|
</field>
|
|
</record>
|
|
<field name="_gst_reserved" writable="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</union>
|
|
</class>
|
|
<record name="ControlBindingClass" c:type="GstControlBindingClass" glib:is-gtype-struct-for="ControlBinding">
|
|
<doc xml:space="preserve">The class structure of #GstControlBinding.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">Parent class</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="sync_values">
|
|
<callback name="sync_values">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the controller value could be applied to the object
|
|
property, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="last_sync" transfer-ownership="none">
|
|
<doc xml:space="preserve">the last time this was called</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_value">
|
|
<callback name="get_value">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GValue of the property at the given time,
|
|
or %NULL if the property isn't controlled.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time the control-change should be read from</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_value_array" introspectable="0">
|
|
<callback name="get_value_array" introspectable="0">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="3" zero-terminated="0" c:type="gpointer">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_g_value_array">
|
|
<callback name="get_g_value_array">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the control binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="3" zero-terminated="0" c:type="GValue*">
|
|
<type name="GObject.Value" c:type="GValue"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<callback name="ControlBindingConvert" c:type="GstControlBindingConvert">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<doc xml:space="preserve">FIXME(2.0): remove, this is unused</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
<parameter name="src_value" transfer-ownership="none">
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="dest_value" transfer-ownership="none">
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="ControlBindingPrivate" c:type="GstControlBindingPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="ControlSource" c:symbol-prefix="control_source" c:type="GstControlSource" parent="Object" abstract="1" glib:type-name="GstControlSource" glib:get-type="gst_control_source_get_type" glib:type-struct="ControlSourceClass">
|
|
<doc xml:space="preserve">The #GstControlSource is a base class for control value sources that could
|
|
be used to get timestamp-value pairs. A control source essentially is a
|
|
function over time.
|
|
|
|
A #GstControlSource is used by first getting an instance of a specific
|
|
control-source, creating a binding for the control-source to the target property
|
|
of the element and then adding the binding to the element. The binding will
|
|
convert the data types and value range to fit to the bound property.
|
|
|
|
For implementing a new #GstControlSource one has to implement
|
|
#GstControlSourceGetValue and #GstControlSourceGetValueArray functions.
|
|
These are then used by gst_control_source_get_value() and
|
|
gst_control_source_get_value_array() to get values for specific timestamps.</doc>
|
|
|
|
<method name="control_source_get_value" c:identifier="gst_control_source_get_value">
|
|
<doc xml:space="preserve">Gets the value for this #GstControlSource at a given timestamp.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the value couldn't be returned, %TRUE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstControlSource object</doc>
|
|
<type name="ControlSource" c:type="GstControlSource*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time for which the value should be returned</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the value</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="control_source_get_value_array" c:identifier="gst_control_source_get_value_array">
|
|
<doc xml:space="preserve">Gets an array of values for for this #GstControlSource. Values that are
|
|
undefined contain NANs.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstControlSource object</doc>
|
|
<type name="ControlSource" c:type="GstControlSource*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first timestamp</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time steps</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values to fetch</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="2" zero-terminated="0" c:type="gdouble*">
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="get_value">
|
|
<doc xml:space="preserve">Function for returning a value for a given timestamp</doc>
|
|
<type name="ControlSourceGetValue" c:type="GstControlSourceGetValue"/>
|
|
</field>
|
|
<field name="get_value_array">
|
|
<doc xml:space="preserve">Function for returning a values array for a given timestamp</doc>
|
|
<type name="ControlSourceGetValueArray" c:type="GstControlSourceGetValueArray"/>
|
|
</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="ControlSourceClass" c:type="GstControlSourceClass" glib:is-gtype-struct-for="ControlSource">
|
|
<doc xml:space="preserve">The class structure of #GstControlSource.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">Parent class</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</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>
|
|
<callback name="ControlSourceGetValue" c:type="GstControlSourceGetValue">
|
|
<doc xml:space="preserve">Function for returning a value for a given timestamp.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value was successfully calculated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstControlSource instance</doc>
|
|
<type name="ControlSource" c:type="GstControlSource*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">timestamp for which a value should be calculated</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value which will be set to the result.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="ControlSourceGetValueArray" c:type="GstControlSourceGetValueArray">
|
|
<doc xml:space="preserve">Function for returning an array of values for starting at a given timestamp.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the values were successfully calculated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstControlSource instance</doc>
|
|
<type name="ControlSource" c:type="GstControlSource*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">timestamp for which a value should be calculated</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="CoreError" glib:type-name="GstCoreError" glib:get-type="gst_core_error_get_type" c:type="GstCoreError" glib:error-domain="gst-core-error-quark">
|
|
<doc xml:space="preserve">Core errors are errors inside the core GStreamer library.</doc>
|
|
<member name="failed" value="1" c:identifier="GST_CORE_ERROR_FAILED" glib:nick="failed">
|
|
<doc xml:space="preserve">a general error which doesn't fit in any other
|
|
category. Make sure you add a custom message to the error call.</doc>
|
|
</member>
|
|
<member name="too_lazy" value="2" c:identifier="GST_CORE_ERROR_TOO_LAZY" glib:nick="too-lazy">
|
|
<doc xml:space="preserve">do not use this except as a placeholder for
|
|
deciding where to go while developing code.</doc>
|
|
</member>
|
|
<member name="not_implemented" value="3" c:identifier="GST_CORE_ERROR_NOT_IMPLEMENTED" glib:nick="not-implemented">
|
|
<doc xml:space="preserve">use this when you do not want to implement
|
|
this functionality yet.</doc>
|
|
</member>
|
|
<member name="state_change" value="4" c:identifier="GST_CORE_ERROR_STATE_CHANGE" glib:nick="state-change">
|
|
<doc xml:space="preserve">used for state change errors.</doc>
|
|
</member>
|
|
<member name="pad" value="5" c:identifier="GST_CORE_ERROR_PAD" glib:nick="pad">
|
|
<doc xml:space="preserve">used for pad-related errors.</doc>
|
|
</member>
|
|
<member name="thread" value="6" c:identifier="GST_CORE_ERROR_THREAD" glib:nick="thread">
|
|
<doc xml:space="preserve">used for thread-related errors.</doc>
|
|
</member>
|
|
<member name="negotiation" value="7" c:identifier="GST_CORE_ERROR_NEGOTIATION" glib:nick="negotiation">
|
|
<doc xml:space="preserve">used for negotiation-related errors.</doc>
|
|
</member>
|
|
<member name="event" value="8" c:identifier="GST_CORE_ERROR_EVENT" glib:nick="event">
|
|
<doc xml:space="preserve">used for event-related errors.</doc>
|
|
</member>
|
|
<member name="seek" value="9" c:identifier="GST_CORE_ERROR_SEEK" glib:nick="seek">
|
|
<doc xml:space="preserve">used for seek-related errors.</doc>
|
|
</member>
|
|
<member name="caps" value="10" c:identifier="GST_CORE_ERROR_CAPS" glib:nick="caps">
|
|
<doc xml:space="preserve">used for caps-related errors.</doc>
|
|
</member>
|
|
<member name="tag" value="11" c:identifier="GST_CORE_ERROR_TAG" glib:nick="tag">
|
|
<doc xml:space="preserve">used for negotiation-related errors.</doc>
|
|
</member>
|
|
<member name="missing_plugin" value="12" c:identifier="GST_CORE_ERROR_MISSING_PLUGIN" glib:nick="missing-plugin">
|
|
<doc xml:space="preserve">used if a plugin is missing.</doc>
|
|
</member>
|
|
<member name="clock" value="13" c:identifier="GST_CORE_ERROR_CLOCK" glib:nick="clock">
|
|
<doc xml:space="preserve">used for clock related errors.</doc>
|
|
</member>
|
|
<member name="disabled" value="14" c:identifier="GST_CORE_ERROR_DISABLED" glib:nick="disabled">
|
|
<doc xml:space="preserve">used if functionality has been disabled at
|
|
compile time.</doc>
|
|
</member>
|
|
<member name="num_errors" value="15" c:identifier="GST_CORE_ERROR_NUM_ERRORS" glib:nick="num-errors">
|
|
<doc xml:space="preserve">the number of core error types.</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_core_error_quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<constant name="DEBUG_BG_MASK" value="240" c:type="GST_DEBUG_BG_MASK">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="DEBUG_BIN_TO_DOT_FILE" c:identifier="GST_DEBUG_BIN_TO_DOT_FILE" introspectable="0">
|
|
<doc xml:space="preserve">To aid debugging applications one can use this method to write out the whole
|
|
network of gstreamer elements that form the pipeline into an dot file.
|
|
This file can be processed with graphviz to get an image, like this:
|
|
|[
|
|
dot -Tpng -oimage.png graph_lowlevel.dot
|
|
]|
|
|
There is also a utility called xdot which allows you to view the dot file
|
|
directly without converting it first.
|
|
|
|
The macro is only active if the environment variable GST_DEBUG_DUMP_DOT_DIR
|
|
is set to a basepath (e.g. /tmp), and the GStreamer debugging subsystem is
|
|
enabled (i.e., no use of `./configure --disable-gst-debug')</doc>
|
|
|
|
<parameters>
|
|
<parameter name="bin">
|
|
<doc xml:space="preserve">the top-level pipeline that should be analyzed</doc>
|
|
</parameter>
|
|
<parameter name="details">
|
|
<doc xml:space="preserve">details to show in the graph, e.g. #GST_DEBUG_GRAPH_SHOW_ALL or
|
|
one or more other #GstDebugGraphDetails flags.</doc>
|
|
</parameter>
|
|
<parameter name="file_name">
|
|
<doc xml:space="preserve">output base filename (e.g. "myplayer")</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_BIN_TO_DOT_FILE_WITH_TS" c:identifier="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS" introspectable="0">
|
|
<doc xml:space="preserve">This works like GST_DEBUG_BIN_TO_DOT_FILE(), but adds the current timestamp
|
|
to the filename, so that it can be used to take multiple snapshots.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="bin">
|
|
<doc xml:space="preserve">the top-level pipeline that should be analyzed</doc>
|
|
</parameter>
|
|
<parameter name="details">
|
|
<doc xml:space="preserve">details to show in the graph, e.g. #GST_DEBUG_GRAPH_SHOW_ALL or
|
|
one or more other #GstDebugGraphDetails flags.</doc>
|
|
</parameter>
|
|
<parameter name="file_name">
|
|
<doc xml:space="preserve">output base filename (e.g. "myplayer")</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_CATEGORY" c:identifier="GST_DEBUG_CATEGORY" introspectable="0">
|
|
<doc xml:space="preserve">Defines a GstDebugCategory variable.
|
|
This macro expands to nothing if debugging is disabled.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">the category</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_CATEGORY_EXTERN" c:identifier="GST_DEBUG_CATEGORY_EXTERN" introspectable="0">
|
|
<doc xml:space="preserve">Declares a GstDebugCategory variable as extern. Use in header files.
|
|
This macro expands to nothing if debugging is disabled.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">the category</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_CATEGORY_GET" c:identifier="GST_DEBUG_CATEGORY_GET" introspectable="0">
|
|
<doc xml:space="preserve">Looks up an existing #GstDebugCategory by its @name and sets @cat. If the
|
|
category is not found, but GST_CAT_DEFAULT is defined, that is assigned to
|
|
@cat. Otherwise @cat will be %NULL.
|
|
|
|
|[<!-- language="C" -->
|
|
GST_DEBUG_CATEGORY_STATIC (gst_myplugin_debug);
|
|
#define GST_CAT_DEFAULT gst_myplugin_debug
|
|
GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
|
|
...
|
|
GST_DEBUG_CATEGORY_INIT (gst_myplugin_debug, "myplugin", 0, "nice element");
|
|
GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
|
|
]|</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">the category to initialize.</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">log category name</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_CATEGORY_INIT" c:identifier="GST_DEBUG_CATEGORY_INIT" introspectable="0">
|
|
<doc xml:space="preserve">Initializes a new #GstDebugCategory with the given properties and set to
|
|
the default threshold.
|
|
|
|
> This macro expands to nothing if debugging is disabled.
|
|
>
|
|
> When naming your category, please follow the following conventions to ensure
|
|
> that the pattern matching for categories works as expected. It is not
|
|
> earth-shattering if you don't follow these conventions, but it would be nice
|
|
> for everyone.
|
|
>
|
|
> If you define a category for a plugin or a feature of it, name the category
|
|
> like the feature. So if you wanted to write a "filesrc" element, you would
|
|
> name the category "filesrc". Use lowercase letters only.
|
|
> If you define more than one category for the same element, append an
|
|
> underscore and an identifier to your categories, like this: "filesrc_cache"
|
|
>
|
|
> If you create a library or an application using debugging categories, use a
|
|
> common prefix followed by an underscore for all your categories. GStreamer
|
|
> uses the GST prefix so GStreamer categories look like "GST_STATES". Be sure
|
|
> to include uppercase letters.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">the category to initialize.</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">the name of the category.</doc>
|
|
</parameter>
|
|
<parameter name="color">
|
|
<doc xml:space="preserve">the colors to use for a color representation or 0 for no color.</doc>
|
|
</parameter>
|
|
<parameter name="description">
|
|
<doc xml:space="preserve">optional description of the category.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_CATEGORY_STATIC" c:identifier="GST_DEBUG_CATEGORY_STATIC" introspectable="0">
|
|
<doc xml:space="preserve">Defines a static GstDebugCategory variable.
|
|
This macro expands to nothing if debugging is disabled.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cat">
|
|
<doc xml:space="preserve">the category</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="DEBUG_FG_MASK" value="15" c:type="GST_DEBUG_FG_MASK">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="DEBUG_FORMAT_MASK" value="65280" c:type="GST_DEBUG_FORMAT_MASK">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="DEBUG_FUNCPTR" c:identifier="GST_DEBUG_FUNCPTR" introspectable="0">
|
|
<doc xml:space="preserve">Register a pointer to a function with its name, so it can later be used by
|
|
GST_DEBUG_FUNCPTR_NAME().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ptr">
|
|
<doc xml:space="preserve">pointer to the function to register</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_FUNCPTR_NAME" c:identifier="GST_DEBUG_FUNCPTR_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Retrieves the name of the function, if it was previously registered with
|
|
GST_DEBUG_FUNCPTR(). If not, it returns a description of the pointer.
|
|
|
|
This macro returns a constant string which must not be modified or
|
|
freed by the caller.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ptr">
|
|
<doc xml:space="preserve">address of the function of which to look up the name</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_PAD_NAME" c:identifier="GST_DEBUG_PAD_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Evaluates to 2 strings, that describe the pad. Often used in debugging
|
|
statements.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">The pad to debug.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEBUG_REGISTER_FUNCPTR" c:identifier="GST_DEBUG_REGISTER_FUNCPTR" introspectable="0">
|
|
<doc xml:space="preserve">Register a pointer to a function with its name, so it can later be used by
|
|
GST_DEBUG_FUNCPTR_NAME().
|
|
|
|
Use this variant of #GST_DEBUG_FUNCPTR if you do not need to use @ptr.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ptr">
|
|
<doc xml:space="preserve">pointer to the function to register</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEFINE_MINI_OBJECT_TYPE" c:identifier="GST_DEFINE_MINI_OBJECT_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">Define a new mini-object type with the given name</doc>
|
|
|
|
<parameters>
|
|
<parameter name="TypeName">
|
|
<doc xml:space="preserve">name of the new type in CamelCase</doc>
|
|
</parameter>
|
|
<parameter name="type_name">
|
|
<doc xml:space="preserve">name of the new type</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE" c:identifier="GST_DEVICE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_CAST" c:identifier="GST_DEVICE_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_CLASS" c:identifier="GST_DEVICE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_GET_CLASS" c:identifier="GST_DEVICE_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_MONITOR" c:identifier="GST_DEVICE_MONITOR" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_MONITOR_CAST" c:identifier="GST_DEVICE_MONITOR_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_MONITOR_CLASS" c:identifier="GST_DEVICE_MONITOR_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_MONITOR_GET_CLASS" c:identifier="GST_DEVICE_MONITOR_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER" c:identifier="GST_DEVICE_PROVIDER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER_CAST" c:identifier="GST_DEVICE_PROVIDER_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER_CLASS" c:identifier="GST_DEVICE_PROVIDER_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER_FACTORY" c:identifier="GST_DEVICE_PROVIDER_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER_FACTORY_CAST" c:identifier="GST_DEVICE_PROVIDER_FACTORY_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER_FACTORY_CLASS" c:identifier="GST_DEVICE_PROVIDER_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DEVICE_PROVIDER_GET_CLASS" c:identifier="GST_DEVICE_PROVIDER_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DYNAMIC_TYPE_CLASS" c:identifier="GST_DYNAMIC_TYPE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DYNAMIC_TYPE_FACTORY" c:identifier="GST_DYNAMIC_TYPE_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="DYNAMIC_TYPE_FACTORY_CAST" c:identifier="GST_DYNAMIC_TYPE_FACTORY_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="DateTime" c:type="GstDateTime" glib:type-name="GstDateTime" glib:get-type="gst_date_time_get_type" c:symbol-prefix="date_time">
|
|
<doc xml:space="preserve">Struct to store date, time and timezone information altogether.
|
|
#GstDateTime is refcounted and immutable.
|
|
|
|
Date information is handled using the proleptic Gregorian calendar.
|
|
|
|
Provides basic creation functions and accessor functions to its fields.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_date_time_new">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
|
|
in the supplied timezone.
|
|
|
|
@year should be from 1 to 9999, @month should be from 1 to 12, @day from
|
|
1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.
|
|
|
|
Note that @tzoffset is a float and was chosen so for being able to handle
|
|
some fractional timezones, while it still keeps the readability of
|
|
representing it in hours for most timezones.
|
|
|
|
If value is -1 then all over value will be ignored. For example
|
|
if @month == -1, then #GstDateTime will created only for @year. If
|
|
@day == -1, then #GstDateTime will created for @year and @month and
|
|
so on.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tzoffset" transfer-ownership="none">
|
|
<doc xml:space="preserve">Offset from UTC in hours.</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
<parameter name="year" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian year</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="month" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian month</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="day" transfer-ownership="none">
|
|
<doc xml:space="preserve">the day of the gregorian month</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="hour" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hour of the day</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="minute" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minute of the hour</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the second of the minute</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_g_date_time" c:identifier="gst_date_time_new_from_g_date_time">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime from a #GDateTime object.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly created #GstDateTime,
|
|
or %NULL on error</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dt" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GDateTime. The new #GstDateTime takes ownership.</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_iso8601_string" c:identifier="gst_date_time_new_from_iso8601_string">
|
|
<doc xml:space="preserve">Tries to parse common variants of ISO-8601 datetime strings into a
|
|
#GstDateTime. Possible input formats are (for example):
|
|
2012-06-30T22:46:43Z, 2012, 2012-06, 2012-06-30, 2012-06-30T22:46:43-0430,
|
|
2012-06-30T22:46Z, 2012-06-30T22:46-0430, 2012-06-30 22:46,
|
|
2012-06-30 22:46:43, 2012-06-00, 2012-00-00, 2012-00-30, 22:46:43Z, 22:46Z,
|
|
22:46:43-0430, 22:46-0430, 22:46:30, 22:46
|
|
If no date is provided, it is assumed to be "today" in the timezone
|
|
provided (if any), otherwise UTC.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly created #GstDateTime,
|
|
or %NULL on error</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="string" transfer-ownership="none">
|
|
<doc xml:space="preserve">ISO 8601-formatted datetime string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_unix_epoch_local_time" c:identifier="gst_date_time_new_from_unix_epoch_local_time">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
|
|
@secs. The #GstDateTime is in the local timezone.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="secs" transfer-ownership="none">
|
|
<doc xml:space="preserve">seconds from the Unix epoch</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_unix_epoch_local_time_usecs" c:identifier="gst_date_time_new_from_unix_epoch_local_time_usecs" version="1.18">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
|
|
@usecs. The #GstDateTime is in the local timezone.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="usecs" transfer-ownership="none">
|
|
<doc xml:space="preserve">microseconds from the Unix epoch</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_unix_epoch_utc" c:identifier="gst_date_time_new_from_unix_epoch_utc">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
|
|
@secs. The #GstDateTime is in the UTC timezone.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="secs" transfer-ownership="none">
|
|
<doc xml:space="preserve">seconds from the Unix epoch</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_unix_epoch_utc_usecs" c:identifier="gst_date_time_new_from_unix_epoch_utc_usecs" version="1.18">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
|
|
@usecs. The #GstDateTime is in UTC.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="usecs" transfer-ownership="none">
|
|
<doc xml:space="preserve">microseconds from the Unix epoch</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_local_time" c:identifier="gst_date_time_new_local_time">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
|
|
in the local timezone.
|
|
|
|
@year should be from 1 to 9999, @month should be from 1 to 12, @day from
|
|
1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.
|
|
|
|
If @month is -1, then the #GstDateTime created will only contain @year,
|
|
and all other fields will be considered not set.
|
|
|
|
If @day is -1, then the #GstDateTime created will only contain @year and
|
|
@month and all other fields will be considered not set.
|
|
|
|
If @hour is -1, then the #GstDateTime created will only contain @year and
|
|
@month and @day, and the time fields will be considered not set. In this
|
|
case @minute and @seconds should also be -1.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="year" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian year</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="month" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian month, or -1</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="day" transfer-ownership="none">
|
|
<doc xml:space="preserve">the day of the gregorian month, or -1</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="hour" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hour of the day, or -1</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="minute" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minute of the hour, or -1</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the second of the minute, or -1</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_now_local_time" c:identifier="gst_date_time_new_now_local_time">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime representing the current date and time.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime which should
|
|
be freed with gst_date_time_unref().</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_now_utc" c:identifier="gst_date_time_new_now_utc">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime that represents the current instant at Universal
|
|
coordinated time.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime which should
|
|
be freed with gst_date_time_unref().</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_y" c:identifier="gst_date_time_new_y">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
|
|
in the local timezone.
|
|
|
|
@year should be from 1 to 9999.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="year" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian year</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_ym" c:identifier="gst_date_time_new_ym">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
|
|
in the local timezone.
|
|
|
|
@year should be from 1 to 9999, @month should be from 1 to 12.
|
|
|
|
If value is -1 then all over value will be ignored. For example
|
|
if @month == -1, then #GstDateTime will created only for @year.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="year" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian year</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="month" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian month</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_ymd" c:identifier="gst_date_time_new_ymd">
|
|
<doc xml:space="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
|
|
in the local timezone.
|
|
|
|
@year should be from 1 to 9999, @month should be from 1 to 12, @day from
|
|
1 to 31.
|
|
|
|
If value is -1 then all over value will be ignored. For example
|
|
if @month == -1, then #GstDateTime will created only for @year. If
|
|
@day == -1, then #GstDateTime will created for @year and @month and
|
|
so on.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly created #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="year" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian year</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="month" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gregorian month</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="day" transfer-ownership="none">
|
|
<doc xml:space="preserve">the day of the gregorian month</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="get_day" c:identifier="gst_date_time_get_day">
|
|
<doc xml:space="preserve">Returns the day of the month of this #GstDateTime.
|
|
Call gst_date_time_has_day() before, to avoid warnings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The day of this #GstDateTime</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_hour" c:identifier="gst_date_time_get_hour">
|
|
<doc xml:space="preserve">Retrieves the hour of the day represented by @datetime in the gregorian
|
|
calendar. The return is in the range of 0 to 23.
|
|
Call gst_date_time_has_time() before, to avoid warnings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the hour of the day</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_microsecond" c:identifier="gst_date_time_get_microsecond">
|
|
<doc xml:space="preserve">Retrieves the fractional part of the seconds in microseconds represented by
|
|
@datetime in the gregorian calendar.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the microsecond of the second</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_minute" c:identifier="gst_date_time_get_minute">
|
|
<doc xml:space="preserve">Retrieves the minute of the hour represented by @datetime in the gregorian
|
|
calendar.
|
|
Call gst_date_time_has_time() before, to avoid warnings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the minute of the hour</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_month" c:identifier="gst_date_time_get_month">
|
|
<doc xml:space="preserve">Returns the month of this #GstDateTime. January is 1, February is 2, etc..
|
|
Call gst_date_time_has_month() before, to avoid warnings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The month of this #GstDateTime</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_second" c:identifier="gst_date_time_get_second">
|
|
<doc xml:space="preserve">Retrieves the second of the minute represented by @datetime in the gregorian
|
|
calendar.
|
|
Call gst_date_time_has_time() before, to avoid warnings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the second represented by @datetime</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_time_zone_offset" c:identifier="gst_date_time_get_time_zone_offset">
|
|
<doc xml:space="preserve">Retrieves the offset from UTC in hours that the timezone specified
|
|
by @datetime represents. Timezones ahead (to the east) of UTC have positive
|
|
values, timezones before (to the west) of UTC have negative values.
|
|
If @datetime represents UTC time, then the offset is zero.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset from UTC in hours</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_year" c:identifier="gst_date_time_get_year">
|
|
<doc xml:space="preserve">Returns the year of this #GstDateTime
|
|
Call gst_date_time_has_year() before, to avoid warnings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The year of this #GstDateTime</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_day" c:identifier="gst_date_time_has_day">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @datetime<!-- -->'s day field is set, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_month" c:identifier="gst_date_time_has_month">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @datetime<!-- -->'s month field is set, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_second" c:identifier="gst_date_time_has_second">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @datetime<!-- -->'s second field is set, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_time" c:identifier="gst_date_time_has_time">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @datetime<!-- -->'s hour and minute fields are set,
|
|
otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_year" c:identifier="gst_date_time_has_year">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @datetime<!-- -->'s year field is set (which should always
|
|
be the case), otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="const GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_date_time_ref">
|
|
<doc xml:space="preserve">Atomically increments the reference count of @datetime by one.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the reference @datetime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_g_date_time" c:identifier="gst_date_time_to_g_date_time">
|
|
<doc xml:space="preserve">Creates a new #GDateTime from a fully defined #GstDateTime object.
|
|
|
|
Free-function: g_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly created #GDateTime, or
|
|
%NULL on error</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">GstDateTime.</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_iso8601_string" c:identifier="gst_date_time_to_iso8601_string">
|
|
<doc xml:space="preserve">Create a minimal string compatible with ISO-8601. Possible output formats
|
|
are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
|
|
2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly allocated string formatted according
|
|
to ISO 8601 and only including the datetime fields that are
|
|
valid, or %NULL in case there was an error. The string should
|
|
be freed with g_free().</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="none">
|
|
<doc xml:space="preserve">GstDateTime.</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_date_time_unref">
|
|
<doc xml:space="preserve">Atomically decrements the reference count of @datetime by one. When the
|
|
reference count reaches zero, the structure is freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="datetime" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstDateTime</doc>
|
|
<type name="DateTime" c:type="GstDateTime*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="DebugCategory" c:type="GstDebugCategory">
|
|
<doc xml:space="preserve">This is the struct that describes the categories. Once initialized with
|
|
#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore.</doc>
|
|
|
|
<field name="threshold" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="color" readable="0" private="1">
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="name" readable="0" private="1">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="description" readable="0" private="1">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<method name="free" c:identifier="gst_debug_category_free" deprecated="1">
|
|
<doc xml:space="preserve">Removes and frees the category and all associated resources.</doc>
|
|
<doc-deprecated xml:space="preserve">This function can easily cause memory corruption, don't use it.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstDebugCategory to free.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_color" c:identifier="gst_debug_category_get_color">
|
|
<doc xml:space="preserve">Returns the color of a debug category used when printing output in this
|
|
category.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the color of the category.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory to get the color of.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_description" c:identifier="gst_debug_category_get_description">
|
|
<doc xml:space="preserve">Returns the description of a debug category.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the description of the category.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory to get the description of.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name" c:identifier="gst_debug_category_get_name">
|
|
<doc xml:space="preserve">Returns the name of a debug category.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the category.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory to get name of.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_threshold" c:identifier="gst_debug_category_get_threshold">
|
|
<doc xml:space="preserve">Returns the threshold of a #GstDebugCategory.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstDebugLevel that is used as threshold.</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory to get threshold of.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="reset_threshold" c:identifier="gst_debug_category_reset_threshold">
|
|
<doc xml:space="preserve">Resets the threshold of the category to the default level. Debug information
|
|
will only be output if the threshold is lower or equal to the level of the
|
|
debugging message.
|
|
Use this function to set the threshold back to where it was after using
|
|
gst_debug_category_set_threshold().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory to reset threshold of.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_threshold" c:identifier="gst_debug_category_set_threshold">
|
|
<doc xml:space="preserve">Sets the threshold of the category to the given level. Debug information will
|
|
only be output if the threshold is lower or equal to the level of the
|
|
debugging message.
|
|
> Do not use this function in production code, because other functions may
|
|
> change the threshold of categories as side effect. It is however a nice
|
|
> function to use when debugging (even from gdb).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory to set threshold of.</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</instance-parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstDebugLevel threshold to set.</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="DebugColorFlags" glib:type-name="GstDebugColorFlags" glib:get-type="gst_debug_color_flags_get_type" c:type="GstDebugColorFlags">
|
|
<doc xml:space="preserve">These are some terminal style flags you can use when creating your
|
|
debugging categories to make them stand out in debugging output.</doc>
|
|
<member name="fg_black" value="0" c:identifier="GST_DEBUG_FG_BLACK" glib:nick="fg-black">
|
|
<doc xml:space="preserve">Use black as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_red" value="1" c:identifier="GST_DEBUG_FG_RED" glib:nick="fg-red">
|
|
<doc xml:space="preserve">Use red as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_green" value="2" c:identifier="GST_DEBUG_FG_GREEN" glib:nick="fg-green">
|
|
<doc xml:space="preserve">Use green as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_yellow" value="3" c:identifier="GST_DEBUG_FG_YELLOW" glib:nick="fg-yellow">
|
|
<doc xml:space="preserve">Use yellow as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_blue" value="4" c:identifier="GST_DEBUG_FG_BLUE" glib:nick="fg-blue">
|
|
<doc xml:space="preserve">Use blue as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_magenta" value="5" c:identifier="GST_DEBUG_FG_MAGENTA" glib:nick="fg-magenta">
|
|
<doc xml:space="preserve">Use magenta as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_cyan" value="6" c:identifier="GST_DEBUG_FG_CYAN" glib:nick="fg-cyan">
|
|
<doc xml:space="preserve">Use cyan as foreground color.</doc>
|
|
</member>
|
|
<member name="fg_white" value="7" c:identifier="GST_DEBUG_FG_WHITE" glib:nick="fg-white">
|
|
<doc xml:space="preserve">Use white as foreground color.</doc>
|
|
</member>
|
|
<member name="bg_black" value="0" c:identifier="GST_DEBUG_BG_BLACK" glib:nick="bg-black">
|
|
<doc xml:space="preserve">Use black as background color.</doc>
|
|
</member>
|
|
<member name="bg_red" value="16" c:identifier="GST_DEBUG_BG_RED" glib:nick="bg-red">
|
|
<doc xml:space="preserve">Use red as background color.</doc>
|
|
</member>
|
|
<member name="bg_green" value="32" c:identifier="GST_DEBUG_BG_GREEN" glib:nick="bg-green">
|
|
<doc xml:space="preserve">Use green as background color.</doc>
|
|
</member>
|
|
<member name="bg_yellow" value="48" c:identifier="GST_DEBUG_BG_YELLOW" glib:nick="bg-yellow">
|
|
<doc xml:space="preserve">Use yellow as background color.</doc>
|
|
</member>
|
|
<member name="bg_blue" value="64" c:identifier="GST_DEBUG_BG_BLUE" glib:nick="bg-blue">
|
|
<doc xml:space="preserve">Use blue as background color.</doc>
|
|
</member>
|
|
<member name="bg_magenta" value="80" c:identifier="GST_DEBUG_BG_MAGENTA" glib:nick="bg-magenta">
|
|
<doc xml:space="preserve">Use magenta as background color.</doc>
|
|
</member>
|
|
<member name="bg_cyan" value="96" c:identifier="GST_DEBUG_BG_CYAN" glib:nick="bg-cyan">
|
|
<doc xml:space="preserve">Use cyan as background color.</doc>
|
|
</member>
|
|
<member name="bg_white" value="112" c:identifier="GST_DEBUG_BG_WHITE" glib:nick="bg-white">
|
|
<doc xml:space="preserve">Use white as background color.</doc>
|
|
</member>
|
|
<member name="bold" value="256" c:identifier="GST_DEBUG_BOLD" glib:nick="bold">
|
|
<doc xml:space="preserve">Make the output bold.</doc>
|
|
</member>
|
|
<member name="underline" value="512" c:identifier="GST_DEBUG_UNDERLINE" glib:nick="underline">
|
|
<doc xml:space="preserve">Underline the output.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="DebugColorMode" glib:type-name="GstDebugColorMode" glib:get-type="gst_debug_color_mode_get_type" c:type="GstDebugColorMode">
|
|
<member name="off" value="0" c:identifier="GST_DEBUG_COLOR_MODE_OFF" glib:nick="off">
|
|
<doc xml:space="preserve">Do not use colors in logs.</doc>
|
|
</member>
|
|
<member name="on" value="1" c:identifier="GST_DEBUG_COLOR_MODE_ON" glib:nick="on">
|
|
<doc xml:space="preserve">Paint logs in a platform-specific way.</doc>
|
|
</member>
|
|
<member name="unix" value="2" c:identifier="GST_DEBUG_COLOR_MODE_UNIX" glib:nick="unix">
|
|
<doc xml:space="preserve">Paint logs with UNIX terminal color codes
|
|
no matter what platform GStreamer is running on.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="DebugFuncPtr" c:type="GstDebugFuncPtr">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<doc xml:space="preserve">we define this to avoid a compiler warning regarding a cast from a function
|
|
pointer to a void pointer
|
|
(see https://bugzilla.gnome.org/show_bug.cgi?id=309253)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
<bitfield name="DebugGraphDetails" glib:type-name="GstDebugGraphDetails" glib:get-type="gst_debug_graph_details_get_type" c:type="GstDebugGraphDetails">
|
|
<doc xml:space="preserve">Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
|
|
and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().</doc>
|
|
<member name="media_type" value="1" c:identifier="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE" glib:nick="media-type">
|
|
<doc xml:space="preserve">show caps-name on edges</doc>
|
|
</member>
|
|
<member name="caps_details" value="2" c:identifier="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS" glib:nick="caps-details">
|
|
<doc xml:space="preserve">show caps-details on edges</doc>
|
|
</member>
|
|
<member name="non_default_params" value="4" c:identifier="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS" glib:nick="non-default-params">
|
|
<doc xml:space="preserve">show modified parameters on
|
|
elements</doc>
|
|
</member>
|
|
<member name="states" value="8" c:identifier="GST_DEBUG_GRAPH_SHOW_STATES" glib:nick="states">
|
|
<doc xml:space="preserve">show element states</doc>
|
|
</member>
|
|
<member name="full_params" value="16" c:identifier="GST_DEBUG_GRAPH_SHOW_FULL_PARAMS" glib:nick="full-params">
|
|
<doc xml:space="preserve">show full element parameter values even
|
|
if they are very long</doc>
|
|
</member>
|
|
<member name="all" value="15" c:identifier="GST_DEBUG_GRAPH_SHOW_ALL" glib:nick="all">
|
|
<doc xml:space="preserve">show all the typical details that one might want</doc>
|
|
</member>
|
|
<member name="verbose" value="4294967295" c:identifier="GST_DEBUG_GRAPH_SHOW_VERBOSE" glib:nick="verbose">
|
|
<doc xml:space="preserve">show all details regardless of how large or
|
|
verbose they make the resulting output</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="DebugLevel" glib:type-name="GstDebugLevel" glib:get-type="gst_debug_level_get_type" c:type="GstDebugLevel">
|
|
<doc xml:space="preserve">The level defines the importance of a debugging message. The more important a
|
|
message is, the greater the probability that the debugging system outputs it.</doc>
|
|
<member name="none" value="0" c:identifier="GST_LEVEL_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">No debugging level specified or desired. Used to deactivate
|
|
debugging output.</doc>
|
|
</member>
|
|
<member name="error" value="1" c:identifier="GST_LEVEL_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">Error messages are to be used only when an error occurred
|
|
that stops the application from keeping working correctly.
|
|
An examples is gst_element_error, which outputs a message with this priority.
|
|
It does not mean that the application is terminating as with g_error.</doc>
|
|
</member>
|
|
<member name="warning" value="2" c:identifier="GST_LEVEL_WARNING" glib:nick="warning">
|
|
<doc xml:space="preserve">Warning messages are to inform about abnormal behaviour
|
|
that could lead to problems or weird behaviour later on. An example of this
|
|
would be clocking issues ("your computer is pretty slow") or broken input
|
|
data ("Can't synchronize to stream.")</doc>
|
|
</member>
|
|
<member name="fixme" value="3" c:identifier="GST_LEVEL_FIXME" glib:nick="fixme">
|
|
<doc xml:space="preserve">Fixme messages are messages that indicate that something
|
|
in the executed code path is not fully implemented or handled yet. Note
|
|
that this does not replace proper error handling in any way, the purpose
|
|
of this message is to make it easier to spot incomplete/unfinished pieces
|
|
of code when reading the debug log.</doc>
|
|
</member>
|
|
<member name="info" value="4" c:identifier="GST_LEVEL_INFO" glib:nick="info">
|
|
<doc xml:space="preserve">Informational messages should be used to keep the developer
|
|
updated about what is happening.
|
|
Examples where this should be used are when a typefind function has
|
|
successfully determined the type of the stream or when an mp3 plugin detects
|
|
the format to be used. ("This file has mono sound.")</doc>
|
|
</member>
|
|
<member name="debug" value="5" c:identifier="GST_LEVEL_DEBUG" glib:nick="debug">
|
|
<doc xml:space="preserve">Debugging messages should be used when something common
|
|
happens that is not the expected default behavior, or something that's
|
|
useful to know but doesn't happen all the time (ie. per loop iteration or
|
|
buffer processed or event handled).
|
|
An example would be notifications about state changes or receiving/sending
|
|
of events.</doc>
|
|
</member>
|
|
<member name="log" value="6" c:identifier="GST_LEVEL_LOG" glib:nick="log">
|
|
<doc xml:space="preserve">Log messages are messages that are very common but might be
|
|
useful to know. As a rule of thumb a pipeline that is running as expected
|
|
should never output anything else but LOG messages whilst processing data.
|
|
Use this log level to log recurring information in chain functions and
|
|
loop functions, for example.</doc>
|
|
</member>
|
|
<member name="trace" value="7" c:identifier="GST_LEVEL_TRACE" glib:nick="trace">
|
|
<doc xml:space="preserve">Tracing-related messages.
|
|
Examples for this are referencing/dereferencing of objects.</doc>
|
|
</member>
|
|
<member name="memdump" value="9" c:identifier="GST_LEVEL_MEMDUMP" glib:nick="memdump">
|
|
<doc xml:space="preserve">memory dump messages are used to log (small) chunks of
|
|
data as memory dumps in the log. They will be displayed as hexdump with
|
|
ASCII characters.</doc>
|
|
</member>
|
|
<member name="count" value="10" c:identifier="GST_LEVEL_COUNT" glib:nick="count">
|
|
<doc xml:space="preserve">The number of defined debugging levels.</doc>
|
|
</member>
|
|
<function name="get_name" c:identifier="gst_debug_level_get_name">
|
|
<doc xml:space="preserve">Get the string representation of a debugging level</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">the level to get the name for</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="DebugMessage" c:type="GstDebugMessage" disguised="1">
|
|
|
|
<method name="get" c:identifier="gst_debug_message_get">
|
|
<doc xml:space="preserve">Gets the string representation of a #GstDebugMessage. This function is used
|
|
in debug handlers to extract the message.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the string representation of a #GstDebugMessage.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a debug message</doc>
|
|
<type name="DebugMessage" c:type="GstDebugMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="Device" c:symbol-prefix="device" c:type="GstDevice" version="1.4" parent="Object" abstract="1" glib:type-name="GstDevice" glib:get-type="gst_device_get_type" glib:type-struct="DeviceClass">
|
|
<doc xml:space="preserve">#GstDevice are objects representing a device, they contain
|
|
relevant metadata about the device, such as its class and the #GstCaps
|
|
representing the media types it can produce or handle.
|
|
|
|
#GstDevice are created by #GstDeviceProvider objects which can be
|
|
aggregated by #GstDeviceMonitor objects.</doc>
|
|
|
|
<virtual-method name="create_element" invoker="create_element" version="1.4">
|
|
<doc xml:space="preserve">Creates the element with all of the required parameters set to use
|
|
this device.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstElement configured to use
|
|
this device</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of new element, or %NULL to automatically
|
|
create a unique name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="reconfigure_element" invoker="reconfigure_element" version="1.4">
|
|
<doc xml:space="preserve">Tries to reconfigure an existing element to use the device. If this
|
|
function fails, then one must destroy the element and create a new one
|
|
using gst_device_create_element().
|
|
|
|
Note: This should only be implemented for elements can change their
|
|
device in the PLAYING state.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element could be reconfigured to use this device,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="create_element" c:identifier="gst_device_create_element" version="1.4">
|
|
<doc xml:space="preserve">Creates the element with all of the required parameters set to use
|
|
this device.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstElement configured to use
|
|
this device</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of new element, or %NULL to automatically
|
|
create a unique name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_caps" c:identifier="gst_device_get_caps" version="1.4">
|
|
<doc xml:space="preserve">Getter for the #GstCaps that this device supports.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The #GstCaps supported by this device. Unref with
|
|
gst_caps_unref() when done.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_device_class" c:identifier="gst_device_get_device_class" version="1.4">
|
|
<doc xml:space="preserve">Gets the "class" of a device. This is a "/" separated list of
|
|
classes that represent this device. They are a subset of the
|
|
classes of the #GstDeviceProvider that produced this device.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The device class. Free with g_free() after use.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_display_name" c:identifier="gst_device_get_display_name" version="1.4">
|
|
<doc xml:space="preserve">Gets the user-friendly name of the device.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The device name. Free with g_free() after use.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_properties" c:identifier="gst_device_get_properties" version="1.6">
|
|
<doc xml:space="preserve">Gets the extra properties of a device.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The extra properties or %NULL when there are none.
|
|
Free with gst_structure_free() after use.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_classes" c:identifier="gst_device_has_classes" version="1.4">
|
|
<doc xml:space="preserve">Check if @device matches all of the given classes</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @device matches.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
<parameter name="classes" transfer-ownership="none">
|
|
<doc xml:space="preserve">a "/"-separated list of device classes to match, only match if
|
|
all classes are matched</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_classesv" c:identifier="gst_device_has_classesv" version="1.4">
|
|
<doc xml:space="preserve">Check if @factory matches all of the given classes</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @device matches.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
<parameter name="classes" transfer-ownership="none">
|
|
<doc xml:space="preserve">a %NULL terminated array of classes
|
|
to match, only match if all classes are matched</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="reconfigure_element" c:identifier="gst_device_reconfigure_element" version="1.4">
|
|
<doc xml:space="preserve">Tries to reconfigure an existing element to use the device. If this
|
|
function fails, then one must destroy the element and create a new one
|
|
using gst_device_create_element().
|
|
|
|
Note: This should only be implemented for elements can change their
|
|
device in the PLAYING state.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element could be reconfigured to use this device,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="caps" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="Caps"/>
|
|
</property>
|
|
<property name="device-class" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="display-name" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="properties" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="Structure"/>
|
|
</property>
|
|
<field name="parent">
|
|
<doc xml:space="preserve">The parent #GstObject structure.</doc>
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="DevicePrivate" c:type="GstDevicePrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="removed" when="last">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="DeviceClass" c:type="GstDeviceClass" glib:is-gtype-struct-for="Device" version="1.4">
|
|
<doc xml:space="preserve">The class structure for a #GstDevice object.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">The parent #GstObjectClass structure.</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="create_element">
|
|
<callback name="create_element">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstElement configured to use
|
|
this device</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of new element, or %NULL to automatically
|
|
create a unique name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="reconfigure_element">
|
|
<callback name="reconfigure_element">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element could be reconfigured to use this device,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<class name="DeviceMonitor" c:symbol-prefix="device_monitor" c:type="GstDeviceMonitor" version="1.4" parent="Object" glib:type-name="GstDeviceMonitor" glib:get-type="gst_device_monitor_get_type" glib:type-struct="DeviceMonitorClass">
|
|
<doc xml:space="preserve">Applications should create a #GstDeviceMonitor when they want
|
|
to probe, list and monitor devices of a specific type. The
|
|
#GstDeviceMonitor will create the appropriate
|
|
#GstDeviceProvider objects and manage them. It will then post
|
|
messages on its #GstBus for devices that have been added and
|
|
removed.
|
|
|
|
The device monitor will monitor all devices matching the filters that
|
|
the application has set.
|
|
|
|
The basic use pattern of a device monitor is as follows:
|
|
|[
|
|
static gboolean
|
|
my_bus_func (GstBus * bus, GstMessage * message, gpointer user_data)
|
|
{
|
|
GstDevice *device;
|
|
gchar *name;
|
|
|
|
switch (GST_MESSAGE_TYPE (message)) {
|
|
case GST_MESSAGE_DEVICE_ADDED:
|
|
gst_message_parse_device_added (message, &device);
|
|
name = gst_device_get_display_name (device);
|
|
g_print("Device added: %s\n", name);
|
|
g_free (name);
|
|
gst_object_unref (device);
|
|
break;
|
|
case GST_MESSAGE_DEVICE_REMOVED:
|
|
gst_message_parse_device_removed (message, &device);
|
|
name = gst_device_get_display_name (device);
|
|
g_print("Device removed: %s\n", name);
|
|
g_free (name);
|
|
gst_object_unref (device);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return G_SOURCE_CONTINUE;
|
|
}
|
|
|
|
GstDeviceMonitor *
|
|
setup_raw_video_source_device_monitor (void) {
|
|
GstDeviceMonitor *monitor;
|
|
GstBus *bus;
|
|
GstCaps *caps;
|
|
|
|
monitor = gst_device_monitor_new ();
|
|
|
|
bus = gst_device_monitor_get_bus (monitor);
|
|
gst_bus_add_watch (bus, my_bus_func, NULL);
|
|
gst_object_unref (bus);
|
|
|
|
caps = gst_caps_new_empty_simple ("video/x-raw");
|
|
gst_device_monitor_add_filter (monitor, "Video/Source", caps);
|
|
gst_caps_unref (caps);
|
|
|
|
gst_device_monitor_start (monitor);
|
|
|
|
return monitor;
|
|
}
|
|
]|</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_device_monitor_new" version="1.4">
|
|
<doc xml:space="preserve">Create a new #GstDeviceMonitor</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new device monitor.</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="add_filter" c:identifier="gst_device_monitor_add_filter" version="1.4">
|
|
<doc xml:space="preserve">Adds a filter for which #GstDevice will be monitored, any device that matches
|
|
all these classes and the #GstCaps will be returned.
|
|
|
|
If this function is called multiple times to add more filters, each will be
|
|
matched independently. That is, adding more filters will not further restrict
|
|
what devices are matched.
|
|
|
|
The #GstCaps supported by the device as returned by gst_device_get_caps() are
|
|
not intersected with caps filters added using this function.
|
|
|
|
Filters must be added before the #GstDeviceMonitor is started.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The id of the new filter or 0 if no provider matched the filter's
|
|
classes.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a device monitor</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
<parameter name="classes" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">device classes to use as filter or %NULL for any class</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCaps to filter or %NULL for ANY</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_bus" c:identifier="gst_device_monitor_get_bus" version="1.4">
|
|
<doc xml:space="preserve">Gets the #GstBus of this #GstDeviceMonitor</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_devices" c:identifier="gst_device_monitor_get_devices" version="1.4">
|
|
<doc xml:space="preserve">Gets a list of devices from all of the relevant monitors. This may actually
|
|
probe the hardware if the monitor is not currently started.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstDevice</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Device"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_providers" c:identifier="gst_device_monitor_get_providers" version="1.6">
|
|
<doc xml:space="preserve">Get a list of the currently selected device provider factories.
|
|
|
|
This</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
A list of device provider factory names that are currently being
|
|
monitored by @monitor or %NULL when nothing is being monitored.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceMonitor</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_show_all_devices" c:identifier="gst_device_monitor_get_show_all_devices" version="1.6">
|
|
<doc xml:space="preserve">Get if @monitor is currently showing all devices, even those from hidden
|
|
providers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when all devices will be shown.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceMonitor</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_filter" c:identifier="gst_device_monitor_remove_filter" version="1.4">
|
|
<doc xml:space="preserve">Removes a filter from the #GstDeviceMonitor using the id that was returned
|
|
by gst_device_monitor_add_filter().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE of the filter id was valid, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a device monitor</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the id of the filter</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_show_all_devices" c:identifier="gst_device_monitor_set_show_all_devices" version="1.6">
|
|
<doc xml:space="preserve">Set if all devices should be visible, even those devices from hidden
|
|
providers. Setting @show_all to true might show some devices multiple times.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceMonitor</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
<parameter name="show_all" transfer-ownership="none">
|
|
<doc xml:space="preserve">show all devices</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="start" c:identifier="gst_device_monitor_start" version="1.4">
|
|
<doc xml:space="preserve">Starts monitoring the devices, one this has succeeded, the
|
|
%GST_MESSAGE_DEVICE_ADDED and %GST_MESSAGE_DEVICE_REMOVED messages
|
|
will be emitted on the bus when the list of devices changes.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the device monitoring could be started</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceMonitor</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="stop" c:identifier="gst_device_monitor_stop" version="1.4">
|
|
<doc xml:space="preserve">Stops monitoring the devices.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="monitor" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="show-all" writable="1" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="parent">
|
|
<doc xml:space="preserve">the parent #GstObject structure</doc>
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="DeviceMonitorPrivate" c:type="GstDeviceMonitorPrivate*"/>
|
|
</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="DeviceMonitorClass" c:type="GstDeviceMonitorClass" glib:is-gtype-struct-for="DeviceMonitor" version="1.4">
|
|
<doc xml:space="preserve">Opaque device monitor class structure.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent #GstObjectClass structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</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>
|
|
<record name="DeviceMonitorPrivate" c:type="GstDeviceMonitorPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="DevicePrivate" c:type="GstDevicePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="DeviceProvider" c:symbol-prefix="device_provider" c:type="GstDeviceProvider" version="1.4" parent="Object" abstract="1" glib:type-name="GstDeviceProvider" glib:get-type="gst_device_provider_get_type" glib:type-struct="DeviceProviderClass">
|
|
<doc xml:space="preserve">A #GstDeviceProvider subclass is provided by a plugin that handles devices
|
|
if there is a way to programmatically list connected devices. It can also
|
|
optionally provide updates to the list of connected devices.
|
|
|
|
Each #GstDeviceProvider subclass is a singleton, a plugin should
|
|
normally provide a single subclass for all devices.
|
|
|
|
Applications would normally use a #GstDeviceMonitor to monitor devices
|
|
from all relevant providers.</doc>
|
|
|
|
<function name="register" c:identifier="gst_device_provider_register" version="1.4">
|
|
<doc xml:space="preserve">Create a new device providerfactory capable of instantiating objects of the
|
|
@type and add the factory to @plugin.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the registering succeeded, %FALSE on error</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">#GstPlugin to register the device provider with, or %NULL for
|
|
a static device provider.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of device providers of this type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="rank" transfer-ownership="none">
|
|
<doc xml:space="preserve">rank of device provider (higher rank means more importance when autoplugging)</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">GType of device provider to register</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="probe" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start" invoker="start" version="1.4">
|
|
<doc xml:space="preserve">Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED
|
|
and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus
|
|
when devices are added or removed from the system.
|
|
|
|
Since the #GstDeviceProvider is a singleton,
|
|
gst_device_provider_start() may already have been called by another
|
|
user of the object, gst_device_provider_stop() needs to be called the same
|
|
number of times.
|
|
|
|
After this function has been called, gst_device_provider_get_devices() will
|
|
return the same objects that have been received from the
|
|
#GST_MESSAGE_DEVICE_ADDED messages and will no longer probe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the device providering could be started</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="stop" invoker="stop" version="1.4">
|
|
<doc xml:space="preserve">Decreases the use-count by one. If the use count reaches zero, this
|
|
#GstDeviceProvider will stop providering the devices. This needs to be
|
|
called the same number of times that gst_device_provider_start() was called.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="can_monitor" c:identifier="gst_device_provider_can_monitor">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="device_add" c:identifier="gst_device_provider_device_add" version="1.4">
|
|
<doc xml:space="preserve">Posts a message on the provider's #GstBus to inform applications that
|
|
a new device has been added.
|
|
|
|
This is for use by subclasses.
|
|
|
|
@device's reference count will be incremented, and any floating reference
|
|
will be removed (see gst_object_ref_sink()).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice that has been added</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="device_changed" c:identifier="gst_device_provider_device_changed" version="1.16">
|
|
<doc xml:space="preserve">This function is used when @changed_device was modified into its new form
|
|
@device. This will post a `DEVICE_CHANGED` message on the bus to let
|
|
the application know that the device was modified. #GstDevice is immutable
|
|
for MT. safety purposes so this is an "atomic" way of letting the application
|
|
know when a device was modified.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new version of @changed_device</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
<parameter name="changed_device" transfer-ownership="none">
|
|
<doc xml:space="preserve">the old version of the device that has been updated</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="device_remove" c:identifier="gst_device_provider_device_remove" version="1.4">
|
|
<doc xml:space="preserve">Posts a message on the provider's #GstBus to inform applications that
|
|
a device has been removed.
|
|
|
|
This is for use by subclasses.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDevice that has been removed</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_bus" c:identifier="gst_device_provider_get_bus" version="1.4">
|
|
<doc xml:space="preserve">Gets the #GstBus of this #GstDeviceProvider</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBus</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_devices" c:identifier="gst_device_provider_get_devices" version="1.4">
|
|
<doc xml:space="preserve">Gets a list of devices that this provider understands. This may actually
|
|
probe the hardware if the provider is not currently started.
|
|
|
|
If the provider has been started, this will returned the same #GstDevice
|
|
objedcts that have been returned by the #GST_MESSAGE_DEVICE_ADDED messages.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstDevice</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Device"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_factory" c:identifier="gst_device_provider_get_factory" version="1.4">
|
|
<doc xml:space="preserve">Retrieves the factory that was used to create this device provider.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstDeviceProviderFactory used for
|
|
creating this device provider. no refcounting is needed.</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider to request the device provider factory of.</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_hidden_providers" c:identifier="gst_device_provider_get_hidden_providers" version="1.6">
|
|
<doc xml:space="preserve">Get the provider factory names of the #GstDeviceProvider instances that
|
|
are hidden by @provider.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
a list of hidden providers factory names or %NULL when
|
|
nothing is hidden by @provider. Free with g_strfreev.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata" c:identifier="gst_device_provider_get_metadata" version="1.14">
|
|
<doc xml:space="preserve">Get metadata with @key in @provider.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the metadata for @key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">provider to get metadata for</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="hide_provider" c:identifier="gst_device_provider_hide_provider" version="1.6">
|
|
<doc xml:space="preserve">Make @provider hide the devices from the factory with @name.
|
|
|
|
This function is used when @provider will also provide the devices reported
|
|
by provider factory @name. A monitor should stop monitoring the
|
|
device provider with @name to avoid duplicate devices.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a provider factory name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="start" c:identifier="gst_device_provider_start" version="1.4">
|
|
<doc xml:space="preserve">Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED
|
|
and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus
|
|
when devices are added or removed from the system.
|
|
|
|
Since the #GstDeviceProvider is a singleton,
|
|
gst_device_provider_start() may already have been called by another
|
|
user of the object, gst_device_provider_stop() needs to be called the same
|
|
number of times.
|
|
|
|
After this function has been called, gst_device_provider_get_devices() will
|
|
return the same objects that have been received from the
|
|
#GST_MESSAGE_DEVICE_ADDED messages and will no longer probe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the device providering could be started</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="stop" c:identifier="gst_device_provider_stop" version="1.4">
|
|
<doc xml:space="preserve">Decreases the use-count by one. If the use count reaches zero, this
|
|
#GstDeviceProvider will stop providering the devices. This needs to be
|
|
called the same number of times that gst_device_provider_start() was called.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unhide_provider" c:identifier="gst_device_provider_unhide_provider" version="1.6">
|
|
<doc xml:space="preserve">Make @provider unhide the devices from factory @name.
|
|
|
|
This function is used when @provider will no longer provide the devices
|
|
reported by provider factory @name. A monitor should start
|
|
monitoring the devices from provider factory @name in order to see
|
|
all devices again.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a provider factory name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<doc xml:space="preserve">The parent #GstObject</doc>
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="devices">
|
|
<doc xml:space="preserve">a #GList of the #GstDevice objects</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="DeviceProviderPrivate" c:type="GstDeviceProviderPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="provider-hidden" when="first">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="provider-unhidden" when="first">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="DeviceProviderClass" c:type="GstDeviceProviderClass" glib:is-gtype-struct-for="DeviceProvider" version="1.4">
|
|
<doc xml:space="preserve">The structure of the base #GstDeviceProviderClass</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent #GstObjectClass structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="factory">
|
|
<doc xml:space="preserve">a pointer to the #GstDeviceProviderFactory that creates this
|
|
provider</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</field>
|
|
<field name="probe" introspectable="0">
|
|
<callback name="probe" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="provider" transfer-ownership="none">
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="start">
|
|
<callback name="start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the device providering could be started</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="stop">
|
|
<callback name="stop">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="provider" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstDeviceProvider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="metadata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="add_metadata" c:identifier="gst_device_provider_class_add_metadata" version="1.4">
|
|
<doc xml:space="preserve">Set @key with @value as metadata in @klass.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_static_metadata" c:identifier="gst_device_provider_class_add_static_metadata" version="1.4">
|
|
<doc xml:space="preserve">Set @key with @value as metadata in @klass.
|
|
|
|
Same as gst_device_provider_class_add_metadata(), but @value must be a static string
|
|
or an inlined string, as it will not be copied. (GStreamer plugins will
|
|
be made resident once loaded, so this function can be used even from
|
|
dynamically loaded plugins.)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="full">
|
|
<doc xml:space="preserve">the value to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata" c:identifier="gst_device_provider_class_get_metadata" version="1.4">
|
|
<doc xml:space="preserve">Get metadata with @key in @klass.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the metadata for @key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to get metadata for</doc>
|
|
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_metadata" c:identifier="gst_device_provider_class_set_metadata" version="1.4">
|
|
<doc xml:space="preserve">Sets the detailed information for a #GstDeviceProviderClass.
|
|
|
|
> This function is for use in _class_init functions only.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="longname" transfer-ownership="none">
|
|
<doc xml:space="preserve">The long English name of the device provider. E.g. "File Sink"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="classification" transfer-ownership="none">
|
|
<doc xml:space="preserve">String describing the type of device provider, as an
|
|
unordered list separated with slashes ('/'). See draft-klass.txt of the
|
|
design docs
|
|
for more details and common types. E.g: "Sink/File"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">Sentence describing the purpose of the device provider.
|
|
E.g: "Write stream to a file"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="author" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name and contact details of the author(s). Use \n to separate
|
|
multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_static_metadata" c:identifier="gst_device_provider_class_set_static_metadata" version="1.4">
|
|
<doc xml:space="preserve">Sets the detailed information for a #GstDeviceProviderClass.
|
|
|
|
> This function is for use in _class_init functions only.
|
|
|
|
Same as gst_device_provider_class_set_metadata(), but @longname, @classification,
|
|
@description, and @author must be static strings or inlined strings, as
|
|
they will not be copied. (GStreamer plugins will be made resident once
|
|
loaded, so this function can be used even from dynamically loaded plugins.)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="longname" transfer-ownership="full">
|
|
<doc xml:space="preserve">The long English name of the element. E.g. "File Sink"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="classification" transfer-ownership="full">
|
|
<doc xml:space="preserve">String describing the type of element, as
|
|
an unordered list separated with slashes ('/'). See draft-klass.txt of the
|
|
design docs for more details and common types. E.g: "Sink/File"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="full">
|
|
<doc xml:space="preserve">Sentence describing the purpose of the
|
|
element. E.g: "Write stream to a file"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="author" transfer-ownership="full">
|
|
<doc xml:space="preserve">Name and contact details of the author(s). Use \n
|
|
to separate multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at
|
|
foo.com&gt;"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="DeviceProviderFactory" c:symbol-prefix="device_provider_factory" c:type="GstDeviceProviderFactory" version="1.4" parent="PluginFeature" glib:type-name="GstDeviceProviderFactory" glib:get-type="gst_device_provider_factory_get_type" glib:type-struct="DeviceProviderFactoryClass">
|
|
<doc xml:space="preserve">#GstDeviceProviderFactory is used to create instances of device providers. A
|
|
GstDeviceProviderfactory can be added to a #GstPlugin as it is also a
|
|
#GstPluginFeature.
|
|
|
|
Use the gst_device_provider_factory_find() and
|
|
gst_device_provider_factory_get() functions to create device
|
|
provider instances or use gst_device_provider_factory_get_by_name() as a
|
|
convenient shortcut.</doc>
|
|
|
|
<function name="find" c:identifier="gst_device_provider_factory_find" version="1.4">
|
|
<doc xml:space="preserve">Search for an device provider factory of the given name. Refs the returned
|
|
device provider factory; caller is responsible for unreffing.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">#GstDeviceProviderFactory if
|
|
found, %NULL otherwise</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of factory to find</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_by_name" c:identifier="gst_device_provider_factory_get_by_name" version="1.4">
|
|
<doc xml:space="preserve">Returns the device provider of the type defined by the given device
|
|
provider factory.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstDeviceProvider or %NULL
|
|
if unable to create device provider</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="factoryname" transfer-ownership="none">
|
|
<doc xml:space="preserve">a named factory to instantiate</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="list_get_device_providers" c:identifier="gst_device_provider_factory_list_get_device_providers" version="1.4">
|
|
<doc xml:space="preserve">Get a list of factories with a rank greater or equal to @minrank.
|
|
The list of factories is returned by decreasing rank.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
a #GList of #GstDeviceProviderFactory device providers. Use
|
|
gst_plugin_feature_list_free() after usage.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="DeviceProviderFactory"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="minrank" transfer-ownership="none">
|
|
<doc xml:space="preserve">Minimum rank</doc>
|
|
<type name="Rank" c:type="GstRank"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="get" c:identifier="gst_device_provider_factory_get" version="1.4">
|
|
<doc xml:space="preserve">Returns the device provider of the type defined by the given device
|
|
providerfactory.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstDeviceProvider or %NULL
|
|
if the device provider couldn't be created</doc>
|
|
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to instantiate</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_device_provider_type" c:identifier="gst_device_provider_factory_get_device_provider_type" version="1.4">
|
|
<doc xml:space="preserve">Get the #GType for device providers managed by this factory. The type can
|
|
only be retrieved if the device provider factory is loaded, which can be
|
|
assured with gst_plugin_feature_load().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType for device providers managed by this factory.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to get managed #GType from</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata" c:identifier="gst_device_provider_factory_get_metadata" version="1.4">
|
|
<doc xml:space="preserve">Get the metadata on @factory with @key.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the metadata with @key on @factory or %NULL
|
|
when there was no metadata with the given @key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProviderFactory</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">a key</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata_keys" c:identifier="gst_device_provider_factory_get_metadata_keys" version="1.4">
|
|
<doc xml:space="preserve">Get the available keys for the metadata on @factory.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">
|
|
a %NULL-terminated array of key strings, or %NULL when there is no
|
|
metadata. Free with g_strfreev() when no longer needed.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProviderFactory</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_classes" c:identifier="gst_device_provider_factory_has_classes" version="1.4">
|
|
<doc xml:space="preserve">Check if @factory matches all of the given @classes</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @factory matches or if @classes is %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProviderFactory</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="classes" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a "/" separate list of classes to match, only match
|
|
if all classes are matched</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_classesv" c:identifier="gst_device_provider_factory_has_classesv" version="1.4">
|
|
<doc xml:space="preserve">Check if @factory matches all of the given classes</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @factory matches.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDeviceProviderFactory</doc>
|
|
<type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="classes" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a %NULL terminated array
|
|
of classes to match, only match if all classes are matched</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="DeviceProviderFactoryClass" c:type="GstDeviceProviderFactoryClass" disguised="1" glib:is-gtype-struct-for="DeviceProviderFactory" version="1.4">
|
|
<doc xml:space="preserve">The opaque #GstDeviceProviderFactoryClass data structure.</doc>
|
|
|
|
</record>
|
|
<record name="DeviceProviderPrivate" c:type="GstDeviceProviderPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="DoubleRange" c:symbol-prefix="double_range" glib:type-name="GstDoubleRange" glib:get-type="gst_double_range_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a #gdouble range</doc>
|
|
</class>
|
|
<class name="DynamicTypeFactory" c:symbol-prefix="dynamic_type_factory" c:type="GstDynamicTypeFactory" version="1.12" parent="PluginFeature" glib:type-name="GstDynamicTypeFactory" glib:get-type="gst_dynamic_type_factory_get_type" glib:type-struct="DynamicTypeFactoryClass">
|
|
<doc xml:space="preserve">#GstDynamicTypeFactory is used to represent a type that can be
|
|
automatically loaded the first time it is used. For example,
|
|
a non-standard type for use in caps fields.
|
|
|
|
In general, applications and plugins don't need to use the factory
|
|
beyond registering the type in a plugin init function. Once that is
|
|
done, the type is stored in the registry, and ready as soon as the
|
|
registry is loaded.
|
|
|
|
## Registering a type for dynamic loading
|
|
|
|
|[<!-- language="C" -->
|
|
|
|
static gboolean
|
|
plugin_init (GstPlugin * plugin)
|
|
{
|
|
return gst_dynamic_type_register (plugin, GST_TYPE_CUSTOM_CAPS_FIELD);
|
|
}
|
|
]|</doc>
|
|
|
|
<function name="load" c:identifier="gst_dynamic_type_factory_load">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="factoryname" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</class>
|
|
<record name="DynamicTypeFactoryClass" c:type="GstDynamicTypeFactoryClass" disguised="1" glib:is-gtype-struct-for="DynamicTypeFactory">
|
|
|
|
</record>
|
|
<function-macro name="ELEMENT" c:identifier="GST_ELEMENT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_BUS" c:identifier="GST_ELEMENT_BUS" introspectable="0">
|
|
<doc xml:space="preserve">Get the message bus of this element. This is not thread-safe by default
|
|
(i.e. you will have to make sure the object lock is taken yourself).
|
|
If in doubt use gst_element_get_bus() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">A #GstElement to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_CAST" c:identifier="GST_ELEMENT_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_CLASS" c:identifier="GST_ELEMENT_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_CLOCK" c:identifier="GST_ELEMENT_CLOCK" introspectable="0">
|
|
<doc xml:space="preserve">Get the clock of this element.This is not thread-safe by default
|
|
(i.e. you will have to make sure it is safe yourself).
|
|
If in doubt use gst_element_get_clock() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">A #GstElement to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_ERROR" c:identifier="GST_ELEMENT_ERROR" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they encountered a fatal
|
|
data processing error. The pipeline will post an error message and the
|
|
application will be requested to stop further media processing.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the error</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_ERROR_WITH_DETAILS" c:identifier="GST_ELEMENT_ERROR_WITH_DETAILS" version="1.10" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they encountered a fatal
|
|
data processing error. The pipeline will post an error message and the
|
|
application will be requested to stop further media processing.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the error</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="args">
|
|
<doc xml:space="preserve">optional name, type, value triplets, which will be stored
|
|
in the associated GstStructure. NULL terminator required.
|
|
Must be enclosed within parentheses.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_FACTORY" c:identifier="GST_ELEMENT_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_FACTORY_CAST" c:identifier="GST_ELEMENT_FACTORY_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_FACTORY_CLASS" c:identifier="GST_ELEMENT_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="ELEMENT_FACTORY_KLASS_DECODER" value="Decoder" c:type="GST_ELEMENT_FACTORY_KLASS_DECODER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_DECRYPTOR" value="Decryptor" c:type="GST_ELEMENT_FACTORY_KLASS_DECRYPTOR">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_DEMUXER" value="Demuxer" c:type="GST_ELEMENT_FACTORY_KLASS_DEMUXER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_DEPAYLOADER" value="Depayloader" c:type="GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_ENCODER" value="Encoder" c:type="GST_ELEMENT_FACTORY_KLASS_ENCODER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_ENCRYPTOR" value="Encryptor" c:type="GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_FORMATTER" value="Formatter" c:type="GST_ELEMENT_FACTORY_KLASS_FORMATTER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_HARDWARE" value="Hardware" c:type="GST_ELEMENT_FACTORY_KLASS_HARDWARE" version="1.16">
|
|
<doc xml:space="preserve">Elements interacting with hardware devices should specify this classifier in
|
|
their metadata. You may need to put the element in "READY" state to test if
|
|
the hardware is present in the system.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_MEDIA_AUDIO" value="Audio" c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_MEDIA_IMAGE" value="Image" c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_MEDIA_METADATA" value="Metadata" c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE" value="Subtitle" c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_MEDIA_VIDEO" value="Video" c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_MUXER" value="Muxer" c:type="GST_ELEMENT_FACTORY_KLASS_MUXER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_PARSER" value="Parser" c:type="GST_ELEMENT_FACTORY_KLASS_PARSER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_PAYLOADER" value="Payloader" c:type="GST_ELEMENT_FACTORY_KLASS_PAYLOADER">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_SINK" value="Sink" c:type="GST_ELEMENT_FACTORY_KLASS_SINK">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_KLASS_SRC" value="Source" c:type="GST_ELEMENT_FACTORY_KLASS_SRC">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_ANY" value="562949953421311" c:type="GST_ELEMENT_FACTORY_TYPE_ANY">
|
|
<doc xml:space="preserve">Elements of any of the defined GST_ELEMENT_FACTORY_LIST types</doc>
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS" value="3940649673949188" c:type="GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS">
|
|
<doc xml:space="preserve">All sinks handling audio, video or image media types</doc>
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_AUDIO_ENCODER" value="1125899906842626" c:type="GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER">
|
|
<doc xml:space="preserve">All encoders handling audio media types</doc>
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_DECODABLE" value="1377" c:type="GST_ELEMENT_FACTORY_TYPE_DECODABLE">
|
|
<doc xml:space="preserve">All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders)</doc>
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_DECODER" value="1" c:type="GST_ELEMENT_FACTORY_TYPE_DECODER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_DECRYPTOR" value="1024" c:type="GST_ELEMENT_FACTORY_TYPE_DECRYPTOR">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_DEMUXER" value="32" c:type="GST_ELEMENT_FACTORY_TYPE_DEMUXER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_DEPAYLOADER" value="256" c:type="GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_ENCODER" value="2" c:type="GST_ELEMENT_FACTORY_TYPE_ENCODER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_ENCRYPTOR" value="2048" c:type="GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_FORMATTER" value="512" c:type="GST_ELEMENT_FACTORY_TYPE_FORMATTER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_HARDWARE" value="4096" c:type="GST_ELEMENT_FACTORY_TYPE_HARDWARE">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MAX_ELEMENTS" value="281474976710656" c:type="GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MEDIA_ANY" value="18446462598732840960" c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY">
|
|
<doc xml:space="preserve">Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types
|
|
|
|
Note: Do not use this if you wish to not filter against any of the defined
|
|
media types. If you wish to do this, simply don't specify any
|
|
GST_ELEMENT_FACTORY_TYPE_MEDIA flag.</doc>
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MEDIA_AUDIO" value="1125899906842624" c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MEDIA_IMAGE" value="2251799813685248" c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MEDIA_METADATA" value="9007199254740992" c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE" value="4503599627370496" c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MEDIA_VIDEO" value="562949953421312" c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_MUXER" value="16" c:type="GST_ELEMENT_FACTORY_TYPE_MUXER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_PARSER" value="64" c:type="GST_ELEMENT_FACTORY_TYPE_PARSER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_PAYLOADER" value="128" c:type="GST_ELEMENT_FACTORY_TYPE_PAYLOADER">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_SINK" value="4" c:type="GST_ELEMENT_FACTORY_TYPE_SINK">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_SRC" value="8" c:type="GST_ELEMENT_FACTORY_TYPE_SRC">
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<constant name="ELEMENT_FACTORY_TYPE_VIDEO_ENCODER" value="2814749767106562" c:type="GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER">
|
|
<doc xml:space="preserve">All encoders handling video or image media types</doc>
|
|
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</constant>
|
|
<function-macro name="ELEMENT_FLOW_ERROR" c:identifier="GST_ELEMENT_FLOW_ERROR" version="1.10" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they encountered a fatal
|
|
data processing error due to wrong flow processing.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the error</doc>
|
|
</parameter>
|
|
<parameter name="flow_return">
|
|
<doc xml:space="preserve">the GstFlowReturn leading to that ERROR message</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_GET_CLASS" c:identifier="GST_ELEMENT_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_INFO" c:identifier="GST_ELEMENT_INFO" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they want to inform
|
|
the application of something noteworthy that is not an error.
|
|
The pipeline will post a info message and the
|
|
application will be informed.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the information</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_INFO_WITH_DETAILS" c:identifier="GST_ELEMENT_INFO_WITH_DETAILS" version="1.10" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they want to inform
|
|
the application of something noteworthy that is not an error.
|
|
The pipeline will post a info message and the
|
|
application will be informed.
|
|
Optional name, type, value triplets may be supplied, and will be stored
|
|
in the associated GstStructure. NULL terminator required.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the information</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="args">
|
|
<doc xml:space="preserve">optional name, type, value triplets, which will be stored
|
|
in the associated GstStructure. NULL terminator required.
|
|
Must be enclosed within parentheses.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_IS_LOCKED_STATE" c:identifier="GST_ELEMENT_IS_LOCKED_STATE" introspectable="0">
|
|
<doc xml:space="preserve">Check if the element is in the locked state and therefore will ignore state
|
|
changes from its parent object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">A #GstElement to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_MESSAGE_MAKE_DETAILS" c:identifier="GST_ELEMENT_MESSAGE_MAKE_DETAILS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="args">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="ELEMENT_METADATA_AUTHOR" value="author" c:type="GST_ELEMENT_METADATA_AUTHOR">
|
|
<doc xml:space="preserve">Name and contact details of the author(s). Use \n to separate
|
|
multiple author details.
|
|
E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;"</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_METADATA_DESCRIPTION" value="description" c:type="GST_ELEMENT_METADATA_DESCRIPTION">
|
|
<doc xml:space="preserve">Sentence describing the purpose of the element.
|
|
E.g: "Write stream to a file"</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_METADATA_DOC_URI" value="doc-uri" c:type="GST_ELEMENT_METADATA_DOC_URI">
|
|
<doc xml:space="preserve">Set uri pointing to user documentation. Applications can use this to show
|
|
help for e.g. effects to users.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_METADATA_ICON_NAME" value="icon-name" c:type="GST_ELEMENT_METADATA_ICON_NAME">
|
|
<doc xml:space="preserve">Elements that bridge to certain other products can include an icon of that
|
|
used product. Application can show the icon in menus/selectors to help
|
|
identifying specific elements.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_METADATA_KLASS" value="klass" c:type="GST_ELEMENT_METADATA_KLASS">
|
|
<doc xml:space="preserve">String describing the type of element, as an unordered list
|
|
separated with slashes ('/'). See draft-klass.txt of the design docs
|
|
for more details and common types. E.g: "Sink/File"</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="ELEMENT_METADATA_LONGNAME" value="long-name" c:type="GST_ELEMENT_METADATA_LONGNAME">
|
|
<doc xml:space="preserve">The long English name of the element. E.g. "File Sink"</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="ELEMENT_NAME" c:identifier="GST_ELEMENT_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Gets the name of this element. This is not thread-safe by default
|
|
(i.e. you will have to make sure the object lock is taken yourself).
|
|
If in doubt use gst_element_get_name() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">A #GstElement to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_PADS" c:identifier="GST_ELEMENT_PADS" introspectable="0">
|
|
<doc xml:space="preserve">Get the pads of this elements.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">A #GstElement to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_PARENT" c:identifier="GST_ELEMENT_PARENT" introspectable="0">
|
|
<doc xml:space="preserve">Get the parent object of this element. This is not thread-safe by default
|
|
(i.e. you will have to make sure the object lock is taken yourself).
|
|
If in doubt use gst_object_get_parent() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">A #GstElement to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_START_TIME" c:identifier="GST_ELEMENT_START_TIME" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the start_time of the @elem. The start_time is the
|
|
running_time of the pipeline when the element went to PAUSED.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to return the start time for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_WARNING" c:identifier="GST_ELEMENT_WARNING" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they encountered a non-fatal
|
|
data processing problem. The pipeline will post a warning message and the
|
|
application will be informed.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the warning</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ELEMENT_WARNING_WITH_DETAILS" c:identifier="GST_ELEMENT_WARNING_WITH_DETAILS" version="1.10" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that elements can use in case they encountered a non-fatal
|
|
data processing problem. The pipeline will post a warning message and the
|
|
application will be informed.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the element that generates the warning</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see [GstGError](gsterror))</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="args">
|
|
<doc xml:space="preserve">optional name, type, value triplets, which will be stored
|
|
in the associated GstStructure. NULL terminator required.
|
|
Must be enclosed within parentheses.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="ERROR_SYSTEM" value="system error: %s" c:type="GST_ERROR_SYSTEM" introspectable="0">
|
|
<doc xml:space="preserve">Builds a string using errno describing the previously failed system
|
|
call. To be used as the debug argument in #GST_ELEMENT_ERROR.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="EVENT" c:identifier="GST_EVENT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_CAST" c:identifier="GST_EVENT_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_IS_DOWNSTREAM" c:identifier="GST_EVENT_IS_DOWNSTREAM" introspectable="0">
|
|
<doc xml:space="preserve">Check if an event can travel downstream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_IS_SERIALIZED" c:identifier="GST_EVENT_IS_SERIALIZED" introspectable="0">
|
|
<doc xml:space="preserve">Check if an event is serialized with the data stream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_IS_STICKY" c:identifier="GST_EVENT_IS_STICKY" introspectable="0">
|
|
<doc xml:space="preserve">Check if an event is sticky on the pads.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_IS_UPSTREAM" c:identifier="GST_EVENT_IS_UPSTREAM" introspectable="0">
|
|
<doc xml:space="preserve">Check if an event can travel upstream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_MAKE_TYPE" c:identifier="GST_EVENT_MAKE_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">when making custom event types, use this macro with the num and
|
|
the given flags</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">the event number to create</doc>
|
|
</parameter>
|
|
<parameter name="flags">
|
|
<doc xml:space="preserve">the event flags</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="EVENT_NUM_SHIFT" value="8" c:type="GST_EVENT_NUM_SHIFT">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="EVENT_SEQNUM" c:identifier="GST_EVENT_SEQNUM" introspectable="0">
|
|
<doc xml:space="preserve">The sequence number of @event.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="event">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_TIMESTAMP" c:identifier="GST_EVENT_TIMESTAMP" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstClockTime timestamp of the event. This is the time when the event
|
|
was created.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="event">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EVENT_TYPE" c:identifier="GST_EVENT_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstEventType of the event.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="event">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="EVENT_TYPE_BOTH" value="3" c:type="GST_EVENT_TYPE_BOTH">
|
|
<doc xml:space="preserve">The same thing as #GST_EVENT_TYPE_UPSTREAM | #GST_EVENT_TYPE_DOWNSTREAM.</doc>
|
|
|
|
<type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
|
|
</constant>
|
|
<function-macro name="EVENT_TYPE_NAME" c:identifier="GST_EVENT_TYPE_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Get a constant string representation of the #GstEventType of the event.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="event">
|
|
<doc xml:space="preserve">the event to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="Element" c:symbol-prefix="element" c:type="GstElement" parent="Object" abstract="1" glib:type-name="GstElement" glib:get-type="gst_element_get_type" glib:type-struct="ElementClass">
|
|
<doc xml:space="preserve">GstElement is the abstract base class needed to construct an element that
|
|
can be used in a GStreamer pipeline. Please refer to the plugin writers
|
|
guide for more information on creating #GstElement subclasses.
|
|
|
|
The name of a #GstElement can be get with gst_element_get_name() and set with
|
|
gst_element_set_name(). For speed, GST_ELEMENT_NAME() can be used in the
|
|
core when using the appropriate locking. Do not use this in plug-ins or
|
|
applications in order to retain ABI compatibility.
|
|
|
|
Elements can have pads (of the type #GstPad). These pads link to pads on
|
|
other elements. #GstBuffer flow between these linked pads.
|
|
A #GstElement has a #GList of #GstPad structures for all their input (or sink)
|
|
and output (or source) pads.
|
|
Core and plug-in writers can add and remove pads with gst_element_add_pad()
|
|
and gst_element_remove_pad().
|
|
|
|
An existing pad of an element can be retrieved by name with
|
|
gst_element_get_static_pad(). A new dynamic pad can be created using
|
|
gst_element_request_pad() with a #GstPadTemplate.
|
|
An iterator of all pads can be retrieved with gst_element_iterate_pads().
|
|
|
|
Elements can be linked through their pads.
|
|
If the link is straightforward, use the gst_element_link()
|
|
convenience function to link two elements, or gst_element_link_many()
|
|
for more elements in a row.
|
|
Use gst_element_link_filtered() to link two elements constrained by
|
|
a specified set of #GstCaps.
|
|
For finer control, use gst_element_link_pads() and
|
|
gst_element_link_pads_filtered() to specify the pads to link on
|
|
each element by name.
|
|
|
|
Each element has a state (see #GstState). You can get and set the state
|
|
of an element with gst_element_get_state() and gst_element_set_state().
|
|
Setting a state triggers a #GstStateChange. To get a string representation
|
|
of a #GstState, use gst_element_state_get_name().
|
|
|
|
You can get and set a #GstClock on an element using gst_element_get_clock()
|
|
and gst_element_set_clock().
|
|
Some elements can provide a clock for the pipeline if
|
|
the #GST_ELEMENT_FLAG_PROVIDE_CLOCK flag is set. With the
|
|
gst_element_provide_clock() method one can retrieve the clock provided by
|
|
such an element.
|
|
Not all elements require a clock to operate correctly. If the
|
|
#GST_ELEMENT_FLAG_REQUIRE_CLOCK() flag is set, a clock should be set on the
|
|
element with gst_element_set_clock().
|
|
|
|
Note that clock selection and distribution is normally handled by the
|
|
toplevel #GstPipeline so the clock functions are only to be used in very
|
|
specific situations.</doc>
|
|
|
|
<function name="make_from_uri" c:identifier="gst_element_make_from_uri" throws="1">
|
|
<doc xml:space="preserve">Creates an element for handling the given URI.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new element or %NULL if none
|
|
could be created</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to create a source or a sink</doc>
|
|
<type name="URIType" c:type="const GstURIType"/>
|
|
</parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">URI to create an element for</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="elementname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Name of created element, can be %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="register" c:identifier="gst_element_register">
|
|
<doc xml:space="preserve">Create a new elementfactory capable of instantiating objects of the
|
|
@type and add the factory to @plugin.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the registering succeeded, %FALSE on error</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">#GstPlugin to register the element with, or %NULL for
|
|
a static element.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of elements of this type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="rank" transfer-ownership="none">
|
|
<doc xml:space="preserve">rank of element (higher rank means more importance when autoplugging)</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">GType of element to register</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="state_change_return_get_name" c:identifier="gst_element_state_change_return_get_name">
|
|
<doc xml:space="preserve">Gets a string representing the given state change result.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a string with the name of the state
|
|
result.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="state_ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStateChangeReturn to get the name of.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="state_get_name" c:identifier="gst_element_state_get_name">
|
|
<doc xml:space="preserve">Gets a string representing the given state.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a string with the name of the state.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstState to get the name of.</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="change_state" invoker="change_state">
|
|
<doc xml:space="preserve">Perform @transition on @element.
|
|
|
|
This function must be called with STATE_LOCK held and is mainly used
|
|
internally.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStateChangeReturn of the state transition.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested transition</doc>
|
|
<type name="StateChange" c:type="GstStateChange"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_state" invoker="get_state">
|
|
<doc xml:space="preserve">Gets the state of the element.
|
|
|
|
For elements that performed an ASYNC state change, as reported by
|
|
gst_element_set_state(), this function will block up to the
|
|
specified timeout value for the state change to complete.
|
|
If the element completes the state change or goes into
|
|
an error, this function returns immediately with a return value of
|
|
%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
|
|
|
|
For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
|
|
returns the current and pending state immediately.
|
|
|
|
This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
|
|
successfully changed its state but is not able to provide data yet.
|
|
This mostly happens for live sources that only produce data in
|
|
%GST_STATE_PLAYING. While the state change return is equivalent to
|
|
%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
|
|
some sink elements might not be able to complete their state change because
|
|
an element is not producing data to complete the preroll. When setting the
|
|
element to playing, the preroll will complete and playback will start.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state
|
|
and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
|
|
element is still performing a state change or
|
|
%GST_STATE_CHANGE_FAILURE if the last state change failed.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to #GstState to hold the state.
|
|
Can be %NULL.</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="pending" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to #GstState to hold the pending
|
|
state. Can be %NULL.</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockTime to specify the timeout for an async
|
|
state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="no_more_pads" invoker="no_more_pads">
|
|
<doc xml:space="preserve">Use this function to signal that the element does not expect any more pads
|
|
to show up in the current pipeline. This function should be called whenever
|
|
pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES
|
|
pad templates use this in combination with autopluggers to figure out that
|
|
the element is done initializing its pads.
|
|
|
|
This function emits the #GstElement::no-more-pads signal.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="pad_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="pad_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="post_message" invoker="post_message">
|
|
<doc xml:space="preserve">Post a message on the element's #GstBus. This function takes ownership of the
|
|
message; if you want to access the message after this call, you should add an
|
|
additional reference before calling.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message was successfully posted. The function returns
|
|
%FALSE if the element did not have a bus.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement posting the message</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMessage to post</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="provide_clock" invoker="provide_clock">
|
|
<doc xml:space="preserve">Get the clock provided by the given element.
|
|
> An element is only required to provide a clock in the PAUSED
|
|
> state. Some elements can provide a clock in other states.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GstClock provided by the
|
|
element or %NULL if no clock could be provided. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to query</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="query" invoker="query">
|
|
<doc xml:space="preserve">Performs a query on the given element.
|
|
|
|
For elements that don't implement a query handler, this function
|
|
forwards the query to a random srcpad or to the peer of a
|
|
random linked sinkpad of this element.
|
|
|
|
Please note that some queries might need a running pipeline to work.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to perform the query on.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="release_pad">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="request_new_pad" invoker="request_pad">
|
|
<doc xml:space="preserve">Retrieves a request pad from the element according to the provided template.
|
|
Pad templates can be looked up using
|
|
gst_element_factory_get_static_pad_templates().
|
|
|
|
The pad should be released with gst_element_release_request_pad().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">requested #GstPad if found,
|
|
otherwise %NULL. Release after usage.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to find a request pad of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate of which we want a pad of.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the request #GstPad
|
|
to retrieve. Can be %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the caps of the pad we want to
|
|
request. Can be %NULL.</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="send_event" invoker="send_event">
|
|
<doc xml:space="preserve">Sends an event to an element. If the element doesn't implement an
|
|
event handler, the event will be pushed on a random linked sink pad for
|
|
downstream events or a random linked source pad for upstream events.
|
|
|
|
This function takes ownership of the provided event so you should
|
|
gst_event_ref() it if you want to reuse the event after this call.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was handled. Events that trigger a preroll (such
|
|
as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to send the event to.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to send to the element.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_bus" invoker="set_bus">
|
|
<doc xml:space="preserve">Sets the bus of the element. Increases the refcount on the bus.
|
|
For internal use only, unless you're testing elements.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the bus of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="bus" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstBus to set.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_clock" invoker="set_clock">
|
|
<doc xml:space="preserve">Sets the clock for the element. This function increases the
|
|
refcount on the clock. Any previously set clock on the object
|
|
is unreffed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element accepted the clock. An element can refuse a
|
|
clock when it, for example, is not able to slave its internal clock to the
|
|
@clock or when it requires a specific clock to operate.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the clock for.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstClock to set for the element.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_context" invoker="set_context">
|
|
<doc xml:space="preserve">Sets the context of the element. Increases the refcount of the context.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the context of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstContext to set.</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_state" invoker="set_state">
|
|
<doc xml:space="preserve">Sets the state of the element. This function will try to set the
|
|
requested state by going through all the intermediary states and calling
|
|
the class's state change function for each.
|
|
|
|
This function can return #GST_STATE_CHANGE_ASYNC, in which case the
|
|
element will perform the remainder of the state change asynchronously in
|
|
another thread.
|
|
An application can use gst_element_get_state() to wait for the completion
|
|
of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or
|
|
%GST_MESSAGE_STATE_CHANGED on the bus.
|
|
|
|
State changes to %GST_STATE_READY or %GST_STATE_NULL never return
|
|
#GST_STATE_CHANGE_ASYNC.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Result of the state change using #GstStateChangeReturn.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to change state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">the element's new #GstState.</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="state_changed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="oldstate" transfer-ownership="none">
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
<parameter name="newstate" transfer-ownership="none">
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
<parameter name="pending" transfer-ownership="none">
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="abort_state" c:identifier="gst_element_abort_state">
|
|
<doc xml:space="preserve">Abort the state change of the element. This function is used
|
|
by elements that do asynchronous state changes and find out
|
|
something is wrong.
|
|
|
|
This function should be called with the STATE_LOCK held.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to abort the state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_pad" c:identifier="gst_element_add_pad">
|
|
<doc xml:space="preserve">Adds a pad (link point) to @element. @pad's parent will be set to @element;
|
|
see gst_object_set_parent() for refcounting information.
|
|
|
|
Pads are automatically activated when added in the PAUSED or PLAYING
|
|
state.
|
|
|
|
The pad and the element should be unlocked when calling this function.
|
|
|
|
This function will emit the #GstElement::pad-added signal on the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad could be added. This function can fail when
|
|
a pad with the same name already existed or the pad already had another
|
|
parent.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to add the pad to.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to add to the element.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_property_deep_notify_watch" c:identifier="gst_element_add_property_deep_notify_watch" version="1.10">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a watch id, which can be used in connection with
|
|
gst_element_remove_property_notify_watch() to remove the watch again.</doc>
|
|
<type name="gulong" c:type="gulong"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to watch (recursively) for property changes</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of property to watch for changes, or
|
|
NULL to watch all properties</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="include_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to include the new property value in the message</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_property_notify_watch" c:identifier="gst_element_add_property_notify_watch" version="1.10">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a watch id, which can be used in connection with
|
|
gst_element_remove_property_notify_watch() to remove the watch again.</doc>
|
|
<type name="gulong" c:type="gulong"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to watch for property changes</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of property to watch for changes, or
|
|
NULL to watch all properties</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="include_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to include the new property value in the message</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="call_async" c:identifier="gst_element_call_async" version="1.10">
|
|
<doc xml:space="preserve">Calls @func from another thread and passes @user_data to it. This is to be
|
|
used for cases when a state change has to be performed from a streaming
|
|
thread, directly via gst_element_set_state() or indirectly e.g. via SEEK
|
|
events.
|
|
|
|
Calling those functions directly from the streaming thread will cause
|
|
deadlocks in many situations, as they might involve waiting for the
|
|
streaming thread to shut down from this very streaming thread.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">Function to call asynchronously from another thread</doc>
|
|
<type name="ElementCallAsyncFunc" c:type="GstElementCallAsyncFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Data to pass to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="destroy_notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">GDestroyNotify for @user_data</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="change_state" c:identifier="gst_element_change_state">
|
|
<doc xml:space="preserve">Perform @transition on @element.
|
|
|
|
This function must be called with STATE_LOCK held and is mainly used
|
|
internally.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStateChangeReturn of the state transition.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested transition</doc>
|
|
<type name="StateChange" c:type="GstStateChange"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="continue_state" c:identifier="gst_element_continue_state">
|
|
<doc xml:space="preserve">Commit the state change of the element and proceed to the next
|
|
pending state if any. This function is used
|
|
by elements that do asynchronous state changes.
|
|
The core will normally call this method automatically when an
|
|
element returned %GST_STATE_CHANGE_SUCCESS from the state change function.
|
|
|
|
If after calling this method the element still has not reached
|
|
the pending state, the next state change is performed.
|
|
|
|
This method is used internally and should normally not be called by plugins
|
|
or applications.
|
|
|
|
This function must be called with STATE_LOCK held.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The result of the commit state change.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to continue the state change of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">The previous state return value</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create_all_pads" c:identifier="gst_element_create_all_pads">
|
|
<doc xml:space="preserve">Creates a pad for each pad template that is always available.
|
|
This function is only useful during object initialization of
|
|
subclasses of #GstElement.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to create pads for</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach_pad" c:identifier="gst_element_foreach_pad" version="1.14">
|
|
<doc xml:space="preserve">Call @func with @user_data for each of @element's pads. @func will be called
|
|
exactly once for each pad that exists at the time of this call, unless
|
|
one of the calls to @func returns %FALSE in which case we will stop
|
|
iterating pads and return early. If new pads are added or pads are removed
|
|
while pads are being iterated, this will not be taken into account until
|
|
next time this function is used.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if @element had no pads or if one of the calls to @func
|
|
returned %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to iterate pads of</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">function to call for each pad</doc>
|
|
<type name="ElementForeachPadFunc" c:type="GstElementForeachPadFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach_sink_pad" c:identifier="gst_element_foreach_sink_pad" version="1.14">
|
|
<doc xml:space="preserve">Call @func with @user_data for each of @element's sink pads. @func will be
|
|
called exactly once for each sink pad that exists at the time of this call,
|
|
unless one of the calls to @func returns %FALSE in which case we will stop
|
|
iterating pads and return early. If new sink pads are added or sink pads
|
|
are removed while the sink pads are being iterated, this will not be taken
|
|
into account until next time this function is used.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if @element had no sink pads or if one of the calls to @func
|
|
returned %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to iterate sink pads of</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">function to call for each sink pad</doc>
|
|
<type name="ElementForeachPadFunc" c:type="GstElementForeachPadFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach_src_pad" c:identifier="gst_element_foreach_src_pad" version="1.14">
|
|
<doc xml:space="preserve">Call @func with @user_data for each of @element's source pads. @func will be
|
|
called exactly once for each source pad that exists at the time of this call,
|
|
unless one of the calls to @func returns %FALSE in which case we will stop
|
|
iterating pads and return early. If new source pads are added or source pads
|
|
are removed while the source pads are being iterated, this will not be taken
|
|
into account until next time this function is used.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if @element had no source pads or if one of the calls
|
|
to @func returned %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to iterate source pads of</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">function to call for each source pad</doc>
|
|
<type name="ElementForeachPadFunc" c:type="GstElementForeachPadFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_base_time" c:identifier="gst_element_get_base_time">
|
|
<doc xml:space="preserve">Returns the base time of the element. The base time is the
|
|
absolute time of the clock when this element was last put to
|
|
PLAYING. Subtracting the base time from the clock time gives
|
|
the running time of the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the base time of the element.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_bus" c:identifier="gst_element_get_bus">
|
|
<doc xml:space="preserve">Returns the bus of the element. Note that only a #GstPipeline will provide a
|
|
bus for the application.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the element's #GstBus. unref after
|
|
usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the bus of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_clock" c:identifier="gst_element_get_clock">
|
|
<doc xml:space="preserve">Gets the currently configured clock of the element. This is the clock as was
|
|
last set with gst_element_set_clock().
|
|
|
|
Elements in a pipeline will only have their clock set when the
|
|
pipeline is in the PLAYING state.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstClock of the element. unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the clock of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_compatible_pad" c:identifier="gst_element_get_compatible_pad">
|
|
<doc xml:space="preserve">Looks for an unlinked pad to which the given pad can link. It is not
|
|
guaranteed that linking the pads will work, though it should work in most
|
|
cases.
|
|
|
|
This function will first attempt to find a compatible unlinked ALWAYS pad,
|
|
and if none can be found, it will request a compatible REQUEST pad by looking
|
|
at the templates of @element.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstPad to which a link
|
|
can be made, or %NULL if one cannot be found. gst_object_unref()
|
|
after usage.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement in which the pad should be found.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to find a compatible one for.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCaps to use as a filter.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_compatible_pad_template" c:identifier="gst_element_get_compatible_pad_template">
|
|
<doc xml:space="preserve">Retrieves a pad template from @element that is compatible with @compattempl.
|
|
Pads from compatible templates can be linked together.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a compatible #GstPadTemplate,
|
|
or %NULL if none was found. No unreferencing is necessary.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get a compatible pad template for</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="compattempl" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadTemplate to find a compatible
|
|
template for</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_context" c:identifier="gst_element_get_context" version="1.8">
|
|
<doc xml:space="preserve">Gets the context with @context_type set on the element or NULL.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A #GstContext or NULL</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the context of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="context_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a name of a context to retrieve</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_context_unlocked" c:identifier="gst_element_get_context_unlocked" version="1.8">
|
|
<doc xml:space="preserve">Gets the context with @context_type set on the element or NULL.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A #GstContext or NULL</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the context of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="context_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a name of a context to retrieve</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_contexts" c:identifier="gst_element_get_contexts" version="1.8">
|
|
<doc xml:space="preserve">Gets the contexts set on the element.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">List of #GstContext</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Context"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the context of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_current_clock_time" c:identifier="gst_element_get_current_clock_time" version="1.18">
|
|
<doc xml:space="preserve">Returns the current clock time of the element, as in, the time of the
|
|
element's clock, or GST_CLOCK_TIME_NONE if there is no clock.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the clock time of the element, or GST_CLOCK_TIME_NONE if there is
|
|
no clock.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_current_running_time" c:identifier="gst_element_get_current_running_time" version="1.18">
|
|
<doc xml:space="preserve">Returns the running time of the element. The running time is the
|
|
element's clock time minus its base time. Will return GST_CLOCK_TIME_NONE
|
|
if the element has no clock, or if its base time has not been set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the running time of the element, or GST_CLOCK_TIME_NONE if the
|
|
element has no clock or its base time has not been set.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_factory" c:identifier="gst_element_get_factory">
|
|
<doc xml:space="preserve">Retrieves the factory that was used to create this element.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstElementFactory used for creating this
|
|
element or %NULL if element has not been registered (static element). no refcounting is needed.</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to request the element factory of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata" c:identifier="gst_element_get_metadata" version="1.14">
|
|
<doc xml:space="preserve">Get metadata with @key in @klass.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the metadata for @key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to get metadata for</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pad_template" c:identifier="gst_element_get_pad_template" version="1.14">
|
|
<doc xml:space="preserve">Retrieves a padtemplate from @element with the given name.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstPadTemplate with the
|
|
given name, or %NULL if none was found. No unreferencing is
|
|
necessary.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the pad template of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstPadTemplate to get.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pad_template_list" c:identifier="gst_element_get_pad_template_list" version="1.14">
|
|
<doc xml:space="preserve">Retrieves a list of the pad templates associated with @element. The
|
|
list must not be modified by the calling code.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GList of
|
|
pad templates.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PadTemplate"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get pad templates of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_request_pad" c:identifier="gst_element_get_request_pad">
|
|
<doc xml:space="preserve">Retrieves a pad from the element by name (e.g. "src_\%d"). This version only
|
|
retrieves request pads. The pad should be released with
|
|
gst_element_release_request_pad().
|
|
|
|
This method is slower than manually getting the pad template and calling
|
|
gst_element_request_pad() if the pads should have a specific name (e.g.
|
|
@name is "src_1" instead of "src_\%u").</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">requested #GstPad if found,
|
|
otherwise %NULL. Release after usage.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to find a request pad of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the request #GstPad to retrieve.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_start_time" c:identifier="gst_element_get_start_time">
|
|
<doc xml:space="preserve">Returns the start time of the element. The start time is the
|
|
running time of the clock when this element was last put to PAUSED.
|
|
|
|
Usually the start_time is managed by a toplevel element such as
|
|
#GstPipeline.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the start time of the element.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_state" c:identifier="gst_element_get_state">
|
|
<doc xml:space="preserve">Gets the state of the element.
|
|
|
|
For elements that performed an ASYNC state change, as reported by
|
|
gst_element_set_state(), this function will block up to the
|
|
specified timeout value for the state change to complete.
|
|
If the element completes the state change or goes into
|
|
an error, this function returns immediately with a return value of
|
|
%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
|
|
|
|
For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
|
|
returns the current and pending state immediately.
|
|
|
|
This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
|
|
successfully changed its state but is not able to provide data yet.
|
|
This mostly happens for live sources that only produce data in
|
|
%GST_STATE_PLAYING. While the state change return is equivalent to
|
|
%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
|
|
some sink elements might not be able to complete their state change because
|
|
an element is not producing data to complete the preroll. When setting the
|
|
element to playing, the preroll will complete and playback will start.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state
|
|
and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
|
|
element is still performing a state change or
|
|
%GST_STATE_CHANGE_FAILURE if the last state change failed.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to #GstState to hold the state.
|
|
Can be %NULL.</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="pending" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to #GstState to hold the pending
|
|
state. Can be %NULL.</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockTime to specify the timeout for an async
|
|
state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_static_pad" c:identifier="gst_element_get_static_pad">
|
|
<doc xml:space="preserve">Retrieves a pad from @element by name. This version only retrieves
|
|
already-existing (i.e. 'static') pads.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the requested #GstPad if
|
|
found, otherwise %NULL. unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to find a static pad of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the static #GstPad to retrieve.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_locked_state" c:identifier="gst_element_is_locked_state">
|
|
<doc xml:space="preserve">Checks if the state of an element is locked.
|
|
If the state of an element is locked, state changes of the parent don't
|
|
affect the element.
|
|
This way you can leave currently unused elements inside bins. Just lock their
|
|
state before changing the state from #GST_STATE_NULL.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the element's state is locked.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_pads" c:identifier="gst_element_iterate_pads">
|
|
<doc xml:space="preserve">Retrieves an iterator of @element's pads. The iterator should
|
|
be freed after usage. Also more specialized iterators exists such as
|
|
gst_element_iterate_src_pads() or gst_element_iterate_sink_pads().
|
|
|
|
The order of pads returned by the iterator will be the order in which
|
|
the pads were added to the element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstIterator of #GstPad.
|
|
|
|
MT safe.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to iterate pads of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_sink_pads" c:identifier="gst_element_iterate_sink_pads">
|
|
<doc xml:space="preserve">Retrieves an iterator of @element's sink pads.
|
|
|
|
The order of pads returned by the iterator will be the order in which
|
|
the pads were added to the element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstIterator of #GstPad.
|
|
|
|
MT safe.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_src_pads" c:identifier="gst_element_iterate_src_pads">
|
|
<doc xml:space="preserve">Retrieves an iterator of @element's source pads.
|
|
|
|
The order of pads returned by the iterator will be the order in which
|
|
the pads were added to the element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstIterator of #GstPad.
|
|
|
|
MT safe.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link" c:identifier="gst_element_link">
|
|
<doc xml:space="preserve">Links @src to @dest. The link must be from source to
|
|
destination; the other direction will not be tried. The function looks for
|
|
existing pads that aren't linked yet. It will request new pads if necessary.
|
|
Such pads need to be released manually when unlinking.
|
|
If multiple links are possible, only one is established.
|
|
|
|
Make sure you have added your elements to a bin or pipeline with
|
|
gst_bin_add() before trying to link them.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the elements could be linked, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement containing the source pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement containing the destination pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_filtered" c:identifier="gst_element_link_filtered">
|
|
<doc xml:space="preserve">Links @src to @dest using the given caps as filtercaps.
|
|
The link must be from source to
|
|
destination; the other direction will not be tried. The function looks for
|
|
existing pads that aren't linked yet. It will request new pads if necessary.
|
|
If multiple links are possible, only one is established.
|
|
|
|
Make sure you have added your elements to a bin or pipeline with
|
|
gst_bin_add() before trying to link them.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement containing the source pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement containing the destination pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCaps to filter the link,
|
|
or %NULL for no filter.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_many" c:identifier="gst_element_link_many" introspectable="0">
|
|
<doc xml:space="preserve">Chain together a series of elements. Uses gst_element_link().
|
|
Make sure you have added your elements to a bin or pipeline with
|
|
gst_bin_add() before trying to link them.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element_1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first #GstElement in the link chain.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="element_2" transfer-ownership="none">
|
|
<doc xml:space="preserve">the second #GstElement in the link chain.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the %NULL-terminated list of elements to link in order.</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_pads" c:identifier="gst_element_link_pads">
|
|
<doc xml:space="preserve">Links the two named pads of the source and destination elements.
|
|
Side effect is that if one of the pads has no parent, it becomes a
|
|
child of the parent of the other element. If they have different
|
|
parents, the link fails.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement containing the source pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="srcpadname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the #GstPad in source element
|
|
or %NULL for any pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement containing the destination pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="destpadname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the #GstPad in destination element,
|
|
or %NULL for any pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_pads_filtered" c:identifier="gst_element_link_pads_filtered">
|
|
<doc xml:space="preserve">Links the two named pads of the source and destination elements. Side effect
|
|
is that if one of the pads has no parent, it becomes a child of the parent of
|
|
the other element. If they have different parents, the link fails. If @caps
|
|
is not %NULL, makes sure that the caps of the link is a subset of @caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement containing the source pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="srcpadname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the #GstPad in source element
|
|
or %NULL for any pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement containing the destination pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="destpadname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the #GstPad in destination element
|
|
or %NULL for any pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCaps to filter the link,
|
|
or %NULL for no filter.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_pads_full" c:identifier="gst_element_link_pads_full">
|
|
<doc xml:space="preserve">Links the two named pads of the source and destination elements.
|
|
Side effect is that if one of the pads has no parent, it becomes a
|
|
child of the parent of the other element. If they have different
|
|
parents, the link fails.
|
|
|
|
Calling gst_element_link_pads_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT
|
|
is the same as calling gst_element_link_pads() and the recommended way of
|
|
linking pads with safety checks applied.
|
|
|
|
This is a convenience function for gst_pad_link_full().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement containing the source pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="srcpadname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the #GstPad in source element
|
|
or %NULL for any pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement containing the destination pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="destpadname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the #GstPad in destination element,
|
|
or %NULL for any pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadLinkCheck to be performed when linking pads.</doc>
|
|
<type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="lost_state" c:identifier="gst_element_lost_state">
|
|
<doc xml:space="preserve">Brings the element to the lost state. The current state of the
|
|
element is copied to the pending state so that any call to
|
|
gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC.
|
|
|
|
An ASYNC_START message is posted. If the element was PLAYING, it will
|
|
go to PAUSED. The element will be restored to its PLAYING state by
|
|
the parent pipeline when it prerolls again.
|
|
|
|
This is mostly used for elements that lost their preroll buffer
|
|
in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush,
|
|
they will go to their pending state again when a new preroll buffer is
|
|
queued. This function can only be called when the element is currently
|
|
not in error or an async state change.
|
|
|
|
This function is used internally and should normally not be called from
|
|
plugins or applications.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement the state is lost of</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="message_full" c:identifier="gst_element_message_full">
|
|
<doc xml:space="preserve">Post an error, warning or info message on the bus from inside an element.
|
|
|
|
@type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or
|
|
#GST_MESSAGE_INFO.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to send message from</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessageType</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
<parameter name="domain" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GStreamer GError domain this message belongs to</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="code" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GError code belonging to the domain</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an allocated text string to be used
|
|
as a replacement for the default message connected to code,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an allocated debug message to be
|
|
used as a replacement for the default debugging information,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source code file where the error was generated</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source code function where the error was generated</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source code line where the error was generated</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="message_full_with_details" c:identifier="gst_element_message_full_with_details" version="1.10">
|
|
<doc xml:space="preserve">Post an error, warning or info message on the bus from inside an element.
|
|
|
|
@type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or
|
|
#GST_MESSAGE_INFO.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to send message from</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessageType</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
<parameter name="domain" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GStreamer GError domain this message belongs to</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="code" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GError code belonging to the domain</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an allocated text string to be used
|
|
as a replacement for the default message connected to code,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an allocated debug message to be
|
|
used as a replacement for the default debugging information,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source code file where the error was generated</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source code function where the error was generated</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source code line where the error was generated</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">optional details structure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="no_more_pads" c:identifier="gst_element_no_more_pads">
|
|
<doc xml:space="preserve">Use this function to signal that the element does not expect any more pads
|
|
to show up in the current pipeline. This function should be called whenever
|
|
pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES
|
|
pad templates use this in combination with autopluggers to figure out that
|
|
the element is done initializing its pads.
|
|
|
|
This function emits the #GstElement::no-more-pads signal.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="post_message" c:identifier="gst_element_post_message">
|
|
<doc xml:space="preserve">Post a message on the element's #GstBus. This function takes ownership of the
|
|
message; if you want to access the message after this call, you should add an
|
|
additional reference before calling.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message was successfully posted. The function returns
|
|
%FALSE if the element did not have a bus.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement posting the message</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="message" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMessage to post</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="provide_clock" c:identifier="gst_element_provide_clock">
|
|
<doc xml:space="preserve">Get the clock provided by the given element.
|
|
> An element is only required to provide a clock in the PAUSED
|
|
> state. Some elements can provide a clock in other states.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GstClock provided by the
|
|
element or %NULL if no clock could be provided. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to query</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query" c:identifier="gst_element_query">
|
|
<doc xml:space="preserve">Performs a query on the given element.
|
|
|
|
For elements that don't implement a query handler, this function
|
|
forwards the query to a random srcpad or to the peer of a
|
|
random linked sinkpad of this element.
|
|
|
|
Please note that some queries might need a running pipeline to work.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to perform the query on.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_convert" c:identifier="gst_element_query_convert">
|
|
<doc xml:space="preserve">Queries an element to convert @src_val in @src_format to @dest_format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to invoke the convert query on.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat to convert from.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="src_val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to convert.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat to convert to.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="dest_val" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to the result.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_duration" c:identifier="gst_element_query_duration">
|
|
<doc xml:space="preserve">Queries an element (usually top-level pipeline or playbin element) for the
|
|
total stream duration in nanoseconds. This query will only work once the
|
|
pipeline is prerolled (i.e. reached PAUSED or PLAYING state). The application
|
|
will receive an ASYNC_DONE message on the pipeline bus when that is the case.
|
|
|
|
If the duration changes for some reason, you will get a DURATION_CHANGED
|
|
message on the pipeline bus, in which case you should re-query the duration
|
|
using this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to invoke the duration query on.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat requested</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location in which to store the total duration, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_position" c:identifier="gst_element_query_position">
|
|
<doc xml:space="preserve">Queries an element (usually top-level pipeline or playbin element) for the
|
|
stream position in nanoseconds. This will be a value between 0 and the
|
|
stream duration (if the stream duration is known). This query will usually
|
|
only work once the pipeline is prerolled (i.e. reached PAUSED or PLAYING
|
|
state). The application will receive an ASYNC_DONE message on the pipeline
|
|
bus when that is the case.
|
|
|
|
If one repeatedly calls this function one can also create a query and reuse
|
|
it in gst_element_query().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to invoke the position query on.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat requested</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="cur" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location in which to store the current
|
|
position, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="release_request_pad" c:identifier="gst_element_release_request_pad">
|
|
<doc xml:space="preserve">Makes the element free the previously requested pad as obtained
|
|
with gst_element_request_pad().
|
|
|
|
This does not unref the pad. If the pad was created by using
|
|
gst_element_request_pad(), gst_element_release_request_pad() needs to be
|
|
followed by gst_object_unref() to free the @pad.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to release the request pad of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to release.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_pad" c:identifier="gst_element_remove_pad">
|
|
<doc xml:space="preserve">Removes @pad from @element. @pad will be destroyed if it has not been
|
|
referenced elsewhere using gst_object_unparent().
|
|
|
|
This function is used by plugin developers and should not be used
|
|
by applications. Pads that were dynamically requested from elements
|
|
with gst_element_request_pad() should be released with the
|
|
gst_element_release_request_pad() function instead.
|
|
|
|
Pads are not automatically deactivated so elements should perform the needed
|
|
steps to deactivate the pad in case this pad is removed in the PAUSED or
|
|
PLAYING state. See gst_pad_set_active() for more information about
|
|
deactivating pads.
|
|
|
|
The pad and the element should be unlocked when calling this function.
|
|
|
|
This function will emit the #GstElement::pad-removed signal on the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad could be removed. Can return %FALSE if the
|
|
pad does not belong to the provided element.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to remove pad from.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to remove from the element.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_property_notify_watch" c:identifier="gst_element_remove_property_notify_watch" version="1.10">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement being watched for property changes</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="watch_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">watch id to remove</doc>
|
|
<type name="gulong" c:type="gulong"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="request_pad" c:identifier="gst_element_request_pad">
|
|
<doc xml:space="preserve">Retrieves a request pad from the element according to the provided template.
|
|
Pad templates can be looked up using
|
|
gst_element_factory_get_static_pad_templates().
|
|
|
|
The pad should be released with gst_element_release_request_pad().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">requested #GstPad if found,
|
|
otherwise %NULL. Release after usage.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to find a request pad of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate of which we want a pad of.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the request #GstPad
|
|
to retrieve. Can be %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the caps of the pad we want to
|
|
request. Can be %NULL.</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="seek" c:identifier="gst_element_seek">
|
|
<doc xml:space="preserve">Sends a seek event to an element. See gst_event_new_seek() for the details of
|
|
the parameters. The seek event is sent to the element using
|
|
gst_element_send_event().
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was handled. Flushing seeks will trigger a
|
|
preroll, which will emit %GST_MESSAGE_ASYNC_DONE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to send the event to.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new playback rate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format of the seek values</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">The optional seek flags.</doc>
|
|
<type name="SeekFlags" c:type="GstSeekFlags"/>
|
|
</parameter>
|
|
<parameter name="start_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type and flags for the new start position</doc>
|
|
<type name="SeekType" c:type="GstSeekType"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of the new start position</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="stop_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type and flags for the new stop position</doc>
|
|
<type name="SeekType" c:type="GstSeekType"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of the new stop position</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="seek_simple" c:identifier="gst_element_seek_simple">
|
|
<doc xml:space="preserve">Simple API to perform a seek on the given element, meaning it just seeks
|
|
to the given position relative to the start of the stream. For more complex
|
|
operations like segment seeks (e.g. for looping) or changing the playback
|
|
rate or seeking relative to the last configured playback segment you should
|
|
use gst_element_seek().
|
|
|
|
In a completely prerolled PAUSED or PLAYING pipeline, seeking is always
|
|
guaranteed to return %TRUE on a seekable media type or %FALSE when the media
|
|
type is certainly not seekable (such as a live stream).
|
|
|
|
Some elements allow for seeking in the READY state, in this
|
|
case they will store the seek event and execute it when they are put to
|
|
PAUSED. If the element supports seek in READY, it will always return %TRUE when
|
|
it receives the event in the READY state.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the seek operation succeeded. Flushing seeks will trigger a
|
|
preroll, which will emit %GST_MESSAGE_ASYNC_DONE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to seek on</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="seek_flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">seek options; playback applications will usually want to use
|
|
GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here</doc>
|
|
<type name="SeekFlags" c:type="GstSeekFlags"/>
|
|
</parameter>
|
|
<parameter name="seek_pos" transfer-ownership="none">
|
|
<doc xml:space="preserve">position to seek to (relative to the start); if you are doing
|
|
a seek in #GST_FORMAT_TIME this value is in nanoseconds -
|
|
multiply with #GST_SECOND to convert seconds to nanoseconds or
|
|
with #GST_MSECOND to convert milliseconds to nanoseconds.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_event" c:identifier="gst_element_send_event">
|
|
<doc xml:space="preserve">Sends an event to an element. If the element doesn't implement an
|
|
event handler, the event will be pushed on a random linked sink pad for
|
|
downstream events or a random linked source pad for upstream events.
|
|
|
|
This function takes ownership of the provided event so you should
|
|
gst_event_ref() it if you want to reuse the event after this call.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was handled. Events that trigger a preroll (such
|
|
as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to send the event to.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to send to the element.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_base_time" c:identifier="gst_element_set_base_time">
|
|
<doc xml:space="preserve">Set the base time of an element. See gst_element_get_base_time().
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the base time to set.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_bus" c:identifier="gst_element_set_bus">
|
|
<doc xml:space="preserve">Sets the bus of the element. Increases the refcount on the bus.
|
|
For internal use only, unless you're testing elements.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the bus of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="bus" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstBus to set.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_clock" c:identifier="gst_element_set_clock">
|
|
<doc xml:space="preserve">Sets the clock for the element. This function increases the
|
|
refcount on the clock. Any previously set clock on the object
|
|
is unreffed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element accepted the clock. An element can refuse a
|
|
clock when it, for example, is not able to slave its internal clock to the
|
|
@clock or when it requires a specific clock to operate.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the clock for.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstClock to set for the element.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_context" c:identifier="gst_element_set_context">
|
|
<doc xml:space="preserve">Sets the context of the element. Increases the refcount of the context.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the context of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstContext to set.</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_locked_state" c:identifier="gst_element_set_locked_state">
|
|
<doc xml:space="preserve">Locks the state of an element, so state changes of the parent don't affect
|
|
this element anymore.
|
|
|
|
Note that this is racy if the state lock of the parent bin is not taken.
|
|
The parent bin might've just checked the flag in another thread and as the
|
|
next step proceed to change the child element's state.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the state was changed, %FALSE if bad parameters were given
|
|
or the elements state-locking needed no change.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="locked_state" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE to lock the element's state</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_start_time" c:identifier="gst_element_set_start_time">
|
|
<doc xml:space="preserve">Set the start time of an element. The start time of the element is the
|
|
running time of the element when it last went to the PAUSED state. In READY
|
|
or after a flushing seek, it is set to 0.
|
|
|
|
Toplevel elements like #GstPipeline will manage the start_time and
|
|
base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE
|
|
on such a toplevel element will disable the distribution of the base_time to
|
|
the children and can be useful if the application manages the base_time
|
|
itself, for example if you want to synchronize capture from multiple
|
|
pipelines, and you can also ensure that the pipelines have the same clock.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the base time to set.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_state" c:identifier="gst_element_set_state">
|
|
<doc xml:space="preserve">Sets the state of the element. This function will try to set the
|
|
requested state by going through all the intermediary states and calling
|
|
the class's state change function for each.
|
|
|
|
This function can return #GST_STATE_CHANGE_ASYNC, in which case the
|
|
element will perform the remainder of the state change asynchronously in
|
|
another thread.
|
|
An application can use gst_element_get_state() to wait for the completion
|
|
of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or
|
|
%GST_MESSAGE_STATE_CHANGED on the bus.
|
|
|
|
State changes to %GST_STATE_READY or %GST_STATE_NULL never return
|
|
#GST_STATE_CHANGE_ASYNC.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Result of the state change using #GstStateChangeReturn.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to change state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">the element's new #GstState.</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sync_state_with_parent" c:identifier="gst_element_sync_state_with_parent">
|
|
<doc xml:space="preserve">Tries to change the state of the element to the same as its parent.
|
|
If this function returns %FALSE, the state of element is undefined.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the element's state could be synced to the parent's state.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unlink" c:identifier="gst_element_unlink">
|
|
<doc xml:space="preserve">Unlinks all source pads of the source element with all sink pads
|
|
of the sink element to which they are linked.
|
|
|
|
If the link has been made using gst_element_link(), it could have created an
|
|
requestpad, which has to be released using gst_element_release_request_pad().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstElement to unlink.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstElement to unlink.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unlink_many" c:identifier="gst_element_unlink_many" introspectable="0">
|
|
<doc xml:space="preserve">Unlinks a series of elements. Uses gst_element_unlink().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element_1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first #GstElement in the link chain.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="element_2" transfer-ownership="none">
|
|
<doc xml:space="preserve">the second #GstElement in the link chain.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the %NULL-terminated list of elements to unlink in order.</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unlink_pads" c:identifier="gst_element_unlink_pads">
|
|
<doc xml:space="preserve">Unlinks the two named pads of the source and destination elements.
|
|
|
|
This is a convenience function for gst_pad_unlink().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a (transfer none): #GstElement containing the source pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="srcpadname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstPad in source element.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement containing the destination pad.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="destpadname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstPad in destination element.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="state_lock">
|
|
<doc xml:space="preserve">Used to serialize execution of gst_element_set_state()</doc>
|
|
<type name="GLib.RecMutex" c:type="GRecMutex"/>
|
|
</field>
|
|
<field name="state_cond">
|
|
<doc xml:space="preserve">Used to signal completion of a state change</doc>
|
|
<type name="GLib.Cond" c:type="GCond"/>
|
|
</field>
|
|
<field name="state_cookie">
|
|
<doc xml:space="preserve">Used to detect concurrent execution of
|
|
gst_element_set_state() and gst_element_get_state()</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="target_state">
|
|
<doc xml:space="preserve">the target state of an element as set by the application</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</field>
|
|
<field name="current_state">
|
|
<doc xml:space="preserve">the current state of an element</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</field>
|
|
<field name="next_state">
|
|
<doc xml:space="preserve">the next state of an element, can be #GST_STATE_VOID_PENDING if
|
|
the element is in the correct state.</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</field>
|
|
<field name="pending_state">
|
|
<doc xml:space="preserve">the final state the element should go to, can be
|
|
#GST_STATE_VOID_PENDING if the element is in the correct state</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</field>
|
|
<field name="last_return">
|
|
<doc xml:space="preserve">the last return value of an element state change</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</field>
|
|
<field name="bus">
|
|
<doc xml:space="preserve">the bus of the element. This bus is provided to the element by the
|
|
parent element or the application. A #GstPipeline has a bus of its own.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</field>
|
|
<field name="clock">
|
|
<doc xml:space="preserve">the clock of the element. This clock is usually provided to the
|
|
element by the toplevel #GstPipeline.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</field>
|
|
<field name="base_time">
|
|
<doc xml:space="preserve">the time of the clock right before the element is set to
|
|
PLAYING. Subtracting @base_time from the current clock time in the PLAYING
|
|
state will yield the running_time against the clock.</doc>
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</field>
|
|
<field name="start_time">
|
|
<doc xml:space="preserve">the running_time of the last PAUSED state</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="numpads">
|
|
<doc xml:space="preserve">number of pads of the element, includes both source and sink pads.</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="pads">
|
|
<doc xml:space="preserve">list of pads</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Pad"/>
|
|
</type>
|
|
</field>
|
|
<field name="numsrcpads">
|
|
<doc xml:space="preserve">number of source pads of the element.</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="srcpads">
|
|
<doc xml:space="preserve">list of source pads</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Pad"/>
|
|
</type>
|
|
</field>
|
|
<field name="numsinkpads">
|
|
<doc xml:space="preserve">number of sink pads of the element.</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="sinkpads">
|
|
<doc xml:space="preserve">list of sink pads</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Pad"/>
|
|
</type>
|
|
</field>
|
|
<field name="pads_cookie">
|
|
<doc xml:space="preserve">updated whenever the a pad is added or removed</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="contexts">
|
|
<doc xml:space="preserve">list of contexts</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Context"/>
|
|
</type>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="3">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="no-more-pads" when="last">
|
|
<doc xml:space="preserve">This signals that the element will not generate more dynamic pads.
|
|
Note that this signal will usually be emitted from the context of
|
|
the streaming thread.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</glib:signal>
|
|
<glib:signal name="pad-added" when="last">
|
|
<doc xml:space="preserve">a new #GstPad has been added to the element. Note that this signal will
|
|
usually be emitted from the context of the streaming thread. Also keep in
|
|
mind that if you add new elements to the pipeline in the signal handler
|
|
you will need to set them to the desired target state with
|
|
gst_element_set_state() or gst_element_sync_state_with_parent().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="new_pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad that has been added</doc>
|
|
<type name="Pad"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="pad-removed" when="last">
|
|
<doc xml:space="preserve">a #GstPad has been removed from the element</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad that has been removed</doc>
|
|
<type name="Pad"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<callback name="ElementCallAsyncFunc" c:type="GstElementCallAsyncFunc">
|
|
<doc xml:space="preserve">Callback prototype used in #gst_element_call_async</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstElement this function has been called against</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">Data passed in the function where that callback has been passed</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="ElementClass" c:type="GstElementClass" glib:is-gtype-struct-for="Element">
|
|
<doc xml:space="preserve">GStreamer element class. Override the vmethods to implement the element
|
|
functionality.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="metadata">
|
|
<doc xml:space="preserve">metadata for elements of this class</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="elementfactory">
|
|
<doc xml:space="preserve">the #GstElementFactory that creates these elements</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</field>
|
|
<field name="padtemplates">
|
|
<doc xml:space="preserve">a #GList of #GstPadTemplate</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<field name="numpadtemplates">
|
|
<doc xml:space="preserve">the number of padtemplates</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="pad_templ_cookie">
|
|
<doc xml:space="preserve">changed whenever the padtemplates change</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="pad_added">
|
|
<callback name="pad_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="pad_removed">
|
|
<callback name="pad_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="no_more_pads">
|
|
<callback name="no_more_pads">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="request_new_pad">
|
|
<callback name="request_new_pad">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">requested #GstPad if found,
|
|
otherwise %NULL. Release after usage.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to find a request pad of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate of which we want a pad of.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the request #GstPad
|
|
to retrieve. Can be %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the caps of the pad we want to
|
|
request. Can be %NULL.</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="release_pad">
|
|
<callback name="release_pad">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_state">
|
|
<callback name="get_state">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state
|
|
and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
|
|
element is still performing a state change or
|
|
%GST_STATE_CHANGE_FAILURE if the last state change failed.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to get the state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="state" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to #GstState to hold the state.
|
|
Can be %NULL.</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="pending" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to #GstState to hold the pending
|
|
state. Can be %NULL.</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstClockTime to specify the timeout for an async
|
|
state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_state">
|
|
<callback name="set_state">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Result of the state change using #GstStateChangeReturn.
|
|
|
|
MT safe.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to change state of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">the element's new #GstState.</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="change_state">
|
|
<callback name="change_state">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStateChangeReturn of the state transition.</doc>
|
|
<type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested transition</doc>
|
|
<type name="StateChange" c:type="GstStateChange"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="state_changed">
|
|
<callback name="state_changed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="oldstate" transfer-ownership="none">
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
<parameter name="newstate" transfer-ownership="none">
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
<parameter name="pending" transfer-ownership="none">
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_bus">
|
|
<callback name="set_bus">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the bus of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="bus" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstBus to set.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="provide_clock">
|
|
<callback name="provide_clock">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GstClock provided by the
|
|
element or %NULL if no clock could be provided. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to query</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_clock">
|
|
<callback name="set_clock">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the element accepted the clock. An element can refuse a
|
|
clock when it, for example, is not able to slave its internal clock to the
|
|
@clock or when it requires a specific clock to operate.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the clock for.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstClock to set for the element.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="send_event">
|
|
<callback name="send_event">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was handled. Events that trigger a preroll (such
|
|
as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to send the event to.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to send to the element.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="query">
|
|
<callback name="query">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to perform the query on.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="post_message">
|
|
<callback name="post_message">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message was successfully posted. The function returns
|
|
%FALSE if the element did not have a bus.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement posting the message</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMessage to post</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_context">
|
|
<callback name="set_context">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElement to set the context of.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstContext to set.</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="18">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="add_metadata" c:identifier="gst_element_class_add_metadata">
|
|
<doc xml:space="preserve">Set @key with @value as metadata in @klass.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_pad_template" c:identifier="gst_element_class_add_pad_template">
|
|
<doc xml:space="preserve">Adds a padtemplate to an element class. This is mainly used in the _class_init
|
|
functions of classes. If a pad template with the same name as an already
|
|
existing one is added the old one is replaced by the new one.
|
|
|
|
@templ's reference count will be incremented, and any floating
|
|
reference will be removed (see gst_object_ref_sink())</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElementClass to add the pad template to.</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate to add to the element class.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_static_metadata" c:identifier="gst_element_class_add_static_metadata">
|
|
<doc xml:space="preserve">Set @key with @value as metadata in @klass.
|
|
|
|
Same as gst_element_class_add_metadata(), but @value must be a static string
|
|
or an inlined string, as it will not be copied. (GStreamer plugins will
|
|
be made resident once loaded, so this function can be used even from
|
|
dynamically loaded plugins.)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_static_pad_template" c:identifier="gst_element_class_add_static_pad_template" version="1.8">
|
|
<doc xml:space="preserve">Adds a pad template to an element class based on the static pad template
|
|
@templ. This is mainly used in the _class_init functions of element
|
|
implementations. If a pad template with the same name already exists,
|
|
the old one is replaced by the new one.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElementClass to add the pad template to.</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="static_templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstStaticPadTemplate to add as pad template to the element class.</doc>
|
|
<type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_static_pad_template_with_gtype" c:identifier="gst_element_class_add_static_pad_template_with_gtype" version="1.14">
|
|
<doc xml:space="preserve">Adds a pad template to an element class based on the static pad template
|
|
@templ. This is mainly used in the _class_init functions of element
|
|
implementations. If a pad template with the same name already exists,
|
|
the old one is replaced by the new one.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElementClass to add the pad template to.</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="static_templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstStaticPadTemplate to add as pad template to the element class.</doc>
|
|
<type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="pad_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GType of the pad to create</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata" c:identifier="gst_element_class_get_metadata">
|
|
<doc xml:space="preserve">Get metadata with @key in @klass.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the metadata for @key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to get metadata for</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">the key to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pad_template" c:identifier="gst_element_class_get_pad_template">
|
|
<doc xml:space="preserve">Retrieves a padtemplate from @element_class with the given name.
|
|
> If you use this function in the #GInstanceInitFunc of an object class
|
|
> that has subclasses, make sure to pass the g_class parameter of the
|
|
> #GInstanceInitFunc here.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstPadTemplate with the
|
|
given name, or %NULL if none was found. No unreferencing is
|
|
necessary.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element_class" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementClass to get the pad template of.</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstPadTemplate to get.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pad_template_list" c:identifier="gst_element_class_get_pad_template_list">
|
|
<doc xml:space="preserve">Retrieves a list of the pad templates associated with @element_class. The
|
|
list must not be modified by the calling code.
|
|
> If you use this function in the #GInstanceInitFunc of an object class
|
|
> that has subclasses, make sure to pass the g_class parameter of the
|
|
> #GInstanceInitFunc here.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GList of
|
|
pad templates.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PadTemplate"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="element_class" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementClass to get pad templates of.</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_metadata" c:identifier="gst_element_class_set_metadata">
|
|
<doc xml:space="preserve">Sets the detailed information for a #GstElementClass.
|
|
> This function is for use in _class_init functions only.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="longname" transfer-ownership="none">
|
|
<doc xml:space="preserve">The long English name of the element. E.g. "File Sink"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="classification" transfer-ownership="none">
|
|
<doc xml:space="preserve">String describing the type of element, as an unordered list
|
|
separated with slashes ('/'). See draft-klass.txt of the design docs
|
|
for more details and common types. E.g: "Sink/File"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">Sentence describing the purpose of the element.
|
|
E.g: "Write stream to a file"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="author" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name and contact details of the author(s). Use \n to separate
|
|
multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_static_metadata" c:identifier="gst_element_class_set_static_metadata">
|
|
<doc xml:space="preserve">Sets the detailed information for a #GstElementClass.
|
|
|
|
> This function is for use in _class_init functions only.
|
|
|
|
Same as gst_element_class_set_metadata(), but @longname, @classification,
|
|
@description, and @author must be static strings or inlined strings, as
|
|
they will not be copied. (GStreamer plugins will be made resident once
|
|
loaded, so this function can be used even from dynamically loaded plugins.)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">class to set metadata for</doc>
|
|
<type name="ElementClass" c:type="GstElementClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="longname" transfer-ownership="none">
|
|
<doc xml:space="preserve">The long English name of the element. E.g. "File Sink"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="classification" transfer-ownership="none">
|
|
<doc xml:space="preserve">String describing the type of element, as an unordered list
|
|
separated with slashes ('/'). See draft-klass.txt of the design docs
|
|
for more details and common types. E.g: "Sink/File"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">Sentence describing the purpose of the element.
|
|
E.g: "Write stream to a file"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="author" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name and contact details of the author(s). Use \n to separate
|
|
multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="ElementFactory" c:symbol-prefix="element_factory" c:type="GstElementFactory" parent="PluginFeature" glib:type-name="GstElementFactory" glib:get-type="gst_element_factory_get_type" glib:type-struct="ElementFactoryClass">
|
|
<doc xml:space="preserve">#GstElementFactory is used to create instances of elements. A
|
|
GstElementFactory can be added to a #GstPlugin as it is also a
|
|
#GstPluginFeature.
|
|
|
|
Use the gst_element_factory_find() and gst_element_factory_create()
|
|
functions to create element instances or use gst_element_factory_make() as a
|
|
convenient shortcut.
|
|
|
|
The following code example shows you how to create a GstFileSrc element.
|
|
|
|
## Using an element factory
|
|
|[<!-- language="C" -->
|
|
#include &lt;gst/gst.h&gt;
|
|
|
|
GstElement *src;
|
|
GstElementFactory *srcfactory;
|
|
|
|
gst_init (&amp;argc, &amp;argv);
|
|
|
|
srcfactory = gst_element_factory_find ("filesrc");
|
|
g_return_if_fail (srcfactory != NULL);
|
|
src = gst_element_factory_create (srcfactory, "src");
|
|
g_return_if_fail (src != NULL);
|
|
...
|
|
]|</doc>
|
|
|
|
<function name="find" c:identifier="gst_element_factory_find">
|
|
<doc xml:space="preserve">Search for an element factory of the given name. Refs the returned
|
|
element factory; caller is responsible for unreffing.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">#GstElementFactory if found,
|
|
%NULL otherwise</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of factory to find</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="list_filter" c:identifier="gst_element_factory_list_filter">
|
|
<doc xml:space="preserve">Filter out all the elementfactories in @list that can handle @caps in
|
|
the given direction.
|
|
|
|
If @subsetonly is %TRUE, then only the elements whose pads templates
|
|
are a complete superset of @caps will be returned. Else any element
|
|
whose pad templates caps can intersect with @caps will be returned.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstElementFactory elements that match the given requisites.
|
|
Use #gst_plugin_feature_list_free after usage.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="ElementFactory"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstElementFactory to filter</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="ElementFactory"/>
|
|
</type>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadDirection to filter on</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</parameter>
|
|
<parameter name="subsetonly" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to filter on caps subsets or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="list_get_elements" c:identifier="gst_element_factory_list_get_elements">
|
|
<doc xml:space="preserve">Get a list of factories that match the given @type. Only elements
|
|
with a rank greater or equal to @minrank will be returned.
|
|
The list of factories is returned by decreasing rank.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstElementFactory elements. Use gst_plugin_feature_list_free() after
|
|
usage.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="ElementFactory"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactoryListType</doc>
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</parameter>
|
|
<parameter name="minrank" transfer-ownership="none">
|
|
<doc xml:space="preserve">Minimum rank</doc>
|
|
<type name="Rank" c:type="GstRank"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="make" c:identifier="gst_element_factory_make">
|
|
<doc xml:space="preserve">Create a new element of the type defined by the given element factory.
|
|
If name is %NULL, then the element will receive a guaranteed unique name,
|
|
consisting of the element factory name and a number.
|
|
If name is given, it will be given the name supplied.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">new #GstElement or %NULL
|
|
if unable to create element</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="factoryname" transfer-ownership="none">
|
|
<doc xml:space="preserve">a named factory to instantiate</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of new element, or %NULL to automatically create
|
|
a unique name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="can_sink_all_caps" c:identifier="gst_element_factory_can_sink_all_caps">
|
|
<doc xml:space="preserve">Checks if the factory can sink all possible capabilities.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the caps are fully compatible.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to query</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the caps to check</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="can_sink_any_caps" c:identifier="gst_element_factory_can_sink_any_caps">
|
|
<doc xml:space="preserve">Checks if the factory can sink any possible capability.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the caps have a common subset.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to query</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the caps to check</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="can_src_all_caps" c:identifier="gst_element_factory_can_src_all_caps">
|
|
<doc xml:space="preserve">Checks if the factory can src all possible capabilities.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the caps are fully compatible.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to query</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the caps to check</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="can_src_any_caps" c:identifier="gst_element_factory_can_src_any_caps">
|
|
<doc xml:space="preserve">Checks if the factory can src any possible capability.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the caps have a common subset.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to query</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the caps to check</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create" c:identifier="gst_element_factory_create">
|
|
<doc xml:space="preserve">Create a new element of the type defined by the given elementfactory.
|
|
It will be given the name supplied, since all elements require a name as
|
|
their first argument.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">new #GstElement or %NULL
|
|
if the element couldn't be created</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to instantiate</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of new element, or %NULL to automatically create
|
|
a unique name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_element_type" c:identifier="gst_element_factory_get_element_type">
|
|
<doc xml:space="preserve">Get the #GType for elements managed by this factory. The type can
|
|
only be retrieved if the element factory is loaded, which can be
|
|
assured with gst_plugin_feature_load().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType for elements managed by this factory or 0 if
|
|
the factory is not loaded.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to get managed #GType from</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata" c:identifier="gst_element_factory_get_metadata">
|
|
<doc xml:space="preserve">Get the metadata on @factory with @key.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the metadata with @key on @factory or %NULL
|
|
when there was no metadata with the given @key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">a key</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metadata_keys" c:identifier="gst_element_factory_get_metadata_keys">
|
|
<doc xml:space="preserve">Get the available keys for the metadata on @factory.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">
|
|
a %NULL-terminated array of key strings, or %NULL when there is no
|
|
metadata. Free with g_strfreev() when no longer needed.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_num_pad_templates" c:identifier="gst_element_factory_get_num_pad_templates">
|
|
<doc xml:space="preserve">Gets the number of pad_templates in this factory.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pad_templates</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_static_pad_templates" c:identifier="gst_element_factory_get_static_pad_templates">
|
|
<doc xml:space="preserve">Gets the #GList of #GstStaticPadTemplate for this factory.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the
|
|
static pad templates</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="StaticPadTemplate"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uri_protocols" c:identifier="gst_element_factory_get_uri_protocols">
|
|
<doc xml:space="preserve">Gets a %NULL-terminated array of protocols this element supports or %NULL if
|
|
no protocols are supported. You may not change the contents of the returned
|
|
array, as it is still owned by the element factory. Use g_strdupv() to
|
|
make a copy of the protocol string array if you need to.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the supported protocols
|
|
or %NULL</doc>
|
|
<array c:type="const gchar* const*">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uri_type" c:identifier="gst_element_factory_get_uri_type">
|
|
<doc xml:space="preserve">Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">type of URIs this element supports</doc>
|
|
<type name="URIType" c:type="GstURIType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_interface" c:identifier="gst_element_factory_has_interface">
|
|
<doc xml:space="preserve">Check if @factory implements the interface with name @interfacename.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @factory implement the interface.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="interfacename" transfer-ownership="none">
|
|
<doc xml:space="preserve">an interface name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_is_type" c:identifier="gst_element_factory_list_is_type">
|
|
<doc xml:space="preserve">Check if @factory is of the given types.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @factory is of @type.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactory</doc>
|
|
<type name="ElementFactory" c:type="GstElementFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstElementFactoryListType</doc>
|
|
<type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="ElementFactoryClass" c:type="GstElementFactoryClass" disguised="1" glib:is-gtype-struct-for="ElementFactory">
|
|
|
|
</record>
|
|
<bitfield name="ElementFlags" glib:type-name="GstElementFlags" glib:get-type="gst_element_flags_get_type" c:type="GstElementFlags">
|
|
<doc xml:space="preserve">The standard flags that an element may have.</doc>
|
|
<member name="locked_state" value="16" c:identifier="GST_ELEMENT_FLAG_LOCKED_STATE" glib:nick="locked-state">
|
|
<doc xml:space="preserve">ignore state changes from parent</doc>
|
|
</member>
|
|
<member name="sink" value="32" c:identifier="GST_ELEMENT_FLAG_SINK" glib:nick="sink">
|
|
<doc xml:space="preserve">the element is a sink</doc>
|
|
</member>
|
|
<member name="source" value="64" c:identifier="GST_ELEMENT_FLAG_SOURCE" glib:nick="source">
|
|
<doc xml:space="preserve">the element is a source.</doc>
|
|
</member>
|
|
<member name="provide_clock" value="128" c:identifier="GST_ELEMENT_FLAG_PROVIDE_CLOCK" glib:nick="provide-clock">
|
|
<doc xml:space="preserve">the element can provide a clock</doc>
|
|
</member>
|
|
<member name="require_clock" value="256" c:identifier="GST_ELEMENT_FLAG_REQUIRE_CLOCK" glib:nick="require-clock">
|
|
<doc xml:space="preserve">the element requires a clock</doc>
|
|
</member>
|
|
<member name="indexable" value="512" c:identifier="GST_ELEMENT_FLAG_INDEXABLE" glib:nick="indexable">
|
|
<doc xml:space="preserve">the element can use an index</doc>
|
|
</member>
|
|
<member name="last" value="16384" c:identifier="GST_ELEMENT_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="ElementForeachPadFunc" c:type="GstElementForeachPadFunc" version="1.14">
|
|
<doc xml:space="preserve">Function called for each pad when using gst_element_foreach_sink_pad(),
|
|
gst_element_foreach_src_pad(), or gst_element_foreach_pad().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE to stop iterating pads, %TRUE to continue</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstElement</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data passed to the foreach function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="Event" c:type="GstEvent" glib:type-name="GstEvent" glib:get-type="gst_event_get_type" c:symbol-prefix="event">
|
|
<doc xml:space="preserve">The event class provides factory methods to construct events for sending
|
|
and functions to query (parse) received events.
|
|
|
|
Events are usually created with gst_event_new_*() which takes event-type
|
|
specific parameters as arguments.
|
|
To send an event application will usually use gst_element_send_event() and
|
|
elements will use gst_pad_send_event() or gst_pad_push_event().
|
|
The event should be unreffed with gst_event_unref() if it has not been sent.
|
|
|
|
Events that have been received can be parsed with their respective
|
|
gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details.
|
|
|
|
Events are passed between elements in parallel to the data stream. Some events
|
|
are serialized with buffers, others are not. Some events only travel downstream,
|
|
others only upstream. Some events can travel both upstream and downstream.
|
|
|
|
The events are used to signal special conditions in the datastream such as
|
|
EOS (end of stream) or the start of a new stream-segment.
|
|
Events are also used to flush the pipeline of any pending data.
|
|
|
|
Most of the event API is used inside plugins. Applications usually only
|
|
construct and use seek events.
|
|
To do that gst_event_new_seek() is used to create a seek event. It takes
|
|
the needed parameters to specify seeking time and mode.
|
|
|[<!-- language="C" -->
|
|
GstEvent *event;
|
|
gboolean result;
|
|
...
|
|
// construct a seek event to play the media from second 2 to 5, flush
|
|
// the pipeline to decrease latency.
|
|
event = gst_event_new_seek (1.0,
|
|
GST_FORMAT_TIME,
|
|
GST_SEEK_FLAG_FLUSH,
|
|
GST_SEEK_TYPE_SET, 2 * GST_SECOND,
|
|
GST_SEEK_TYPE_SET, 5 * GST_SECOND);
|
|
...
|
|
result = gst_element_send_event (pipeline, event);
|
|
if (!result)
|
|
g_warning ("seek failed");
|
|
...
|
|
]|</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">the parent structure</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the #GstEventType of the event</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</field>
|
|
<field name="timestamp" writable="1">
|
|
<doc xml:space="preserve">the timestamp of the event</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="seqnum" writable="1">
|
|
<doc xml:space="preserve">the sequence number of the event</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<constructor name="new_buffer_size" c:identifier="gst_event_new_buffer_size">
|
|
<doc xml:space="preserve">Create a new buffersize event. The event is sent downstream and notifies
|
|
elements that they should provide a buffer of the specified dimensions.
|
|
|
|
When the @async flag is set, a thread boundary is preferred.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">buffer format</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="minsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum buffer size</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum buffer size</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="async" transfer-ownership="none">
|
|
<doc xml:space="preserve">thread behavior</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_caps" c:identifier="gst_event_new_caps">
|
|
<doc xml:space="preserve">Create a new CAPS event for @caps. The caps event can only travel downstream
|
|
synchronized with the buffer flow and contains the format of the buffers
|
|
that will follow after the event.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new CAPS event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_custom" c:identifier="gst_event_new_custom">
|
|
<doc xml:space="preserve">Create a new custom-typed event. This can be used for anything not
|
|
handled by other event-specific functions to pass an event to another
|
|
element.
|
|
|
|
Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro,
|
|
assigning a free number and filling in the correct direction and
|
|
serialization flags.
|
|
|
|
New custom events can also be created by subclassing the event type if
|
|
needed.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new custom event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the new event</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the structure for the event. The event will
|
|
take ownership of the structure.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_eos" c:identifier="gst_event_new_eos">
|
|
<doc xml:space="preserve">Create a new EOS event. The eos event can only travel downstream
|
|
synchronized with the buffer flow. Elements that receive the EOS
|
|
event on a pad can return #GST_FLOW_EOS as a #GstFlowReturn
|
|
when data after the EOS event arrives.
|
|
|
|
The EOS event will travel down to the sink elements in the pipeline
|
|
which will then post the #GST_MESSAGE_EOS on the bus after they have
|
|
finished playing any buffered data.
|
|
|
|
When all sinks have posted an EOS message, an EOS message is
|
|
forwarded to the application.
|
|
|
|
The EOS event itself will not cause any state transitions of the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new EOS event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_flush_start" c:identifier="gst_event_new_flush_start">
|
|
<doc xml:space="preserve">Allocate a new flush start event. The flush start event can be sent
|
|
upstream and downstream and travels out-of-bounds with the dataflow.
|
|
|
|
It marks pads as being flushing and will make them return
|
|
#GST_FLOW_FLUSHING when used for data flow with gst_pad_push(),
|
|
gst_pad_chain(), gst_pad_get_range() and gst_pad_pull_range().
|
|
Any event (except a #GST_EVENT_FLUSH_STOP) received
|
|
on a flushing pad will return %FALSE immediately.
|
|
|
|
Elements should unlock any blocking functions and exit their streaming
|
|
functions as fast as possible when this event is received.
|
|
|
|
This event is typically generated after a seek to flush out all queued data
|
|
in the pipeline so that the new media is played as soon as possible.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new flush start event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_flush_stop" c:identifier="gst_event_new_flush_stop">
|
|
<doc xml:space="preserve">Allocate a new flush stop event. The flush stop event can be sent
|
|
upstream and downstream and travels serialized with the dataflow.
|
|
It is typically sent after sending a FLUSH_START event to make the
|
|
pads accept data again.
|
|
|
|
Elements can process this event synchronized with the dataflow since
|
|
the preceding FLUSH_START event stopped the dataflow.
|
|
|
|
This event is typically generated to complete a seek and to resume
|
|
dataflow.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new flush stop event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="reset_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">if time should be reset</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_gap" c:identifier="gst_event_new_gap">
|
|
<doc xml:space="preserve">Create a new GAP event. A gap event can be thought of as conceptually
|
|
equivalent to a buffer to signal that there is no data for a certain
|
|
amount of time. This is useful to signal a gap to downstream elements
|
|
which may wait for data, such as muxers or mixers or overlays, especially
|
|
for sparse streams such as subtitle streams.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new GAP event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start time (pts) of the gap</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">the duration of the gap</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_instant_rate_change" c:identifier="gst_event_new_instant_rate_change" version="1.18">
|
|
<doc xml:space="preserve">Create a new instant-rate-change event. This event is sent by seek
|
|
handlers (e.g. demuxers) when receiving a seek with the
|
|
%GST_SEEK_FLAG_INSTANT_RATE_CHANGE and signals to downstream elements that
|
|
the playback rate in the existing segment should be immediately multiplied
|
|
by the @rate_multiplier factor.
|
|
|
|
The flags provided replace any flags in the existing segment, for the
|
|
flags within the %GST_SEGMENT_INSTANT_FLAGS set. Other GstSegmentFlags
|
|
are ignored and not transferred in the event.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new instant-rate-change event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="rate_multiplier" transfer-ownership="none">
|
|
<doc xml:space="preserve">the multiplier to be applied to the playback rate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="new_flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">A new subset of segment flags to replace in segments</doc>
|
|
<type name="SegmentFlags" c:type="GstSegmentFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_instant_rate_sync_time" c:identifier="gst_event_new_instant_rate_sync_time" version="1.18">
|
|
<doc xml:space="preserve">Create a new instant-rate-sync-time event. This event is sent by the
|
|
pipeline to notify elements handling the instant-rate-change event about
|
|
the running-time when the new rate should be applied. The running time
|
|
may be in the past when elements handle this event, which can lead to
|
|
switching artifacts. The magnitude of those depends on the exact timing
|
|
of event delivery to each element and the magnitude of the change in
|
|
playback rate being applied.
|
|
|
|
The @running_time and @upstream_running_time are the same if this
|
|
is the first instant-rate adjustment, but will differ for later ones
|
|
to compensate for the accumulated offset due to playing at a rate
|
|
different to the one indicated in the playback segments.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new instant-rate-sync-time event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="rate_multiplier" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new playback rate multiplier to be applied</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">Running time when the rate change should be applied</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="upstream_running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">The upstream-centric running-time when the
|
|
rate change should be applied.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_latency" c:identifier="gst_event_new_latency">
|
|
<doc xml:space="preserve">Create a new latency event. The event is sent upstream from the sinks and
|
|
notifies elements that they should add an additional @latency to the
|
|
running time before synchronising against the clock.
|
|
|
|
The latency is mostly used in live sinks and is always expressed in
|
|
the time format.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new latency value</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_navigation" c:identifier="gst_event_new_navigation">
|
|
<doc xml:space="preserve">Create a new navigation event from the given description.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">description of the event. The event will take
|
|
ownership of the structure.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_protection" c:identifier="gst_event_new_protection" version="1.6">
|
|
<doc xml:space="preserve">Creates a new event containing information specific to a particular
|
|
protection system (uniquely identified by @system_id), by which that
|
|
protection system can acquire key(s) to decrypt a protected stream.
|
|
|
|
In order for a decryption element to decrypt media
|
|
protected using a specific system, it first needs all the
|
|
protection system specific information necessary to acquire the decryption
|
|
key(s) for that stream. The functions defined here enable this information
|
|
to be passed in events from elements that extract it
|
|
(e.g., ISOBMFF demuxers, MPEG DASH demuxers) to protection decrypter
|
|
elements that use it.
|
|
|
|
Events containing protection system specific information are created using
|
|
#gst_event_new_protection, and they can be parsed by downstream elements
|
|
using #gst_event_parse_protection.
|
|
|
|
In Common Encryption, protection system specific information may be located
|
|
within ISOBMFF files, both in movie (moov) boxes and movie fragment (moof)
|
|
boxes; it may also be contained in ContentProtection elements within MPEG
|
|
DASH MPDs. The events created by #gst_event_new_protection contain data
|
|
identifying from which of these locations the encapsulated protection system
|
|
specific information originated. This origin information is required as
|
|
some protection systems use different encodings depending upon where the
|
|
information originates.
|
|
|
|
The events returned by gst_event_new_protection() are implemented
|
|
in such a way as to ensure that the most recently-pushed protection info
|
|
event of a particular @origin and @system_id will
|
|
be stuck to the output pad of the sending element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GST_EVENT_PROTECTION event, if successful; %NULL
|
|
if unsuccessful.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="system_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string holding a UUID that uniquely
|
|
identifies a protection system.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding protection system specific
|
|
information. The reference count of the buffer will be incremented by one.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="origin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string indicating where the protection
|
|
information carried in the event was extracted from. The allowed values
|
|
of this string will depend upon the protection scheme.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_qos" c:identifier="gst_event_new_qos">
|
|
<doc xml:space="preserve">Allocate a new qos event with the given values.
|
|
The QOS event is generated in an element that wants an upstream
|
|
element to either reduce or increase its rate because of
|
|
high/low CPU load or other resource usage such as network performance or
|
|
throttling. Typically sinks generate these events for each buffer
|
|
they receive.
|
|
|
|
@type indicates the reason for the QoS event. #GST_QOS_TYPE_OVERFLOW is
|
|
used when a buffer arrived in time or when the sink cannot keep up with
|
|
the upstream datarate. #GST_QOS_TYPE_UNDERFLOW is when the sink is not
|
|
receiving buffers fast enough and thus has to drop late buffers.
|
|
#GST_QOS_TYPE_THROTTLE is used when the datarate is artificially limited
|
|
by the application, for example to reduce power consumption.
|
|
|
|
@proportion indicates the real-time performance of the streaming in the
|
|
element that generated the QoS event (usually the sink). The value is
|
|
generally computed based on more long term statistics about the streams
|
|
timestamps compared to the clock.
|
|
A value < 1.0 indicates that the upstream element is producing data faster
|
|
than real-time. A value > 1.0 indicates that the upstream element is not
|
|
producing data fast enough. 1.0 is the ideal @proportion value. The
|
|
proportion value can safely be used to lower or increase the quality of
|
|
the element.
|
|
|
|
@diff is the difference against the clock in running time of the last
|
|
buffer that caused the element to generate the QOS event. A negative value
|
|
means that the buffer with @timestamp arrived in time. A positive value
|
|
indicates how late the buffer with @timestamp was. When throttling is
|
|
enabled, @diff will be set to the requested throttling interval.
|
|
|
|
@timestamp is the timestamp of the last buffer that cause the element
|
|
to generate the QOS event. It is expressed in running time and thus an ever
|
|
increasing value.
|
|
|
|
The upstream element can use the @diff and @timestamp values to decide
|
|
whether to process more buffers. For positive @diff, all buffers with
|
|
timestamp <= @timestamp + @diff will certainly arrive late in the sink
|
|
as well. A (negative) @diff value so that @timestamp + @diff would yield a
|
|
result smaller than 0 is not allowed.
|
|
|
|
The application can use general event probes to intercept the QoS
|
|
event and implement custom application specific QoS handling.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new QOS event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the QoS type</doc>
|
|
<type name="QOSType" c:type="GstQOSType"/>
|
|
</parameter>
|
|
<parameter name="proportion" transfer-ownership="none">
|
|
<doc xml:space="preserve">the proportion of the qos message</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="diff" transfer-ownership="none">
|
|
<doc xml:space="preserve">The time difference of the last Clock sync</doc>
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">The timestamp of the buffer</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_reconfigure" c:identifier="gst_event_new_reconfigure">
|
|
<doc xml:space="preserve">Create a new reconfigure event. The purpose of the reconfigure event is
|
|
to travel upstream and make elements renegotiate their caps or reconfigure
|
|
their buffer pools. This is useful when changing properties on elements
|
|
or changing the topology of the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_seek" c:identifier="gst_event_new_seek">
|
|
<doc xml:space="preserve">Allocate a new seek event with the given parameters.
|
|
|
|
The seek event configures playback of the pipeline between @start to @stop
|
|
at the speed given in @rate, also called a playback segment.
|
|
The @start and @stop values are expressed in @format.
|
|
|
|
A @rate of 1.0 means normal playback rate, 2.0 means double speed.
|
|
Negatives values means backwards playback. A value of 0.0 for the
|
|
rate is not allowed and should be accomplished instead by PAUSING the
|
|
pipeline.
|
|
|
|
A pipeline has a default playback segment configured with a start
|
|
position of 0, a stop position of -1 and a rate of 1.0. The currently
|
|
configured playback segment can be queried with #GST_QUERY_SEGMENT.
|
|
|
|
@start_type and @stop_type specify how to adjust the currently configured
|
|
start and stop fields in playback segment. Adjustments can be made relative
|
|
or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE
|
|
means that the position should not be updated.
|
|
|
|
When the rate is positive and @start has been updated, playback will start
|
|
from the newly configured start position.
|
|
|
|
For negative rates, playback will start from the newly configured stop
|
|
position (if any). If the stop position is updated, it must be different from
|
|
-1 (#GST_CLOCK_TIME_NONE) for negative rates.
|
|
|
|
It is not possible to seek relative to the current playback position, to do
|
|
this, PAUSE the pipeline, query the current playback position with
|
|
#GST_QUERY_POSITION and update the playback segment current position with a
|
|
#GST_SEEK_TYPE_SET to the desired position.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new seek event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new playback rate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format of the seek values</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">The optional seek flags</doc>
|
|
<type name="SeekFlags" c:type="GstSeekFlags"/>
|
|
</parameter>
|
|
<parameter name="start_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type and flags for the new start position</doc>
|
|
<type name="SeekType" c:type="GstSeekType"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of the new start position</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="stop_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type and flags for the new stop position</doc>
|
|
<type name="SeekType" c:type="GstSeekType"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of the new stop position</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_segment" c:identifier="gst_event_new_segment">
|
|
<doc xml:space="preserve">Create a new SEGMENT event for @segment. The segment event can only travel
|
|
downstream synchronized with the buffer flow and contains timing information
|
|
and playback properties for the buffers that will follow.
|
|
|
|
The segment event marks the range of buffers to be processed. All
|
|
data not within the segment range is not to be processed. This can be
|
|
used intelligently by plugins to apply more efficient methods of skipping
|
|
unneeded data. The valid range is expressed with the @start and @stop
|
|
values.
|
|
|
|
The time value of the segment is used in conjunction with the start
|
|
value to convert the buffer timestamps into the stream time. This is
|
|
usually done in sinks to report the current stream_time.
|
|
@time represents the stream_time of a buffer carrying a timestamp of
|
|
@start. @time cannot be -1.
|
|
|
|
@start cannot be -1, @stop can be -1. If there
|
|
is a valid @stop given, it must be greater or equal the @start, including
|
|
when the indicated playback @rate is < 0.
|
|
|
|
The @applied_rate value provides information about any rate adjustment that
|
|
has already been made to the timestamps and content on the buffers of the
|
|
stream. (@rate * @applied_rate) should always equal the rate that has been
|
|
requested for playback. For example, if an element has an input segment
|
|
with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust
|
|
incoming timestamps and buffer content by half and output a segment event
|
|
with @rate of 1.0 and @applied_rate of 2.0
|
|
|
|
After a segment event, the buffer stream time is calculated with:
|
|
|
|
time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new SEGMENT event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_segment_done" c:identifier="gst_event_new_segment_done">
|
|
<doc xml:space="preserve">Create a new segment-done event. This event is sent by elements that
|
|
finish playback of a segment as a result of a segment seek.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format of the position being done</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">The position of the segment being done</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_select_streams" c:identifier="gst_event_new_select_streams" version="1.10">
|
|
<doc xml:space="preserve">Allocate a new select-streams event.
|
|
|
|
The select-streams event requests the specified @streams to be activated.
|
|
|
|
The list of @streams corresponds to the "Stream ID" of each stream to be
|
|
activated. Those ID can be obtained via the #GstStream objects present
|
|
in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or
|
|
#GST_MESSAGE_STREAM_COLLECTION.
|
|
|
|
Note: The list of @streams can not be empty.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new select-streams event or %NULL in case of
|
|
an error (like an empty streams list).</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="streams" transfer-ownership="none">
|
|
<doc xml:space="preserve">the list of streams to
|
|
activate</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="utf8"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_sink_message" c:identifier="gst_event_new_sink_message">
|
|
<doc xml:space="preserve">Create a new sink-message event. The purpose of the sink-message event is
|
|
to instruct a sink to post the message contained in the event synchronized
|
|
with the stream.
|
|
|
|
@name is used to store multiple sticky events on one pad.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a name for the event</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="msg" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMessage to be posted</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_step" c:identifier="gst_event_new_step">
|
|
<doc xml:space="preserve">Create a new step event. The purpose of the step event is to instruct a sink
|
|
to skip @amount (expressed in @format) of media. It can be used to implement
|
|
stepping through the video frame by frame or for doing fast trick modes.
|
|
|
|
A rate of <= 0.0 is not allowed. Pause the pipeline, for the effect of rate
|
|
= 0.0 or first reverse the direction of playback using a seek event to get
|
|
the same effect as rate < 0.0.
|
|
|
|
The @flush flag will clear any pending data in the pipeline before starting
|
|
the step operation.
|
|
|
|
The @intermediate flag instructs the pipeline that this step operation is
|
|
part of a larger step operation.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of @amount</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="amount" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of data to step</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the step rate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="flush" transfer-ownership="none">
|
|
<doc xml:space="preserve">flushing steps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="intermediate" transfer-ownership="none">
|
|
<doc xml:space="preserve">intermediate steps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_stream_collection" c:identifier="gst_event_new_stream_collection" version="1.10">
|
|
<doc xml:space="preserve">Create a new STREAM_COLLECTION event. The stream collection event can only
|
|
travel downstream synchronized with the buffer flow.
|
|
|
|
Source elements, demuxers and other elements that manage collections
|
|
of streams and post #GstStreamCollection messages on the bus also send
|
|
this event downstream on each pad involved in the collection, so that
|
|
activation of a new collection can be tracked through the downstream
|
|
data flow.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new STREAM_COLLECTION event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">Active collection for this data flow</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_stream_group_done" c:identifier="gst_event_new_stream_group_done" version="1.10">
|
|
<doc xml:space="preserve">Create a new Stream Group Done event. The stream-group-done event can
|
|
only travel downstream synchronized with the buffer flow. Elements
|
|
that receive the event on a pad should handle it mostly like EOS,
|
|
and emit any data or pending buffers that would depend on more data
|
|
arriving and unblock, since there won't be any more data.
|
|
|
|
This event is followed by EOS at some point in the future, and is
|
|
generally used when switching pads - to unblock downstream so that
|
|
new pads can be exposed before sending EOS on the existing pads.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new stream-group-done event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="group_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the group id of the stream group which is ending</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_stream_start" c:identifier="gst_event_new_stream_start">
|
|
<doc xml:space="preserve">Create a new STREAM_START event. The stream start event can only
|
|
travel downstream synchronized with the buffer flow. It is expected
|
|
to be the first event that is sent for a new stream.
|
|
|
|
Source elements, demuxers and other elements that create new streams
|
|
are supposed to send this event as the first event of a new stream. It
|
|
should not be sent after a flushing seek or in similar situations
|
|
and is used to mark the beginning of a new logical stream. Elements
|
|
combining multiple streams must ensure that this event is only forwarded
|
|
downstream once and not for every single input stream.
|
|
|
|
The @stream_id should be a unique string that consists of the upstream
|
|
stream-id, / as separator and a unique stream-id for this specific
|
|
stream. A new stream-id should only be created for a stream if the upstream
|
|
stream is split into (potentially) multiple new streams, e.g. in a demuxer,
|
|
but not for every single element in the pipeline.
|
|
gst_pad_create_stream_id() or gst_pad_create_stream_id_printf() can be
|
|
used to create a stream-id. There are no particular semantics for the
|
|
stream-id, though it should be deterministic (to support stream matching)
|
|
and it might be used to order streams (besides any information conveyed by
|
|
stream flags).</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new STREAM_START event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">Identifier for this stream</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_tag" c:identifier="gst_event_new_tag">
|
|
<doc xml:space="preserve">Generates a metadata tag event from the given @taglist.
|
|
|
|
The scope of the taglist specifies if the taglist applies to the
|
|
complete medium or only to this specific stream. As the tag event
|
|
is a sticky event, elements should merge tags received from
|
|
upstream with a given scope with their own tags with the same
|
|
scope and create a new tag event from it.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="taglist" transfer-ownership="full">
|
|
<doc xml:space="preserve">metadata list. The event will take ownership
|
|
of the taglist.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_toc" c:identifier="gst_event_new_toc">
|
|
<doc xml:space="preserve">Generate a TOC event from the given @toc. The purpose of the TOC event is to
|
|
inform elements that some kind of the TOC was found.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstToc structure.</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</parameter>
|
|
<parameter name="updated" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @toc was updated or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_toc_select" c:identifier="gst_event_new_toc_select">
|
|
<doc xml:space="preserve">Generate a TOC select event with the given @uid. The purpose of the
|
|
TOC select event is to start playback based on the TOC's entry with the
|
|
given @uid.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uid" transfer-ownership="none">
|
|
<doc xml:space="preserve">UID in the TOC to start playback from.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_event_copy" introspectable="0">
|
|
<doc xml:space="preserve">Copy the event using the event specific copy function.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to copy</doc>
|
|
<type name="Event" c:type="const GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_segment" c:identifier="gst_event_copy_segment">
|
|
<doc xml:space="preserve">Parses a segment @event and copies the #GstSegment into the location
|
|
given by @segment.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to parse</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstSegment</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_running_time_offset" c:identifier="gst_event_get_running_time_offset" version="1.4">
|
|
<doc xml:space="preserve">Retrieve the accumulated running time offset of the event.
|
|
|
|
Events passing through #GstPads that have a running time
|
|
offset set via gst_pad_set_offset() will get their offset
|
|
adjusted according to the pad's offset.
|
|
|
|
If the event contains any information that related to the
|
|
running time, this information will need to be updated
|
|
before usage with this offset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The event's running time offset
|
|
|
|
MT safe.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum" c:identifier="gst_event_get_seqnum">
|
|
<doc xml:space="preserve">Retrieve the sequence number of a event.
|
|
|
|
Events have ever-incrementing sequence numbers, which may also be set
|
|
explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to
|
|
indicate that a event corresponds to some other set of events or messages,
|
|
for example an EOS event corresponding to a SEEK event. It is considered good
|
|
practice to make this correspondence when possible, though it is not
|
|
required.
|
|
|
|
Note that events and messages share the same sequence number incrementor;
|
|
two events or messages will never have the same sequence number unless
|
|
that correspondence was made explicitly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The event's sequence number.
|
|
|
|
MT safe.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_structure" c:identifier="gst_event_get_structure">
|
|
<doc xml:space="preserve">Access the structure of the event.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The structure of the event. The
|
|
structure is still owned by the event, which means that you should not free
|
|
it and that the pointer becomes invalid when you free the event.
|
|
|
|
MT safe.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_name" c:identifier="gst_event_has_name">
|
|
<doc xml:space="preserve">Checks if @event has the given @name. This function is usually used to
|
|
check the name of a custom event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @name matches the name of the event structure.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name to check</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_name_id" c:identifier="gst_event_has_name_id" version="1.18">
|
|
<doc xml:space="preserve">Checks if @event has the given @name. This function is usually used to
|
|
check the name of a custom event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @name matches the name of the event structure.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name to check as a GQuark</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_buffer_size" c:identifier="gst_event_parse_buffer_size">
|
|
<doc xml:space="preserve">Get the format, minsize, maxsize and async-flag in the buffersize event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to query</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the format in</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="minsize" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the minsize in</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the maxsize in</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="async" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the async-flag in</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_caps" c:identifier="gst_event_parse_caps">
|
|
<doc xml:space="preserve">Get the caps from @event. The caps remains valid as long as @event remains
|
|
valid.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to parse</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the caps</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_flush_stop" c:identifier="gst_event_parse_flush_stop">
|
|
<doc xml:space="preserve">Parse the FLUSH_STOP event and retrieve the @reset_time member.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to parse</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="reset_time" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">if time should be reset</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_gap" c:identifier="gst_event_parse_gap">
|
|
<doc xml:space="preserve">Extract timestamp and duration from a new GAP event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEvent of type #GST_EVENT_GAP</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location where to store the
|
|
start time (pts) of the gap, or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location where to store the duration of
|
|
the gap, or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_group_id" c:identifier="gst_event_parse_group_id" version="1.2">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if a group id was set on the event and could be parsed,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="group_id" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of variable where to store the group id</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_instant_rate_change" c:identifier="gst_event_parse_instant_rate_change" version="1.18">
|
|
<doc xml:space="preserve">Extract rate and flags from an instant-rate-change event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate_multiplier" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location in which to store the rate
|
|
multiplier of the instant-rate-change event, or %NULL</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="new_flags" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location in which to store the new
|
|
segment flags of the instant-rate-change event, or %NULL</doc>
|
|
<type name="SegmentFlags" c:type="GstSegmentFlags*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_instant_rate_sync_time" c:identifier="gst_event_parse_instant_rate_sync_time" version="1.18">
|
|
<doc xml:space="preserve">Extract the rate multiplier and running times from an instant-rate-sync-time event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate_multiplier" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location where to store the rate of
|
|
the instant-rate-sync-time event, or %NULL</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location in which to store the running time
|
|
of the instant-rate-sync-time event, or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="upstream_running_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location in which to store the
|
|
upstream running time of the instant-rate-sync-time event, or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_latency" c:identifier="gst_event_parse_latency">
|
|
<doc xml:space="preserve">Get the latency in the latency event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to query</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="latency" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the latency in.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_protection" c:identifier="gst_event_parse_protection" version="1.6">
|
|
<doc xml:space="preserve">Parses an event containing protection system specific information and stores
|
|
the results in @system_id, @data and @origin. The data stored in @system_id,
|
|
@origin and @data are valid until @event is released.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GST_EVENT_PROTECTION event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="system_id" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to store the UUID
|
|
string uniquely identifying a content protection system.</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to store a #GstBuffer
|
|
holding protection system specific information.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="origin" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to store a value that
|
|
indicates where the protection information carried by @event was extracted
|
|
from.</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_qos" c:identifier="gst_event_parse_qos">
|
|
<doc xml:space="preserve">Get the type, proportion, diff and timestamp in the qos event. See
|
|
gst_event_new_qos() for more information about the different QoS values.
|
|
|
|
@timestamp will be adjusted for any pad offsets of pads it was passing through.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to query</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the QoS type in</doc>
|
|
<type name="QOSType" c:type="GstQOSType*"/>
|
|
</parameter>
|
|
<parameter name="proportion" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the proportion in</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="diff" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the diff in</doc>
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to store the timestamp in</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_seek" c:identifier="gst_event_parse_seek">
|
|
<doc xml:space="preserve">Parses a seek @event and stores the results in the given result locations.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a seek event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the rate</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the stream format</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="flags" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the #GstSeekFlags</doc>
|
|
<type name="SeekFlags" c:type="GstSeekFlags*"/>
|
|
</parameter>
|
|
<parameter name="start_type" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the #GstSeekType of the start position</doc>
|
|
<type name="SeekType" c:type="GstSeekType*"/>
|
|
</parameter>
|
|
<parameter name="start" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the start position expressed in @format</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="stop_type" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the #GstSeekType of the stop position</doc>
|
|
<type name="SeekType" c:type="GstSeekType*"/>
|
|
</parameter>
|
|
<parameter name="stop" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result location for the stop position expressed in @format</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_seek_trickmode_interval" c:identifier="gst_event_parse_seek_trickmode_interval" version="1.16">
|
|
<doc xml:space="preserve">Retrieve the trickmode interval that may have been set on a
|
|
seek event with gst_event_set_seek_trickmode_interval().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="interval" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_segment" c:identifier="gst_event_parse_segment">
|
|
<doc xml:space="preserve">Parses a segment @event and stores the result in the given @segment location.
|
|
@segment remains valid only until the @event is freed. Don't modify the segment
|
|
and make a copy if you want to modify it or store it for later use.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to parse</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="segment" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstSegment</doc>
|
|
<type name="Segment" c:type="const GstSegment**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_segment_done" c:identifier="gst_event_parse_segment_done">
|
|
<doc xml:space="preserve">Extracts the position and format from the segment done message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstEvent of type GST_EVENT_SEGMENT_DONE.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the format, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the position, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_select_streams" c:identifier="gst_event_parse_select_streams" version="1.10">
|
|
<doc xml:space="preserve">Parse the SELECT_STREAMS event and retrieve the contained streams.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to parse</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="streams" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the streams</doc>
|
|
<type name="GLib.List" c:type="GList**">
|
|
<type name="utf8"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_sink_message" c:identifier="gst_event_parse_sink_message">
|
|
<doc xml:space="preserve">Parse the sink-message event. Unref @msg after usage.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to query</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="msg" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to store the #GstMessage in.</doc>
|
|
<type name="Message" c:type="GstMessage**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_step" c:identifier="gst_event_parse_step">
|
|
<doc xml:space="preserve">Parse the step event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to query</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the format in</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="amount" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the amount in</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="rate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the rate in</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="flush" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the flush boolean in</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="intermediate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the intermediate
|
|
boolean in</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream" c:identifier="gst_event_parse_stream" version="1.10">
|
|
<doc xml:space="preserve">Parse a stream-start @event and extract the #GstStream from it.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of variable to store the stream</doc>
|
|
<type name="Stream" c:type="GstStream**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream_collection" c:identifier="gst_event_parse_stream_collection" version="1.10">
|
|
<doc xml:space="preserve">Retrieve new #GstStreamCollection from STREAM_COLLECTION event @event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-collection event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="collection" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to store the collection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream_flags" c:identifier="gst_event_parse_stream_flags" version="1.2">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of variable where to store the stream flags</doc>
|
|
<type name="StreamFlags" c:type="GstStreamFlags*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream_group_done" c:identifier="gst_event_parse_stream_group_done" version="1.10">
|
|
<doc xml:space="preserve">Parse a stream-group-done @event and store the result in the given
|
|
@group_id location.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-group-done event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="group_id" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of variable to store the group id into</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream_start" c:identifier="gst_event_parse_stream_start">
|
|
<doc xml:space="preserve">Parse a stream-id @event and store the result in the given @stream_id
|
|
location. The string stored in @stream_id must not be modified and will
|
|
remain valid only until @event gets freed. Make a copy if you want to
|
|
modify it or store it for later use.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream_id" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to store the stream-id</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_tag" c:identifier="gst_event_parse_tag">
|
|
<doc xml:space="preserve">Parses a tag @event and stores the results in the given @taglist location.
|
|
No reference to the taglist will be returned, it remains valid only until
|
|
the @event is freed. Don't modify or free the taglist, make a copy if you
|
|
want to modify it or store it for later use.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a tag event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="taglist" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to metadata list</doc>
|
|
<type name="TagList" c:type="GstTagList**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_toc" c:identifier="gst_event_parse_toc">
|
|
<doc xml:space="preserve">Parse a TOC @event and store the results in the given @toc and @updated locations.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a TOC event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="toc" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to #GstToc structure.</doc>
|
|
<type name="Toc" c:type="GstToc**"/>
|
|
</parameter>
|
|
<parameter name="updated" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to store TOC updated flag.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_toc_select" c:identifier="gst_event_parse_toc_select">
|
|
<doc xml:space="preserve">Parse a TOC select @event and store the results in the given @uid location.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a TOC select event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="uid" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">storage for the selection UID.</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_event_ref" introspectable="0">
|
|
<doc xml:space="preserve">Increase the refcount of this event.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@event (for convenience when doing assignments)</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The event to refcount</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_group_id" c:identifier="gst_event_set_group_id" version="1.2">
|
|
<doc xml:space="preserve">All streams that have the same group id are supposed to be played
|
|
together, i.e. all streams inside a container file should have the
|
|
same group id but different stream ids. The group id should change
|
|
each time the stream is started, resulting in different group ids
|
|
each time a file is played for example.
|
|
|
|
Use gst_util_group_id_next() to get a new group id.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="group_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the group id to set</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_running_time_offset" c:identifier="gst_event_set_running_time_offset" version="1.4">
|
|
<doc xml:space="preserve">Set the running time offset of a event. See
|
|
gst_event_get_running_time_offset() for more information.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">A the new running time offset</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_seek_trickmode_interval" c:identifier="gst_event_set_seek_trickmode_interval" version="1.16">
|
|
<doc xml:space="preserve">Sets a trickmode interval on a (writable) seek event. Elements
|
|
that support TRICKMODE_KEY_UNITS seeks SHOULD use this as the minimal
|
|
interval between each frame they may output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_seqnum" c:identifier="gst_event_set_seqnum">
|
|
<doc xml:space="preserve">Set the sequence number of a event.
|
|
|
|
This function might be called by the creator of a event to indicate that the
|
|
event relates to other events or messages. See gst_event_get_seqnum() for
|
|
more information.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="seqnum" transfer-ownership="none">
|
|
<doc xml:space="preserve">A sequence number.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_stream" c:identifier="gst_event_set_stream" version="1.10">
|
|
<doc xml:space="preserve">Set the @stream on the stream-start @event</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream object to set</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_stream_flags" c:identifier="gst_event_set_stream_flags" version="1.2">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a stream-start event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream flags to set</doc>
|
|
<type name="StreamFlags" c:type="GstStreamFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_event_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decrease the refcount of an event, freeing it if the refcount reaches 0.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the event to refcount</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="writable_structure" c:identifier="gst_event_writable_structure">
|
|
<doc xml:space="preserve">Get a writable version of the structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The structure of the event. The structure
|
|
is still owned by the event, which means that you should not free
|
|
it and that the pointer becomes invalid when you free the event.
|
|
This function checks if @event is writable and will never return
|
|
%NULL.
|
|
|
|
MT safe.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="replace" c:identifier="gst_event_replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstEvent to point to a different #GstEvent. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
event is unreffed, the new one is reffed).
|
|
|
|
Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_event was different from @old_event</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_event" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstEvent to be replaced.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
<parameter name="new_event" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstEvent that will
|
|
replace the event pointed to by @old_event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="steal" c:identifier="gst_event_steal" introspectable="0">
|
|
<doc xml:space="preserve">Atomically replace the #GstEvent pointed to by @old_event with %NULL and
|
|
return the original event.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent that was in @old_event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_event" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstEvent to be stolen.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="take" c:identifier="gst_event_take" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstEvent to point to a different #GstEvent. This
|
|
function is similar to gst_event_replace() except that it takes ownership of
|
|
@new_event.
|
|
|
|
Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_event was different from @old_event</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_event" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstEvent to be stolen.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
<parameter name="new_event" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstEvent that will
|
|
replace the event pointed to by @old_event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<enumeration name="EventType" glib:type-name="GstEventType" glib:get-type="gst_event_type_get_type" c:type="GstEventType">
|
|
<doc xml:space="preserve">#GstEventType lists the standard event types that can be sent in a pipeline.
|
|
|
|
The custom event types can be used for private messages between elements
|
|
that can't be expressed using normal
|
|
GStreamer buffer passing semantics. Custom events carry an arbitrary
|
|
#GstStructure.
|
|
Specific custom events are distinguished by the name of the structure.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_EVENT_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown event.</doc>
|
|
</member>
|
|
<member name="flush_start" value="2563" c:identifier="GST_EVENT_FLUSH_START" glib:nick="flush-start">
|
|
<doc xml:space="preserve">Start a flush operation. This event clears all data
|
|
from the pipeline and unblock all streaming threads.</doc>
|
|
</member>
|
|
<member name="flush_stop" value="5127" c:identifier="GST_EVENT_FLUSH_STOP" glib:nick="flush-stop">
|
|
<doc xml:space="preserve">Stop a flush operation. This event resets the
|
|
running-time of the pipeline.</doc>
|
|
</member>
|
|
<member name="stream_start" value="10254" c:identifier="GST_EVENT_STREAM_START" glib:nick="stream-start">
|
|
<doc xml:space="preserve">Event to mark the start of a new stream. Sent before any
|
|
other serialized event and only sent at the start of a new stream,
|
|
not after flushing seeks.</doc>
|
|
</member>
|
|
<member name="caps" value="12814" c:identifier="GST_EVENT_CAPS" glib:nick="caps">
|
|
<doc xml:space="preserve">#GstCaps event. Notify the pad of a new media type.</doc>
|
|
</member>
|
|
<member name="segment" value="17934" c:identifier="GST_EVENT_SEGMENT" glib:nick="segment">
|
|
<doc xml:space="preserve">A new media segment follows in the dataflow. The
|
|
segment events contains information for clipping buffers and
|
|
converting buffer timestamps to running-time and
|
|
stream-time.</doc>
|
|
</member>
|
|
<member name="stream_collection" value="19230" c:identifier="GST_EVENT_STREAM_COLLECTION" glib:nick="stream-collection">
|
|
<doc xml:space="preserve">A new #GstStreamCollection is available (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="tag" value="20510" c:identifier="GST_EVENT_TAG" glib:nick="tag">
|
|
<doc xml:space="preserve">A new set of metadata tags has been found in the stream.</doc>
|
|
</member>
|
|
<member name="buffersize" value="23054" c:identifier="GST_EVENT_BUFFERSIZE" glib:nick="buffersize">
|
|
<doc xml:space="preserve">Notification of buffering requirements. Currently not
|
|
used yet.</doc>
|
|
</member>
|
|
<member name="sink_message" value="25630" c:identifier="GST_EVENT_SINK_MESSAGE" glib:nick="sink-message">
|
|
<doc xml:space="preserve">An event that sinks turn into a message. Used to
|
|
send messages that should be emitted in sync with
|
|
rendering.</doc>
|
|
</member>
|
|
<member name="stream_group_done" value="26894" c:identifier="GST_EVENT_STREAM_GROUP_DONE" glib:nick="stream-group-done">
|
|
<doc xml:space="preserve">Indicates that there is no more data for
|
|
the stream group ID in the message. Sent before EOS
|
|
in some instances and should be handled mostly the same. (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="eos" value="28174" c:identifier="GST_EVENT_EOS" glib:nick="eos">
|
|
<doc xml:space="preserve">End-Of-Stream. No more data is to be expected to follow
|
|
without either a STREAM_START event, or a FLUSH_STOP and a SEGMENT
|
|
event.</doc>
|
|
</member>
|
|
<member name="toc" value="30750" c:identifier="GST_EVENT_TOC" glib:nick="toc">
|
|
<doc xml:space="preserve">An event which indicates that a new table of contents (TOC)
|
|
was found or updated.</doc>
|
|
</member>
|
|
<member name="protection" value="33310" c:identifier="GST_EVENT_PROTECTION" glib:nick="protection">
|
|
<doc xml:space="preserve">An event which indicates that new or updated
|
|
encryption information has been found in the stream.</doc>
|
|
</member>
|
|
<member name="segment_done" value="38406" c:identifier="GST_EVENT_SEGMENT_DONE" glib:nick="segment-done">
|
|
<doc xml:space="preserve">Marks the end of a segment playback.</doc>
|
|
</member>
|
|
<member name="gap" value="40966" c:identifier="GST_EVENT_GAP" glib:nick="gap">
|
|
<doc xml:space="preserve">Marks a gap in the datastream.</doc>
|
|
</member>
|
|
<member name="instant_rate_change" value="46090" c:identifier="GST_EVENT_INSTANT_RATE_CHANGE" glib:nick="instant-rate-change">
|
|
<doc xml:space="preserve">Notify downstream that a playback rate override
|
|
should be applied as soon as possible. (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="qos" value="48641" c:identifier="GST_EVENT_QOS" glib:nick="qos">
|
|
<doc xml:space="preserve">A quality message. Used to indicate to upstream elements
|
|
that the downstream elements should adjust their processing
|
|
rate.</doc>
|
|
</member>
|
|
<member name="seek" value="51201" c:identifier="GST_EVENT_SEEK" glib:nick="seek">
|
|
<doc xml:space="preserve">A request for a new playback position and rate.</doc>
|
|
</member>
|
|
<member name="navigation" value="53761" c:identifier="GST_EVENT_NAVIGATION" glib:nick="navigation">
|
|
<doc xml:space="preserve">Navigation events are usually used for communicating
|
|
user requests, such as mouse or keyboard movements,
|
|
to upstream elements.</doc>
|
|
</member>
|
|
<member name="latency" value="56321" c:identifier="GST_EVENT_LATENCY" glib:nick="latency">
|
|
<doc xml:space="preserve">Notification of new latency adjustment. Sinks will use
|
|
the latency information to adjust their synchronisation.</doc>
|
|
</member>
|
|
<member name="step" value="58881" c:identifier="GST_EVENT_STEP" glib:nick="step">
|
|
<doc xml:space="preserve">A request for stepping through the media. Sinks will usually
|
|
execute the step operation.</doc>
|
|
</member>
|
|
<member name="reconfigure" value="61441" c:identifier="GST_EVENT_RECONFIGURE" glib:nick="reconfigure">
|
|
<doc xml:space="preserve">A request for upstream renegotiating caps and reconfiguring.</doc>
|
|
</member>
|
|
<member name="toc_select" value="64001" c:identifier="GST_EVENT_TOC_SELECT" glib:nick="toc-select">
|
|
<doc xml:space="preserve">A request for a new playback position based on TOC
|
|
entry's UID.</doc>
|
|
</member>
|
|
<member name="select_streams" value="66561" c:identifier="GST_EVENT_SELECT_STREAMS" glib:nick="select-streams">
|
|
<doc xml:space="preserve">A request to select one or more streams (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="instant_rate_sync_time" value="66817" c:identifier="GST_EVENT_INSTANT_RATE_SYNC_TIME" glib:nick="instant-rate-sync-time">
|
|
<doc xml:space="preserve">Sent by the pipeline to notify elements that handle the
|
|
instant-rate-change event about the running-time when
|
|
the rate multiplier should be applied (or was applied). (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="custom_upstream" value="69121" c:identifier="GST_EVENT_CUSTOM_UPSTREAM" glib:nick="custom-upstream">
|
|
<doc xml:space="preserve">Upstream custom event</doc>
|
|
</member>
|
|
<member name="custom_downstream" value="71686" c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM" glib:nick="custom-downstream">
|
|
<doc xml:space="preserve">Downstream custom event that travels in the
|
|
data flow.</doc>
|
|
</member>
|
|
<member name="custom_downstream_oob" value="74242" c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_OOB" glib:nick="custom-downstream-oob">
|
|
<doc xml:space="preserve">Custom out-of-band downstream event.</doc>
|
|
</member>
|
|
<member name="custom_downstream_sticky" value="76830" c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_STICKY" glib:nick="custom-downstream-sticky">
|
|
<doc xml:space="preserve">Custom sticky downstream event.</doc>
|
|
</member>
|
|
<member name="custom_both" value="79367" c:identifier="GST_EVENT_CUSTOM_BOTH" glib:nick="custom-both">
|
|
<doc xml:space="preserve">Custom upstream or downstream event.
|
|
In-band when travelling downstream.</doc>
|
|
</member>
|
|
<member name="custom_both_oob" value="81923" c:identifier="GST_EVENT_CUSTOM_BOTH_OOB" glib:nick="custom-both-oob">
|
|
<doc xml:space="preserve">Custom upstream or downstream out-of-band event.</doc>
|
|
</member>
|
|
<function name="get_flags" c:identifier="gst_event_type_get_flags">
|
|
<doc xml:space="preserve">Gets the #GstEventTypeFlags associated with @type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEventTypeFlags.</doc>
|
|
<type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEventType</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_name" c:identifier="gst_event_type_get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given event type. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference to the static name of the event.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the event type</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_quark" c:identifier="gst_event_type_to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given event type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the event type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the event type</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="EventTypeFlags" glib:type-name="GstEventTypeFlags" glib:get-type="gst_event_type_flags_get_type" c:type="GstEventTypeFlags">
|
|
<doc xml:space="preserve">#GstEventTypeFlags indicate the aspects of the different #GstEventType
|
|
values. You can get the type flags of a #GstEventType with the
|
|
gst_event_type_get_flags() function.</doc>
|
|
<member name="upstream" value="1" c:identifier="GST_EVENT_TYPE_UPSTREAM" glib:nick="upstream">
|
|
<doc xml:space="preserve">Set if the event can travel upstream.</doc>
|
|
</member>
|
|
<member name="downstream" value="2" c:identifier="GST_EVENT_TYPE_DOWNSTREAM" glib:nick="downstream">
|
|
<doc xml:space="preserve">Set if the event can travel downstream.</doc>
|
|
</member>
|
|
<member name="serialized" value="4" c:identifier="GST_EVENT_TYPE_SERIALIZED" glib:nick="serialized">
|
|
<doc xml:space="preserve">Set if the event should be serialized with data
|
|
flow.</doc>
|
|
</member>
|
|
<member name="sticky" value="8" c:identifier="GST_EVENT_TYPE_STICKY" glib:nick="sticky">
|
|
<doc xml:space="preserve">Set if the event is sticky on the pads.</doc>
|
|
</member>
|
|
<member name="sticky_multi" value="16" c:identifier="GST_EVENT_TYPE_STICKY_MULTI" glib:nick="sticky-multi">
|
|
<doc xml:space="preserve">Multiple sticky events can be on a pad, each
|
|
identified by the event name.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<constant name="FLAG_SET_MASK_EXACT" value="4294967295" c:type="GST_FLAG_SET_MASK_EXACT" version="1.6">
|
|
<doc xml:space="preserve">A mask value with all bits set, for use as a
|
|
GstFlagSet mask where all flag bits must match
|
|
exactly</doc>
|
|
|
|
<type name="guint" c:type="guint"/>
|
|
</constant>
|
|
<constant name="FORMAT_PERCENT_MAX" value="1000000" c:type="GST_FORMAT_PERCENT_MAX">
|
|
<doc xml:space="preserve">The PERCENT format is between 0 and this value</doc>
|
|
|
|
<type name="gint64" c:type="gint64"/>
|
|
</constant>
|
|
<constant name="FORMAT_PERCENT_SCALE" value="10000" c:type="GST_FORMAT_PERCENT_SCALE">
|
|
<doc xml:space="preserve">The value used to scale down the reported PERCENT format value to
|
|
its real value.</doc>
|
|
|
|
<type name="gint64" c:type="gint64"/>
|
|
</constant>
|
|
<function-macro name="FOURCC_ARGS" c:identifier="GST_FOURCC_ARGS" introspectable="0">
|
|
<doc xml:space="preserve">Can be used together with #GST_FOURCC_FORMAT to properly output a
|
|
#guint32 fourcc value in a printf\()-style text message.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="fourcc">
|
|
<doc xml:space="preserve">a #guint32 fourcc value to output</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="FOURCC_FORMAT" value="c%c%c%c" c:type="GST_FOURCC_FORMAT" introspectable="0">
|
|
<doc xml:space="preserve">Can be used together with #GST_FOURCC_ARGS to properly output a
|
|
#guint32 fourcc value in a printf\()-style text message.
|
|
|
|
|[
|
|
printf ("fourcc: %" GST_FOURCC_FORMAT "\n", GST_FOURCC_ARGS (fcc));
|
|
]|</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<class name="FlagSet" c:symbol-prefix="flagset" glib:type-name="GstFlagSet" glib:get-type="gst_flagset_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a 32-bit flag bitfield, with 32-bit
|
|
mask indicating which of the bits in the field are explicitly set.</doc>
|
|
<function name="register" c:identifier="gst_flagset_register" version="1.6">
|
|
<doc xml:space="preserve">Create a new sub-class of #GST_TYPE_FLAG_SET
|
|
which will pretty-print the human-readable flags
|
|
when serializing, for easier debugging.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="flags_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GType of a #G_TYPE_FLAGS type.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</class>
|
|
<enumeration name="FlowReturn" glib:type-name="GstFlowReturn" glib:get-type="gst_flow_return_get_type" c:type="GstFlowReturn">
|
|
<doc xml:space="preserve">The result of passing data to a pad.
|
|
|
|
Note that the custom return values should not be exposed outside of the
|
|
element scope.</doc>
|
|
<member name="custom_success_2" value="102" c:identifier="GST_FLOW_CUSTOM_SUCCESS_2" glib:nick="custom-success-2">
|
|
<doc xml:space="preserve">Pre-defined custom success code.</doc>
|
|
</member>
|
|
<member name="custom_success_1" value="101" c:identifier="GST_FLOW_CUSTOM_SUCCESS_1" glib:nick="custom-success-1">
|
|
<doc xml:space="preserve">Pre-defined custom success code (define your
|
|
custom success code to this to avoid compiler
|
|
warnings).</doc>
|
|
</member>
|
|
<member name="custom_success" value="100" c:identifier="GST_FLOW_CUSTOM_SUCCESS" glib:nick="custom-success">
|
|
<doc xml:space="preserve">Elements can use values starting from
|
|
this (and higher) to define custom success
|
|
codes.</doc>
|
|
</member>
|
|
<member name="ok" value="0" c:identifier="GST_FLOW_OK" glib:nick="ok">
|
|
<doc xml:space="preserve">Data passing was ok.</doc>
|
|
</member>
|
|
<member name="not_linked" value="-1" c:identifier="GST_FLOW_NOT_LINKED" glib:nick="not-linked">
|
|
<doc xml:space="preserve">Pad is not linked.</doc>
|
|
</member>
|
|
<member name="flushing" value="-2" c:identifier="GST_FLOW_FLUSHING" glib:nick="flushing">
|
|
<doc xml:space="preserve">Pad is flushing.</doc>
|
|
</member>
|
|
<member name="eos" value="-3" c:identifier="GST_FLOW_EOS" glib:nick="eos">
|
|
<doc xml:space="preserve">Pad is EOS.</doc>
|
|
</member>
|
|
<member name="not_negotiated" value="-4" c:identifier="GST_FLOW_NOT_NEGOTIATED" glib:nick="not-negotiated">
|
|
<doc xml:space="preserve">Pad is not negotiated.</doc>
|
|
</member>
|
|
<member name="error" value="-5" c:identifier="GST_FLOW_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">Some (fatal) error occurred. Element generating
|
|
this error should post an error message using
|
|
GST_ELEMENT_ERROR() with more details.</doc>
|
|
</member>
|
|
<member name="not_supported" value="-6" c:identifier="GST_FLOW_NOT_SUPPORTED" glib:nick="not-supported">
|
|
<doc xml:space="preserve">This operation is not supported.</doc>
|
|
</member>
|
|
<member name="custom_error" value="-100" c:identifier="GST_FLOW_CUSTOM_ERROR" glib:nick="custom-error">
|
|
<doc xml:space="preserve">Elements can use values starting from
|
|
this (and lower) to define custom error codes.</doc>
|
|
</member>
|
|
<member name="custom_error_1" value="-101" c:identifier="GST_FLOW_CUSTOM_ERROR_1" glib:nick="custom-error-1">
|
|
<doc xml:space="preserve">Pre-defined custom error code (define your
|
|
custom error code to this to avoid compiler
|
|
warnings).</doc>
|
|
</member>
|
|
<member name="custom_error_2" value="-102" c:identifier="GST_FLOW_CUSTOM_ERROR_2" glib:nick="custom-error-2">
|
|
<doc xml:space="preserve">Pre-defined custom error code.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="Format" glib:type-name="GstFormat" glib:get-type="gst_format_get_type" c:type="GstFormat">
|
|
<doc xml:space="preserve">Standard predefined formats</doc>
|
|
<member name="undefined" value="0" c:identifier="GST_FORMAT_UNDEFINED" glib:nick="undefined">
|
|
<doc xml:space="preserve">undefined format</doc>
|
|
</member>
|
|
<member name="default" value="1" c:identifier="GST_FORMAT_DEFAULT" glib:nick="default">
|
|
<doc xml:space="preserve">the default format of the pad/element. This can be
|
|
samples for raw audio, frames/fields for raw video (some, but not all,
|
|
elements support this; use @GST_FORMAT_TIME if you don't have a good
|
|
reason to query for samples/frames)</doc>
|
|
</member>
|
|
<member name="bytes" value="2" c:identifier="GST_FORMAT_BYTES" glib:nick="bytes">
|
|
<doc xml:space="preserve">bytes</doc>
|
|
</member>
|
|
<member name="time" value="3" c:identifier="GST_FORMAT_TIME" glib:nick="time">
|
|
<doc xml:space="preserve">time in nanoseconds</doc>
|
|
</member>
|
|
<member name="buffers" value="4" c:identifier="GST_FORMAT_BUFFERS" glib:nick="buffers">
|
|
<doc xml:space="preserve">buffers (few, if any, elements implement this as of
|
|
May 2009)</doc>
|
|
</member>
|
|
<member name="percent" value="5" c:identifier="GST_FORMAT_PERCENT" glib:nick="percent">
|
|
<doc xml:space="preserve">percentage of stream (few, if any, elements implement
|
|
this as of May 2009)</doc>
|
|
</member>
|
|
<function name="get_by_nick" c:identifier="gst_format_get_by_nick">
|
|
<doc xml:space="preserve">Return the format registered with the given nick.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The format with @nick or GST_FORMAT_UNDEFINED
|
|
if the format was not registered.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">The nick of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_details" c:identifier="gst_format_get_details">
|
|
<doc xml:space="preserve">Get details about the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstFormatDefinition for @format or %NULL
|
|
on failure.
|
|
|
|
MT safe.</doc>
|
|
<type name="FormatDefinition" c:type="const GstFormatDefinition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format to get details of</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_name" c:identifier="gst_format_get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given format. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a reference to the static name of the format
|
|
or %NULL if the format is unknown.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="iterate_definitions" c:identifier="gst_format_iterate_definitions">
|
|
<doc xml:space="preserve">Iterate all the registered formats. The format definition is read
|
|
only.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a GstIterator of #GstFormatDefinition.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="register" c:identifier="gst_format_register">
|
|
<doc xml:space="preserve">Create a new GstFormat based on the nick or return an
|
|
already registered format with that nick.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A new GstFormat or an already registered format
|
|
with the same nick.
|
|
|
|
MT safe.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">The nick of the new format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">The description of the new format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_quark" c:identifier="gst_format_to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the format or 0 if the format
|
|
is unknown.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="FormatDefinition" c:type="GstFormatDefinition">
|
|
<doc xml:space="preserve">A format definition</doc>
|
|
|
|
<field name="value" writable="1">
|
|
<doc xml:space="preserve">The unique id of this format</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</field>
|
|
<field name="nick" writable="1">
|
|
<doc xml:space="preserve">A short nick of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="description" writable="1">
|
|
<doc xml:space="preserve">A longer description of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="quark" writable="1">
|
|
<doc xml:space="preserve">A quark for the nick</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</field>
|
|
</record>
|
|
<class name="Fraction" c:symbol-prefix="fraction" glib:type-name="GstFraction" glib:get-type="gst_fraction_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a fraction of an integer numerator
|
|
over an integer denominator</doc>
|
|
</class>
|
|
<class name="FractionRange" c:symbol-prefix="fraction_range" glib:type-name="GstFractionRange" glib:get-type="gst_fraction_range_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a #GstFractionRange range</doc>
|
|
</class>
|
|
<function-macro name="GHOST_PAD" c:identifier="GST_GHOST_PAD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="GHOST_PAD_CAST" c:identifier="GST_GHOST_PAD_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="GHOST_PAD_CLASS" c:identifier="GST_GHOST_PAD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="GROUP_ID_INVALID" value="0" c:type="GST_GROUP_ID_INVALID" version="1.14">
|
|
<doc xml:space="preserve">A value which is guaranteed to never be returned by
|
|
gst_util_group_id_next().
|
|
|
|
Can be used as a default value in variables used to store group_id.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<class name="GhostPad" c:symbol-prefix="ghost_pad" c:type="GstGhostPad" parent="ProxyPad" glib:type-name="GstGhostPad" glib:get-type="gst_ghost_pad_get_type" glib:type-struct="GhostPadClass">
|
|
<doc xml:space="preserve">GhostPads are useful when organizing pipelines with #GstBin like elements.
|
|
The idea here is to create hierarchical element graphs. The bin element
|
|
contains a sub-graph. Now one would like to treat the bin-element like any
|
|
other #GstElement. This is where GhostPads come into play. A GhostPad acts as
|
|
a proxy for another pad. Thus the bin can have sink and source ghost-pads
|
|
that are associated with sink and source pads of the child elements.
|
|
|
|
If the target pad is known at creation time, gst_ghost_pad_new() is the
|
|
function to use to get a ghost-pad. Otherwise one can use gst_ghost_pad_new_no_target()
|
|
to create the ghost-pad and use gst_ghost_pad_set_target() to establish the
|
|
association later on.
|
|
|
|
Note that GhostPads add overhead to the data processing of a pipeline.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_ghost_pad_new">
|
|
<doc xml:space="preserve">Create a new ghostpad with @target as the target. The direction will be taken
|
|
from the target pad. @target must be unlinked.
|
|
|
|
Will ref the target.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPad, or %NULL in
|
|
case of an error.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the new pad, or %NULL to assign a default name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="target" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad to ghost.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_template" c:identifier="gst_ghost_pad_new_from_template">
|
|
<doc xml:space="preserve">Create a new ghostpad with @target as the target. The direction will be taken
|
|
from the target pad. The template used on the ghostpad will be @template.
|
|
|
|
Will ref the target.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPad, or %NULL in
|
|
case of an error.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the new pad, or %NULL to assign a default name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="target" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad to ghost.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadTemplate to use on the ghostpad.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_no_target" c:identifier="gst_ghost_pad_new_no_target">
|
|
<doc xml:space="preserve">Create a new ghostpad without a target with the given direction.
|
|
A target can be set on the ghostpad later with the
|
|
gst_ghost_pad_set_target() function.
|
|
|
|
The created ghostpad will not have a padtemplate.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPad, or %NULL in
|
|
case of an error.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the new pad, or %NULL to assign a default name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="dir" transfer-ownership="none">
|
|
<doc xml:space="preserve">the direction of the ghostpad</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_no_target_from_template" c:identifier="gst_ghost_pad_new_no_target_from_template">
|
|
<doc xml:space="preserve">Create a new ghostpad based on @templ, without setting a target. The
|
|
direction will be taken from the @templ.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPad, or %NULL in
|
|
case of an error.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the new pad, or %NULL to assign a default name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadTemplate to create the ghostpad from.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<function name="activate_mode_default" c:identifier="gst_ghost_pad_activate_mode_default">
|
|
<doc xml:space="preserve">Invoke the default activate mode function of a ghost pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the operation was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to activate or deactivate.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested activation mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the pad should be active or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="internal_activate_mode_default" c:identifier="gst_ghost_pad_internal_activate_mode_default">
|
|
<doc xml:space="preserve">Invoke the default activate mode function of a proxy pad that is
|
|
owned by a ghost pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the operation was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to activate or deactivate.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested activation mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the pad should be active or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="construct" c:identifier="gst_ghost_pad_construct" deprecated="1">
|
|
<doc xml:space="preserve">Finish initialization of a newly allocated ghost pad.
|
|
|
|
This function is most useful in language bindings and when subclassing
|
|
#GstGhostPad; plugin and application developers normally will not call this
|
|
function. Call this function directly after a call to g_object_new
|
|
(GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL).</doc>
|
|
<doc-deprecated xml:space="preserve">This function is deprecated since 1.18 and does nothing
|
|
anymore.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the construction succeeds, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="gpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the newly allocated ghost pad</doc>
|
|
<type name="GhostPad" c:type="GstGhostPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_target" c:identifier="gst_ghost_pad_get_target">
|
|
<doc xml:space="preserve">Get the target pad of @gpad. Unref target pad after usage.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the target #GstPad, can be
|
|
%NULL if the ghostpad has no target set. Unref target pad after
|
|
usage.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="gpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstGhostPad</doc>
|
|
<type name="GhostPad" c:type="GstGhostPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_target" c:identifier="gst_ghost_pad_set_target">
|
|
<doc xml:space="preserve">Set the new target of the ghostpad @gpad. Any existing target
|
|
is unlinked and links to the new target are established. if @newtarget is
|
|
%NULL the target will be cleared.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the new target could be set. This function
|
|
can return %FALSE when the internal pads could not be linked.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="gpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstGhostPad</doc>
|
|
<type name="GhostPad" c:type="GstGhostPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="newtarget" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the new pad target</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="pad">
|
|
<type name="ProxyPad" c:type="GstProxyPad"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="GhostPadPrivate" c:type="GstGhostPadPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="GhostPadClass" c:type="GstGhostPadClass" glib:is-gtype-struct-for="GhostPad">
|
|
|
|
<field name="parent_class">
|
|
<type name="ProxyPadClass" c:type="GstProxyPadClass"/>
|
|
</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>
|
|
<record name="GhostPadPrivate" c:type="GstGhostPadPrivate" disguised="1">
|
|
|
|
</record>
|
|
<function-macro name="IS_ALLOCATOR" c:identifier="GST_IS_ALLOCATOR" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_ALLOCATOR_CLASS" c:identifier="GST_IS_ALLOCATOR_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BIN" c:identifier="GST_IS_BIN" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BIN_CLASS" c:identifier="GST_IS_BIN_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BUFFER" c:identifier="GST_IS_BUFFER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BUFFER_LIST" c:identifier="GST_IS_BUFFER_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BUFFER_POOL" c:identifier="GST_IS_BUFFER_POOL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BUFFER_POOL_CLASS" c:identifier="GST_IS_BUFFER_POOL_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BUS" c:identifier="GST_IS_BUS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="bus">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_BUS_CLASS" c:identifier="GST_IS_BUS_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="bclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CAPS" c:identifier="GST_IS_CAPS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CAPS_FEATURES" c:identifier="GST_IS_CAPS_FEATURES" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CHILD_PROXY" c:identifier="GST_IS_CHILD_PROXY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CLOCK" c:identifier="GST_IS_CLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="clock">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CLOCK_CLASS" c:identifier="GST_IS_CLOCK_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="cclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CONTEXT" c:identifier="GST_IS_CONTEXT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CONTROL_BINDING" c:identifier="GST_IS_CONTROL_BINDING" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CONTROL_BINDING_CLASS" c:identifier="GST_IS_CONTROL_BINDING_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CONTROL_SOURCE" c:identifier="GST_IS_CONTROL_SOURCE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_CONTROL_SOURCE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE" c:identifier="GST_IS_DEVICE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_CLASS" c:identifier="GST_IS_DEVICE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_MONITOR" c:identifier="GST_IS_DEVICE_MONITOR" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_MONITOR_CLASS" c:identifier="GST_IS_DEVICE_MONITOR_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_PROVIDER" c:identifier="GST_IS_DEVICE_PROVIDER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_PROVIDER_CLASS" c:identifier="GST_IS_DEVICE_PROVIDER_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_PROVIDER_FACTORY" c:identifier="GST_IS_DEVICE_PROVIDER_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DEVICE_PROVIDER_FACTORY_CLASS" c:identifier="GST_IS_DEVICE_PROVIDER_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DYNAMIC_TYPE_FACTORY" c:identifier="GST_IS_DYNAMIC_TYPE_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_DYNAMIC_TYPE_FACTORY_CLASS" c:identifier="GST_IS_DYNAMIC_TYPE_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_ELEMENT" c:identifier="GST_IS_ELEMENT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_ELEMENT_CLASS" c:identifier="GST_IS_ELEMENT_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_ELEMENT_FACTORY" c:identifier="GST_IS_ELEMENT_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_ELEMENT_FACTORY_CLASS" c:identifier="GST_IS_ELEMENT_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_EVENT" c:identifier="GST_IS_EVENT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_GHOST_PAD" c:identifier="GST_IS_GHOST_PAD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_GHOST_PAD_CLASS" c:identifier="GST_IS_GHOST_PAD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_MESSAGE" c:identifier="GST_IS_MESSAGE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_MINI_OBJECT_TYPE" c:identifier="GST_IS_MINI_OBJECT_TYPE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
<parameter name="type">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_OBJECT" c:identifier="GST_IS_OBJECT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_OBJECT_CLASS" c:identifier="GST_IS_OBJECT_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PAD" c:identifier="GST_IS_PAD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PAD_CLASS" c:identifier="GST_IS_PAD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PAD_TEMPLATE" c:identifier="GST_IS_PAD_TEMPLATE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PAD_TEMPLATE_CLASS" c:identifier="GST_IS_PAD_TEMPLATE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PARAM_SPEC_ARRAY_LIST" c:identifier="GST_IS_PARAM_SPEC_ARRAY_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pspec">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PARAM_SPEC_FRACTION" c:identifier="GST_IS_PARAM_SPEC_FRACTION" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pspec">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIPELINE" c:identifier="GST_IS_PIPELINE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PIPELINE_CLASS" c:identifier="GST_IS_PIPELINE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PLUGIN" c:identifier="GST_IS_PLUGIN" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PLUGIN_CLASS" c:identifier="GST_IS_PLUGIN_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PLUGIN_FEATURE" c:identifier="GST_IS_PLUGIN_FEATURE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PLUGIN_FEATURE_CLASS" c:identifier="GST_IS_PLUGIN_FEATURE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PRESET" c:identifier="GST_IS_PRESET" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PROXY_PAD" c:identifier="GST_IS_PROXY_PAD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_PROXY_PAD_CLASS" c:identifier="GST_IS_PROXY_PAD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_QUERY" c:identifier="GST_IS_QUERY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_REGISTRY" c:identifier="GST_IS_REGISTRY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_REGISTRY_CLASS" c:identifier="GST_IS_REGISTRY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_SAMPLE" c:identifier="GST_IS_SAMPLE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_STREAM" c:identifier="GST_IS_STREAM" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_STREAM_CLASS" c:identifier="GST_IS_STREAM_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_STREAM_COLLECTION" c:identifier="GST_IS_STREAM_COLLECTION" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_STREAM_COLLECTION_CLASS" c:identifier="GST_IS_STREAM_COLLECTION_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_STRUCTURE" c:identifier="GST_IS_STRUCTURE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_SYSTEM_CLOCK" c:identifier="GST_IS_SYSTEM_CLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_SYSTEM_CLOCK_CLASS" c:identifier="GST_IS_SYSTEM_CLOCK_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TAG_LIST" c:identifier="GST_IS_TAG_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TAG_SETTER" c:identifier="GST_IS_TAG_SETTER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TASK" c:identifier="GST_IS_TASK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TASK_CLASS" c:identifier="GST_IS_TASK_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="tclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TASK_POOL" c:identifier="GST_IS_TASK_POOL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pool">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TASK_POOL_CLASS" c:identifier="GST_IS_TASK_POOL_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TOC_SETTER" c:identifier="GST_IS_TOC_SETTER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TRACER" c:identifier="GST_IS_TRACER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TRACER_CLASS" c:identifier="GST_IS_TRACER_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TRACER_FACTORY" c:identifier="GST_IS_TRACER_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TRACER_FACTORY_CLASS" c:identifier="GST_IS_TRACER_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TRACER_RECORD" c:identifier="GST_IS_TRACER_RECORD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TRACER_RECORD_CLASS" c:identifier="GST_IS_TRACER_RECORD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TYPE_FIND_FACTORY" c:identifier="GST_IS_TYPE_FIND_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_TYPE_FIND_FACTORY_CLASS" c:identifier="GST_IS_TYPE_FIND_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_URI" c:identifier="GST_IS_URI" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_URI_HANDLER" c:identifier="GST_IS_URI_HANDLER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ITERATOR" c:identifier="GST_ITERATOR" introspectable="0">
|
|
<doc xml:space="preserve">Macro to cast to a #GstIterator</doc>
|
|
|
|
<parameters>
|
|
<parameter name="it">
|
|
<doc xml:space="preserve">the #GstIterator value</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ITERATOR_COOKIE" c:identifier="GST_ITERATOR_COOKIE" introspectable="0">
|
|
<doc xml:space="preserve">Macro to get the cookie of a #GstIterator. The cookie of the
|
|
iterator is the value of the master cookie when the iterator
|
|
was created.
|
|
Whenever the iterator is iterated, the value is compared to the
|
|
value of the master cookie. If they are different, a concurrent
|
|
modification happened to the iterator and a resync is needed.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="it">
|
|
<doc xml:space="preserve">the #GstIterator to get the cookie of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ITERATOR_LOCK" c:identifier="GST_ITERATOR_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Macro to get the lock protecting the datastructure being iterated.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="it">
|
|
<doc xml:space="preserve">the #GstIterator to get the lock of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ITERATOR_ORIG_COOKIE" c:identifier="GST_ITERATOR_ORIG_COOKIE" introspectable="0">
|
|
<doc xml:space="preserve">Macro to get a pointer to where the master cookie is stored. The
|
|
master cookie protects the structure being iterated and gets updated
|
|
whenever the datastructure changes.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="it">
|
|
<doc xml:space="preserve">the #GstIterator to get the master cookie of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="Int64Range" c:symbol-prefix="int64_range" glib:type-name="GstInt64Range" glib:get-type="gst_int64_range_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a #gint64 range</doc>
|
|
</class>
|
|
<class name="IntRange" c:symbol-prefix="int_range" glib:type-name="GstIntRange" glib:get-type="gst_int_range_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a #gint range</doc>
|
|
</class>
|
|
<record name="Iterator" c:type="GstIterator" glib:type-name="GstIterator" glib:get-type="gst_iterator_get_type" c:symbol-prefix="iterator">
|
|
<doc xml:space="preserve">A GstIterator is used to retrieve multiple objects from another object in
|
|
a threadsafe way.
|
|
|
|
Various GStreamer objects provide access to their internal structures using
|
|
an iterator.
|
|
|
|
Note that if calling a GstIterator function results in your code receiving
|
|
a refcounted object (with, say, g_value_get_object()), the refcount for that
|
|
object will not be increased. Your code is responsible for taking a reference
|
|
if it wants to continue using it later.
|
|
|
|
The basic use pattern of an iterator is as follows:
|
|
|[<!-- language="C" -->
|
|
GstIterator *it = _get_iterator(object);
|
|
GValue item = G_VALUE_INIT;
|
|
done = FALSE;
|
|
while (!done) {
|
|
switch (gst_iterator_next (it, &amp;item)) {
|
|
case GST_ITERATOR_OK:
|
|
...get/use/change item here...
|
|
g_value_reset (&amp;item);
|
|
break;
|
|
case GST_ITERATOR_RESYNC:
|
|
...rollback changes to items...
|
|
gst_iterator_resync (it);
|
|
break;
|
|
case GST_ITERATOR_ERROR:
|
|
...wrong parameters were given...
|
|
done = TRUE;
|
|
break;
|
|
case GST_ITERATOR_DONE:
|
|
done = TRUE;
|
|
break;
|
|
}
|
|
}
|
|
g_value_unset (&amp;item);
|
|
gst_iterator_free (it);
|
|
]|</doc>
|
|
|
|
<field name="copy" writable="1">
|
|
<doc xml:space="preserve">The function to copy the iterator</doc>
|
|
<type name="IteratorCopyFunction" c:type="GstIteratorCopyFunction"/>
|
|
</field>
|
|
<field name="next" writable="1">
|
|
<doc xml:space="preserve">The function to get the next item in the iterator</doc>
|
|
<type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
|
|
</field>
|
|
<field name="item" writable="1">
|
|
<doc xml:space="preserve">The function to be called for each item retrieved</doc>
|
|
<type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
|
|
</field>
|
|
<field name="resync" writable="1">
|
|
<doc xml:space="preserve">The function to call when a resync is needed.</doc>
|
|
<type name="IteratorResyncFunction" c:type="GstIteratorResyncFunction"/>
|
|
</field>
|
|
<field name="free" writable="1">
|
|
<doc xml:space="preserve">The function to call when the iterator is freed</doc>
|
|
<type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
|
|
</field>
|
|
<field name="pushed" writable="1">
|
|
<doc xml:space="preserve">The iterator that is currently pushed with gst_iterator_push()</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</field>
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">The type of the object that this iterator will return</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="lock" writable="1">
|
|
<doc xml:space="preserve">The lock protecting the data structure and the cookie.</doc>
|
|
<type name="GLib.Mutex" c:type="GMutex*"/>
|
|
</field>
|
|
<field name="cookie" writable="1">
|
|
<doc xml:space="preserve">The cookie; the value of the master_cookie when this iterator was
|
|
created.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="master_cookie" writable="1">
|
|
<doc xml:space="preserve">A pointer to the master cookie.</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">the size of the iterator</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_iterator_new" introspectable="0">
|
|
<doc xml:space="preserve">Create a new iterator. This function is mainly used for objects
|
|
implementing the next/resync/free function to iterate a data structure.
|
|
|
|
For each item retrieved, the @item function is called with the lock
|
|
held. The @free function is called when the iterator is freed.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstIterator.
|
|
|
|
MT safe.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the iterator structure</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GType of children</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="lock" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a #GMutex.</doc>
|
|
<type name="GLib.Mutex" c:type="GMutex*"/>
|
|
</parameter>
|
|
<parameter name="master_cookie" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a guint32 that is changed when the items in the
|
|
iterator changed.</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</parameter>
|
|
<parameter name="copy" transfer-ownership="none">
|
|
<doc xml:space="preserve">copy function</doc>
|
|
<type name="IteratorCopyFunction" c:type="GstIteratorCopyFunction"/>
|
|
</parameter>
|
|
<parameter name="next" transfer-ownership="none">
|
|
<doc xml:space="preserve">function to get next item</doc>
|
|
<type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
|
|
</parameter>
|
|
<parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">function to call on each item retrieved</doc>
|
|
<type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
|
|
</parameter>
|
|
<parameter name="resync" transfer-ownership="none">
|
|
<doc xml:space="preserve">function to resync the iterator</doc>
|
|
<type name="IteratorResyncFunction" c:type="GstIteratorResyncFunction"/>
|
|
</parameter>
|
|
<parameter name="free" transfer-ownership="none">
|
|
<doc xml:space="preserve">function to free the iterator</doc>
|
|
<type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_list" c:identifier="gst_iterator_new_list" introspectable="0">
|
|
<doc xml:space="preserve">Create a new iterator designed for iterating @list.
|
|
|
|
The list you iterate is usually part of a data structure @owner and is
|
|
protected with @lock.
|
|
|
|
The iterator will use @lock to retrieve the next item of the list and it
|
|
will then call the @item function before releasing @lock again.
|
|
|
|
When a concurrent update to the list is performed, usually by @owner while
|
|
holding @lock, @master_cookie will be updated. The iterator implementation
|
|
will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to
|
|
the user of the iterator in the next call to gst_iterator_next().</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstIterator for @list.
|
|
|
|
MT safe.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GType of elements</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="lock" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a #GMutex protecting the list.</doc>
|
|
<type name="GLib.Mutex" c:type="GMutex*"/>
|
|
</parameter>
|
|
<parameter name="master_cookie" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a guint32 that is incremented when the list
|
|
is changed.</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</parameter>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to the list</doc>
|
|
<type name="GLib.List" c:type="GList**">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</parameter>
|
|
<parameter name="owner" transfer-ownership="none">
|
|
<doc xml:space="preserve">object owning the list</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">function to call on each item retrieved</doc>
|
|
<type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_single" c:identifier="gst_iterator_new_single">
|
|
<doc xml:space="preserve">This #GstIterator is a convenient iterator for the common
|
|
case where a #GstIterator needs to be returned but only
|
|
a single object has to be considered. This happens often
|
|
for the #GstPadIterIntLinkFunction.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstIterator for @object.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GType of the passed object</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">object that this iterator should return</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_iterator_copy">
|
|
<doc xml:space="preserve">Copy the iterator and its state.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @it.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstIterator</doc>
|
|
<type name="Iterator" c:type="const GstIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="filter" c:identifier="gst_iterator_filter">
|
|
<doc xml:space="preserve">Create a new iterator from an existing iterator. The new iterator
|
|
will only return those elements that match the given compare function @func.
|
|
The first parameter that is passed to @func is the #GValue of the current
|
|
iterator element and the second parameter is @user_data. @func should
|
|
return 0 for elements that should be included in the filtered iterator.
|
|
|
|
When this iterator is freed, @it will also be freed.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstIterator.
|
|
|
|
MT safe.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to filter</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call">
|
|
<doc xml:space="preserve">the compare function to select elements</doc>
|
|
<type name="GLib.CompareFunc" c:type="GCompareFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none">
|
|
<doc xml:space="preserve">user data passed to the compare function</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_custom" c:identifier="gst_iterator_find_custom">
|
|
<doc xml:space="preserve">Find the first element in @it that matches the compare function @func.
|
|
@func should return 0 when the element is found. The first parameter
|
|
to @func will be the current element of the iterator and the
|
|
second parameter will be @user_data.
|
|
The result will be stored in @elem if a result is found.
|
|
|
|
The iterator will not be freed.
|
|
|
|
This function will return %FALSE if an error happened to the iterator
|
|
or if the element wasn't found.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Returns %TRUE if the element was found, else %FALSE.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to iterate</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="2">
|
|
<doc xml:space="preserve">the compare function to use</doc>
|
|
<type name="GLib.CompareFunc" c:type="GCompareFunc"/>
|
|
</parameter>
|
|
<parameter name="elem" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a #GValue where to store the result</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the compare function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fold" c:identifier="gst_iterator_fold">
|
|
<doc xml:space="preserve">Folds @func over the elements of @iter. That is to say, @func will be called
|
|
as @func (object, @ret, @user_data) for each object in @it. The normal use
|
|
of this procedure is to accumulate the results of operating on the objects in
|
|
@ret.
|
|
|
|
This procedure can be used (and is used internally) to implement the
|
|
gst_iterator_foreach() and gst_iterator_find_custom() operations.
|
|
|
|
The fold will proceed as long as @func returns %TRUE. When the iterator has no
|
|
more arguments, %GST_ITERATOR_DONE will be returned. If @func returns %FALSE,
|
|
the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs
|
|
will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as
|
|
appropriate.
|
|
|
|
The iterator will not be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstIteratorResult, as described above.
|
|
|
|
MT safe.</doc>
|
|
<type name="IteratorResult" c:type="GstIteratorResult"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to fold over</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="2">
|
|
<doc xml:space="preserve">the fold function</doc>
|
|
<type name="IteratorFoldFunction" c:type="GstIteratorFoldFunction"/>
|
|
</parameter>
|
|
<parameter name="ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seed value passed to the fold function</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the fold function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach" c:identifier="gst_iterator_foreach">
|
|
<doc xml:space="preserve">Iterate over all element of @it and call the given function @func for
|
|
each element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result call to gst_iterator_fold(). The iterator will not be
|
|
freed.
|
|
|
|
MT safe.</doc>
|
|
<type name="IteratorResult" c:type="GstIteratorResult"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to iterate</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">the function to call for each element.</doc>
|
|
<type name="IteratorForeachFunction" c:type="GstIteratorForeachFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_iterator_free">
|
|
<doc xml:space="preserve">Free the iterator.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to free</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next" c:identifier="gst_iterator_next">
|
|
<doc xml:space="preserve">Get the next item from the iterator in @elem.
|
|
|
|
Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid
|
|
value. @elem must have been initialized to the type of the iterator or
|
|
initialized to zeroes with g_value_unset(). The caller is responsible for
|
|
unsetting or resetting @elem with g_value_unset() or g_value_reset()
|
|
after usage.
|
|
|
|
When this function returns %GST_ITERATOR_DONE, no more elements can be
|
|
retrieved from @it.
|
|
|
|
A return value of %GST_ITERATOR_RESYNC indicates that the element list was
|
|
concurrently updated. The user of @it should call gst_iterator_resync() to
|
|
get the newly updated list.
|
|
|
|
A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The result of the iteration. Unset @elem after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="IteratorResult" c:type="GstIteratorResult"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to iterate</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="elem" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to hold next element</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="push" c:identifier="gst_iterator_push">
|
|
<doc xml:space="preserve">Pushes @other iterator onto @it. All calls performed on @it are
|
|
forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is
|
|
popped again and calls are handled by @it again.
|
|
|
|
This function is mainly used by objects implementing the iterator
|
|
next function to recurse into substructures.
|
|
|
|
When gst_iterator_resync() is called on @it, @other will automatically be
|
|
popped.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to use</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to push</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="resync" c:identifier="gst_iterator_resync">
|
|
<doc xml:space="preserve">Resync the iterator. this function is mostly called
|
|
after gst_iterator_next() returned %GST_ITERATOR_RESYNC.
|
|
|
|
When an iterator was pushed on @it, it will automatically be popped again
|
|
with this function.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstIterator to resync</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="IteratorCopyFunction" c:type="GstIteratorCopyFunction">
|
|
<doc xml:space="preserve">This function will be called when creating a copy of @it and should
|
|
create a copy of all custom iterator fields or increase their
|
|
reference counts.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">The original iterator</doc>
|
|
<type name="Iterator" c:type="const GstIterator*"/>
|
|
</parameter>
|
|
<parameter name="copy" transfer-ownership="none">
|
|
<doc xml:space="preserve">The copied iterator</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="IteratorFoldFunction" c:type="GstIteratorFoldFunction">
|
|
<doc xml:space="preserve">A function to be passed to gst_iterator_fold().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the fold should continue, %FALSE if it should stop.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">the item to fold</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue collecting the result</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">data passed to gst_iterator_fold()</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="IteratorForeachFunction" c:type="GstIteratorForeachFunction">
|
|
<doc xml:space="preserve">A function that is called by gst_iterator_foreach() for every element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">The item</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">User data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="IteratorFreeFunction" c:type="GstIteratorFreeFunction">
|
|
<doc xml:space="preserve">This function will be called when the iterator is freed.
|
|
|
|
Implementors of a #GstIterator should implement this
|
|
function and pass it to the constructor of the custom iterator.
|
|
The function will be called with the iterator lock held.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">the iterator</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="IteratorItem" glib:type-name="GstIteratorItem" glib:get-type="gst_iterator_item_get_type" c:type="GstIteratorItem">
|
|
<doc xml:space="preserve">The result of a #GstIteratorItemFunction.</doc>
|
|
<member name="skip" value="0" c:identifier="GST_ITERATOR_ITEM_SKIP" glib:nick="skip">
|
|
<doc xml:space="preserve">Skip this item</doc>
|
|
</member>
|
|
<member name="pass" value="1" c:identifier="GST_ITERATOR_ITEM_PASS" glib:nick="pass">
|
|
<doc xml:space="preserve">Return item</doc>
|
|
</member>
|
|
<member name="end" value="2" c:identifier="GST_ITERATOR_ITEM_END" glib:nick="end">
|
|
<doc xml:space="preserve">Stop after this item.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="IteratorItemFunction" c:type="GstIteratorItemFunction">
|
|
<doc xml:space="preserve">The function that will be called after the next item of the iterator
|
|
has been retrieved. This function can be used to skip items or stop
|
|
the iterator.
|
|
|
|
The function will be called with the iterator lock held.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result of the operation.</doc>
|
|
<type name="IteratorItem" c:type="GstIteratorItem"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">the iterator</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</parameter>
|
|
<parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">the item being retrieved.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="IteratorNextFunction" c:type="GstIteratorNextFunction">
|
|
<doc xml:space="preserve">The function that will be called when the next element of the iterator
|
|
should be retrieved.
|
|
|
|
Implementors of a #GstIterator should implement this
|
|
function and pass it to the constructor of the custom iterator.
|
|
The function will be called with the iterator lock held.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result of the operation.</doc>
|
|
<type name="IteratorResult" c:type="GstIteratorResult"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">the iterator</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</parameter>
|
|
<parameter name="result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to hold the next item</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="IteratorResult" glib:type-name="GstIteratorResult" glib:get-type="gst_iterator_result_get_type" c:type="GstIteratorResult">
|
|
<doc xml:space="preserve">The result of gst_iterator_next().</doc>
|
|
<member name="done" value="0" c:identifier="GST_ITERATOR_DONE" glib:nick="done">
|
|
<doc xml:space="preserve">No more items in the iterator</doc>
|
|
</member>
|
|
<member name="ok" value="1" c:identifier="GST_ITERATOR_OK" glib:nick="ok">
|
|
<doc xml:space="preserve">An item was retrieved</doc>
|
|
</member>
|
|
<member name="resync" value="2" c:identifier="GST_ITERATOR_RESYNC" glib:nick="resync">
|
|
<doc xml:space="preserve">Datastructure changed while iterating</doc>
|
|
</member>
|
|
<member name="error" value="3" c:identifier="GST_ITERATOR_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">An error happened</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="IteratorResyncFunction" c:type="GstIteratorResyncFunction">
|
|
<doc xml:space="preserve">This function will be called whenever a concurrent update happened
|
|
to the iterated datastructure. The implementor of the iterator should
|
|
restart the iterator from the beginning and clean up any state it might
|
|
have.
|
|
|
|
Implementors of a #GstIterator should implement this
|
|
function and pass it to the constructor of the custom iterator.
|
|
The function will be called with the iterator lock held.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="it" transfer-ownership="none">
|
|
<doc xml:space="preserve">the iterator</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<constant name="LICENSE_UNKNOWN" value="unknown" c:type="GST_LICENSE_UNKNOWN">
|
|
<doc xml:space="preserve">To be used in GST_PLUGIN_DEFINE if unsure about the licence.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="LOCK_FLAG_READWRITE" value="3" c:type="GST_LOCK_FLAG_READWRITE">
|
|
<doc xml:space="preserve">GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE</doc>
|
|
|
|
<type name="LockFlags" c:type="GstLockFlags"/>
|
|
</constant>
|
|
<enumeration name="LibraryError" glib:type-name="GstLibraryError" glib:get-type="gst_library_error_get_type" c:type="GstLibraryError" glib:error-domain="gst-library-error-quark">
|
|
<doc xml:space="preserve">Library errors are for errors from the library being used by elements
|
|
(initializing, finalizing, settings, ...)</doc>
|
|
<member name="failed" value="1" c:identifier="GST_LIBRARY_ERROR_FAILED" glib:nick="failed">
|
|
<doc xml:space="preserve">a general error which doesn't fit in any other
|
|
category. Make sure you add a custom message to the error call.</doc>
|
|
</member>
|
|
<member name="too_lazy" value="2" c:identifier="GST_LIBRARY_ERROR_TOO_LAZY" glib:nick="too-lazy">
|
|
<doc xml:space="preserve">do not use this except as a placeholder for
|
|
deciding where to go while developing code.</doc>
|
|
</member>
|
|
<member name="init" value="3" c:identifier="GST_LIBRARY_ERROR_INIT" glib:nick="init">
|
|
<doc xml:space="preserve">used when the library could not be opened.</doc>
|
|
</member>
|
|
<member name="shutdown" value="4" c:identifier="GST_LIBRARY_ERROR_SHUTDOWN" glib:nick="shutdown">
|
|
<doc xml:space="preserve">used when the library could not be closed.</doc>
|
|
</member>
|
|
<member name="settings" value="5" c:identifier="GST_LIBRARY_ERROR_SETTINGS" glib:nick="settings">
|
|
<doc xml:space="preserve">used when the library doesn't accept settings.</doc>
|
|
</member>
|
|
<member name="encode" value="6" c:identifier="GST_LIBRARY_ERROR_ENCODE" glib:nick="encode">
|
|
<doc xml:space="preserve">used when the library generated an encoding error.</doc>
|
|
</member>
|
|
<member name="num_errors" value="7" c:identifier="GST_LIBRARY_ERROR_NUM_ERRORS" glib:nick="num-errors">
|
|
<doc xml:space="preserve">the number of library error types.</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_library_error_quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="LockFlags" glib:type-name="GstLockFlags" glib:get-type="gst_lock_flags_get_type" c:type="GstLockFlags">
|
|
<doc xml:space="preserve">Flags used when locking miniobjects</doc>
|
|
<member name="read" value="1" c:identifier="GST_LOCK_FLAG_READ" glib:nick="read">
|
|
<doc xml:space="preserve">lock for read access</doc>
|
|
</member>
|
|
<member name="write" value="2" c:identifier="GST_LOCK_FLAG_WRITE" glib:nick="write">
|
|
<doc xml:space="preserve">lock for write access</doc>
|
|
</member>
|
|
<member name="exclusive" value="4" c:identifier="GST_LOCK_FLAG_EXCLUSIVE" glib:nick="exclusive">
|
|
<doc xml:space="preserve">lock for exclusive access</doc>
|
|
</member>
|
|
<member name="last" value="256" c:identifier="GST_LOCK_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">first flag that can be used for custom purposes</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="LogFunction" c:type="GstLogFunction">
|
|
<doc xml:space="preserve">Function prototype for a logging function that can be registered with
|
|
gst_debug_add_log_function().
|
|
Use G_GNUC_NO_INSTRUMENT on that function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugCategory</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstDebugLevel</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">file name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">function name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">line number</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message</doc>
|
|
<type name="DebugMessage" c:type="GstDebugMessage*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="7">
|
|
<doc xml:space="preserve">user data for the log function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<function-macro name="MAKE_FOURCC" c:identifier="GST_MAKE_FOURCC" introspectable="0">
|
|
<doc xml:space="preserve">Transform four characters into a #guint32 fourcc value with host
|
|
endianness.
|
|
|
|
|[
|
|
guint32 fourcc = GST_MAKE_FOURCC ('M', 'J', 'P', 'G');
|
|
]|</doc>
|
|
|
|
<parameters>
|
|
<parameter name="a">
|
|
<doc xml:space="preserve">the first character</doc>
|
|
</parameter>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">the second character</doc>
|
|
</parameter>
|
|
<parameter name="c">
|
|
<doc xml:space="preserve">the third character</doc>
|
|
</parameter>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">the fourth character</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="MAP_READWRITE" value="3" c:type="GST_MAP_READWRITE">
|
|
<doc xml:space="preserve">GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE</doc>
|
|
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</constant>
|
|
<function-macro name="MEMDUMP" c:identifier="GST_MEMDUMP" introspectable="0">
|
|
<doc xml:space="preserve">Output a hexdump of @data.
|
|
|
|
There is no need to finish the end of the message string with a newline
|
|
character, a newline character will be added automatically.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="msg">
|
|
<doc xml:space="preserve">message string to log with the data</doc>
|
|
</parameter>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">pointer to the data to output</doc>
|
|
</parameter>
|
|
<parameter name="length">
|
|
<doc xml:space="preserve">length of the data to output</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMDUMP_OBJECT" c:identifier="GST_MEMDUMP_OBJECT" introspectable="0">
|
|
<doc xml:space="preserve">Output a logging message belonging to the given object in the default category.
|
|
|
|
There is no need to finish the end of the message string with a newline
|
|
character, a newline character will be added automatically.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">the #GObject the message belongs to</doc>
|
|
</parameter>
|
|
<parameter name="msg">
|
|
<doc xml:space="preserve">message string to log with the data</doc>
|
|
</parameter>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">pointer to the data to output</doc>
|
|
</parameter>
|
|
<parameter name="length">
|
|
<doc xml:space="preserve">length of the data to output</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_CAST" c:identifier="GST_MEMORY_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_FLAGS" c:identifier="GST_MEMORY_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">A flags word containing #GstMemoryFlags flags set on @mem</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_FLAG_IS_SET" c:identifier="GST_MEMORY_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">Gives the status of a specific flag on a @mem.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstMemoryFlags to check.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_FLAG_UNSET" c:identifier="GST_MEMORY_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">Clear a specific flag on a @mem.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstMemoryFlags to clear.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_IS_NOT_MAPPABLE" c:identifier="GST_MEMORY_IS_NOT_MAPPABLE" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Check if @mem can't be mapped via gst_memory_map() without any preconditions</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_IS_NO_SHARE" c:identifier="GST_MEMORY_IS_NO_SHARE" introspectable="0">
|
|
<doc xml:space="preserve">Check if @mem cannot be shared between buffers</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_IS_PHYSICALLY_CONTIGUOUS" c:identifier="GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Check if @mem is physically contiguous.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_IS_READONLY" c:identifier="GST_MEMORY_IS_READONLY" introspectable="0">
|
|
<doc xml:space="preserve">Check if @mem is readonly.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_IS_ZERO_PADDED" c:identifier="GST_MEMORY_IS_ZERO_PADDED" introspectable="0">
|
|
<doc xml:space="preserve">Check if the padding in @mem is 0 filled.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MEMORY_IS_ZERO_PREFIXED" c:identifier="GST_MEMORY_IS_ZERO_PREFIXED" introspectable="0">
|
|
<doc xml:space="preserve">Check if the prefix in @mem is 0 filled.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="mem">
|
|
<doc xml:space="preserve">a #GstMemory.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE" c:identifier="GST_MESSAGE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_CAST" c:identifier="GST_MESSAGE_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_GET_COND" c:identifier="GST_MESSAGE_GET_COND" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_GET_LOCK" c:identifier="GST_MESSAGE_GET_LOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_LOCK" c:identifier="GST_MESSAGE_LOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_SEQNUM" c:identifier="GST_MESSAGE_SEQNUM" introspectable="0">
|
|
<doc xml:space="preserve">Get the sequence number of @message.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_SIGNAL" c:identifier="GST_MESSAGE_SIGNAL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_SRC" c:identifier="GST_MESSAGE_SRC" introspectable="0">
|
|
<doc xml:space="preserve">Get the object that posted @message.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_SRC_NAME" c:identifier="GST_MESSAGE_SRC_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Get the name of the object that posted @message. Returns "(NULL)" if
|
|
the message has no source object set.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_TIMESTAMP" c:identifier="GST_MESSAGE_TIMESTAMP" introspectable="0">
|
|
<doc xml:space="preserve">Get the timestamp of @message. This is the timestamp when the message
|
|
was created.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_TYPE" c:identifier="GST_MESSAGE_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstMessageType of @message.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_TYPE_IS_EXTENDED" c:identifier="GST_MESSAGE_TYPE_IS_EXTENDED" version="1.4" introspectable="0">
|
|
<doc xml:space="preserve">Check if the message is in the extended message group</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_TYPE_NAME" c:identifier="GST_MESSAGE_TYPE_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Get a constant string representation of the #GstMessageType of @message.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_UNLOCK" c:identifier="GST_MESSAGE_UNLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MESSAGE_WAIT" c:identifier="GST_MESSAGE_WAIT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="message">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="META_CAST" c:identifier="GST_META_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="meta">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="META_FLAGS" c:identifier="GST_META_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">A flags word containing #GstMetaFlags flags set on @meta</doc>
|
|
|
|
<parameters>
|
|
<parameter name="meta">
|
|
<doc xml:space="preserve">a #GstMeta.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="META_FLAG_IS_SET" c:identifier="GST_META_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">Gives the status of a specific flag on a metadata.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="meta">
|
|
<doc xml:space="preserve">a #GstMeta.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstMetaFlags to check.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="META_FLAG_SET" c:identifier="GST_META_FLAG_SET" introspectable="0">
|
|
<doc xml:space="preserve">Sets a metadata flag on a metadata.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="meta">
|
|
<doc xml:space="preserve">a #GstMeta.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstMetaFlags to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="META_FLAG_UNSET" c:identifier="GST_META_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">Clears a metadata flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="meta">
|
|
<doc xml:space="preserve">a #GstMeta.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">the #GstMetaFlags to clear.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="META_TAG_MEMORY_STR" value="memory" c:type="GST_META_TAG_MEMORY_STR" version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as memory layout is unchanged.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="META_TRANSFORM_IS_COPY" c:identifier="GST_META_TRANSFORM_IS_COPY" introspectable="0">
|
|
<doc xml:space="preserve">Check if the transform type is a copy transform</doc>
|
|
|
|
<parameters>
|
|
<parameter name="type">
|
|
<doc xml:space="preserve">a transform type</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT" c:identifier="GST_MINI_OBJECT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_CAST" c:identifier="GST_MINI_OBJECT_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_CONST_CAST" c:identifier="GST_MINI_OBJECT_CONST_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_FLAGS" c:identifier="GST_MINI_OBJECT_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the entire set of flags for the mini-object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">MiniObject to return flags for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_FLAG_IS_SET" c:identifier="GST_MINI_OBJECT_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">This macro checks to see if the given flag is set.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">MiniObject to check for flags.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to check for</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_FLAG_SET" c:identifier="GST_MINI_OBJECT_FLAG_SET" introspectable="0">
|
|
<doc xml:space="preserve">This macro sets the given bits.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">MiniObject to set flag in.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to set, can by any number of bits in guint32.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_FLAG_UNSET" c:identifier="GST_MINI_OBJECT_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">This macro unsets the given bits.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">MiniObject to unset flag in.</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to set, must be a single bit in guint32.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_IS_LOCKABLE" c:identifier="GST_MINI_OBJECT_IS_LOCKABLE" introspectable="0">
|
|
<doc xml:space="preserve">Check if @obj is lockable. A lockable object can be locked and unlocked with
|
|
gst_mini_object_lock() and gst_mini_object_unlock().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_REFCOUNT" c:identifier="GST_MINI_OBJECT_REFCOUNT" introspectable="0">
|
|
<doc xml:space="preserve">Get access to the reference count field of the mini-object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_REFCOUNT_VALUE" c:identifier="GST_MINI_OBJECT_REFCOUNT_VALUE" introspectable="0">
|
|
<doc xml:space="preserve">Get the reference count value of the mini-object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="MINI_OBJECT_TYPE" c:identifier="GST_MINI_OBJECT_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the type of the mini-object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">MiniObject to return type for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="MSECOND" value="1000000" c:type="GST_MSECOND">
|
|
<doc xml:space="preserve">Constant that defines one GStreamer millisecond.</doc>
|
|
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</constant>
|
|
<bitfield name="MapFlags" glib:type-name="GstMapFlags" glib:get-type="gst_map_flags_get_type" c:type="GstMapFlags">
|
|
<doc xml:space="preserve">Flags used when mapping memory</doc>
|
|
<member name="read" value="1" c:identifier="GST_MAP_READ" glib:nick="read">
|
|
<doc xml:space="preserve">map for read access</doc>
|
|
</member>
|
|
<member name="write" value="2" c:identifier="GST_MAP_WRITE" glib:nick="write">
|
|
<doc xml:space="preserve">map for write access</doc>
|
|
</member>
|
|
<member name="flag_last" value="65536" c:identifier="GST_MAP_FLAG_LAST" glib:nick="flag-last">
|
|
<doc xml:space="preserve">first flag that can be used for custom purposes</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="MapInfo" c:type="GstMapInfo">
|
|
<doc xml:space="preserve">A structure containing the result of a map operation such as
|
|
gst_memory_map(). It contains the data and size.</doc>
|
|
|
|
<field name="memory" writable="1">
|
|
<doc xml:space="preserve">a pointer to the mapped memory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">flags used when mapping the memory</doc>
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">a pointer to the mapped data</doc>
|
|
<array length="3" zero-terminated="0" c:type="guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">the valid size in @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="maxsize" writable="1">
|
|
<doc xml:space="preserve">the maximum bytes in @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="user_data" writable="1">
|
|
<doc xml:space="preserve">extra private user_data that the implementation of the memory
|
|
can use to store extra info.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</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>
|
|
<record name="Memory" c:type="GstMemory" glib:type-name="GstMemory" glib:get-type="gst_memory_get_type" c:symbol-prefix="memory">
|
|
<doc xml:space="preserve">GstMemory is a lightweight refcounted object that wraps a region of memory.
|
|
They are typically used to manage the data of a #GstBuffer.
|
|
|
|
A GstMemory object has an allocated region of memory of maxsize. The maximum
|
|
size does not change during the lifetime of the memory object. The memory
|
|
also has an offset and size property that specifies the valid range of memory
|
|
in the allocated region.
|
|
|
|
Memory is usually created by allocators with a gst_allocator_alloc()
|
|
method call. When %NULL is used as the allocator, the default allocator will
|
|
be used.
|
|
|
|
New allocators can be registered with gst_allocator_register().
|
|
Allocators are identified by name and can be retrieved with
|
|
gst_allocator_find(). gst_allocator_set_default() can be used to change the
|
|
default allocator.
|
|
|
|
New memory can be created with gst_memory_new_wrapped() that wraps the memory
|
|
allocated elsewhere.
|
|
|
|
Refcounting of the memory block is performed with gst_memory_ref() and
|
|
gst_memory_unref().
|
|
|
|
The size of the memory can be retrieved and changed with
|
|
gst_memory_get_sizes() and gst_memory_resize() respectively.
|
|
|
|
Getting access to the data of the memory is performed with gst_memory_map().
|
|
The call will return a pointer to offset bytes into the region of memory.
|
|
After the memory access is completed, gst_memory_unmap() should be called.
|
|
|
|
Memory can be copied with gst_memory_copy(), which will return a writable
|
|
copy. gst_memory_share() will create a new memory block that shares the
|
|
memory with an existing memory block at a custom offset and with a custom
|
|
size.
|
|
|
|
Memory can be efficiently merged when gst_memory_is_span() returns %TRUE.</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">parent structure</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<field name="allocator" writable="1">
|
|
<doc xml:space="preserve">pointer to the #GstAllocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</field>
|
|
<field name="parent" writable="1">
|
|
<doc xml:space="preserve">parent memory block</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</field>
|
|
<field name="maxsize" writable="1">
|
|
<doc xml:space="preserve">the maximum size allocated</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="align" writable="1">
|
|
<doc xml:space="preserve">the alignment of the memory</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">the offset where valid data starts</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">the size of valid data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<constructor name="new_wrapped" c:identifier="gst_memory_new_wrapped">
|
|
<doc xml:space="preserve">Allocate a new memory block that wraps the given @data.
|
|
|
|
The prefix/padding must be filled with 0 if @flags contains
|
|
#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMemoryFlags</doc>
|
|
<type name="MemoryFlags" c:type="GstMemoryFlags"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">data to
|
|
wrap</doc>
|
|
<array length="4" zero-terminated="0" c:type="gpointer">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">allocated size of @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset in @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of valid data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="5">
|
|
<doc xml:space="preserve">called with @user_data when the memory is freed</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_memory_copy">
|
|
<doc xml:space="preserve">Return a copy of @size bytes from @mem starting from @offset. This copy is
|
|
guaranteed to be writable. @size can be set to -1 to return a copy
|
|
from @offset to the end of the memory region.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset to copy from</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size to copy, or -1 to copy to the end of the memory region</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sizes" c:identifier="gst_memory_get_sizes">
|
|
<doc xml:space="preserve">Get the current @size, @offset and @maxsize of @mem.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the current size of @mem</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to offset</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to maxsize</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_memory_init" introspectable="0">
|
|
<doc xml:space="preserve">Initializes a newly allocated @mem with the given parameters. This function
|
|
will call gst_mini_object_init() with the default memory parameters.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMemoryFlags</doc>
|
|
<type name="MemoryFlags" c:type="GstMemoryFlags"/>
|
|
</parameter>
|
|
<parameter name="allocator" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstAllocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent of @mem</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">the total size of the memory</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alignment of the memory</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The offset in the memory</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of valid data in the memory</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_span" c:identifier="gst_memory_is_span">
|
|
<doc xml:space="preserve">Check if @mem1 and mem2 share the memory with a common parent memory object
|
|
and that the memory is contiguous.
|
|
|
|
If this is the case, the memory of @mem1 and @mem2 can be merged
|
|
efficiently by performing gst_memory_share() on the parent object from
|
|
the returned @offset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the memory is contiguous and of a common parent.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="mem2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="offset" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a result offset</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_type" c:identifier="gst_memory_is_type" version="1.2">
|
|
<doc xml:space="preserve">Check if @mem if allocated with an allocator for @mem_type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @mem was allocated from an allocator for @mem_type.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="mem_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a memory type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="make_mapped" c:identifier="gst_memory_make_mapped">
|
|
<doc xml:space="preserve">Create a #GstMemory object that is mapped with @flags. If @mem is mappable
|
|
with @flags, this function returns the mapped @mem directly. Otherwise a
|
|
mapped copy of @mem is returned.
|
|
|
|
This function takes ownership of old @mem and returns a reference to a new
|
|
#GstMemory.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstMemory object mapped
|
|
with @flags or %NULL when a mapping is not possible.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer for info</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">mapping flags</doc>
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map" c:identifier="gst_memory_map">
|
|
<doc xml:space="preserve">Fill @info with the pointer and sizes of the memory in @mem that can be
|
|
accessed according to @flags.
|
|
|
|
This function can return %FALSE for various reasons:
|
|
- the memory backed by @mem is not accessible with the given @flags.
|
|
- the memory was already mapped with a different mapping.
|
|
|
|
@info and its contents remain valid for as long as @mem is valid and
|
|
until gst_memory_unmap() is called.
|
|
|
|
For each gst_memory_map() call, a corresponding gst_memory_unmap() call
|
|
should be done.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the map operation was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer for info</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">mapping flags</doc>
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_memory_ref" introspectable="0">
|
|
<doc xml:space="preserve">Increase the refcount of this memory.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@memory (for convenience when doing assignments)</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="memory" transfer-ownership="none">
|
|
<doc xml:space="preserve">The memory to refcount</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="resize" c:identifier="gst_memory_resize">
|
|
<doc xml:space="preserve">Resize the memory region. @mem should be writable and offset + size should be
|
|
less than the maxsize of @mem.
|
|
|
|
#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED will be
|
|
cleared when offset or padding is increased respectively.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a new offset</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">a new size</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="share" c:identifier="gst_memory_share">
|
|
<doc xml:space="preserve">Return a shared copy of @size bytes from @mem starting from @offset. No
|
|
memory copy is performed and the memory region is simply shared. The result
|
|
is guaranteed to be non-writable. @size can be set to -1 to return a shared
|
|
copy from @offset to the end of the memory region.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstMemory.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset to share from</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size to share, or -1 to share to the end of the memory region</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unmap" c:identifier="gst_memory_unmap">
|
|
<doc xml:space="preserve">Release the memory obtained with gst_memory_map()</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_memory_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decrease the refcount of a memory, freeing it if the refcount reaches 0.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="memory" transfer-ownership="full">
|
|
<doc xml:space="preserve">the memory to refcount</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="MemoryCopyFunction" c:type="GstMemoryCopyFunction">
|
|
<doc xml:space="preserve">Copy @size bytes from @mem starting at @offset and return them wrapped in a
|
|
new GstMemory object.
|
|
If @size is set to -1, all bytes starting at @offset are copied.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstMemory object wrapping a copy of the requested region in
|
|
@mem.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">an offset</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">a size or -1</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<bitfield name="MemoryFlags" glib:type-name="GstMemoryFlags" glib:get-type="gst_memory_flags_get_type" c:type="GstMemoryFlags">
|
|
<doc xml:space="preserve">Flags for wrapped memory.</doc>
|
|
<member name="readonly" value="2" c:identifier="GST_MEMORY_FLAG_READONLY" glib:nick="readonly">
|
|
<doc xml:space="preserve">memory is readonly. It is not allowed to map the
|
|
memory with #GST_MAP_WRITE.</doc>
|
|
</member>
|
|
<member name="no_share" value="16" c:identifier="GST_MEMORY_FLAG_NO_SHARE" glib:nick="no-share">
|
|
<doc xml:space="preserve">memory must not be shared. Copies will have to be
|
|
made when this memory needs to be shared between buffers.</doc>
|
|
</member>
|
|
<member name="zero_prefixed" value="32" c:identifier="GST_MEMORY_FLAG_ZERO_PREFIXED" glib:nick="zero-prefixed">
|
|
<doc xml:space="preserve">the memory prefix is filled with 0 bytes</doc>
|
|
</member>
|
|
<member name="zero_padded" value="64" c:identifier="GST_MEMORY_FLAG_ZERO_PADDED" glib:nick="zero-padded">
|
|
<doc xml:space="preserve">the memory padding is filled with 0 bytes</doc>
|
|
</member>
|
|
<member name="physically_contiguous" value="128" c:identifier="GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS" glib:nick="physically-contiguous">
|
|
<doc xml:space="preserve">the memory is physically contiguous. (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="not_mappable" value="256" c:identifier="GST_MEMORY_FLAG_NOT_MAPPABLE" glib:nick="not-mappable">
|
|
<doc xml:space="preserve">the memory can't be mapped via gst_memory_map() without any preconditions. (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="last" value="1048576" c:identifier="GST_MEMORY_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">first flag that can be used for custom purposes</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="MemoryIsSpanFunction" c:type="GstMemoryIsSpanFunction">
|
|
<doc xml:space="preserve">Check if @mem1 and @mem2 occupy contiguous memory and return the offset of
|
|
@mem1 in the parent buffer in @offset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @mem1 and @mem2 are in contiguous memory.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="mem2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a result offset</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MemoryMapFullFunction" c:type="GstMemoryMapFullFunction">
|
|
<doc xml:space="preserve">Get the memory of @mem that can be accessed according to the mode specified
|
|
in @info's flags. The function should return a pointer that contains at least
|
|
@maxsize bytes.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer to memory of which at least @maxsize bytes can be
|
|
accessed according to the access pattern in @info's flags.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstMapInfo to map with</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">size to map</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MemoryMapFunction" c:type="GstMemoryMapFunction">
|
|
<doc xml:space="preserve">Get the memory of @mem that can be accessed according to the mode specified
|
|
in @flags. The function should return a pointer that contains at least
|
|
@maxsize bytes.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer to memory of which at least @maxsize bytes can be
|
|
accessed according to the access pattern in @flags.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">size to map</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">access mode for the memory</doc>
|
|
<type name="MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MemoryShareFunction" c:type="GstMemoryShareFunction">
|
|
<doc xml:space="preserve">Share @size bytes from @mem starting at @offset and return them wrapped in a
|
|
new GstMemory object. If @size is set to -1, all bytes starting at @offset are
|
|
shared. This function does not make a copy of the bytes in @mem.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstMemory object sharing the requested region in @mem.</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">an offset</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">a size or -1</doc>
|
|
<type name="gssize" c:type="gssize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MemoryUnmapFullFunction" c:type="GstMemoryUnmapFullFunction">
|
|
<doc xml:space="preserve">Release the pointer previously retrieved with gst_memory_map() with @info.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MemoryUnmapFunction" c:type="GstMemoryUnmapFunction">
|
|
<doc xml:space="preserve">Release the pointer previously retrieved with gst_memory_map().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMemory</doc>
|
|
<type name="Memory" c:type="GstMemory*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="Message" c:type="GstMessage" glib:type-name="GstMessage" glib:get-type="gst_message_get_type" c:symbol-prefix="message">
|
|
<doc xml:space="preserve">Messages are implemented as a subclass of #GstMiniObject with a generic
|
|
#GstStructure as the content. This allows for writing custom messages without
|
|
requiring an API change while allowing a wide range of different types
|
|
of messages.
|
|
|
|
Messages are posted by objects in the pipeline and are passed to the
|
|
application using the #GstBus.
|
|
|
|
The basic use pattern of posting a message on a #GstBus is as follows:
|
|
|[<!-- language="C" -->
|
|
gst_bus_post (bus, gst_message_new_eos());
|
|
]|
|
|
|
|
A #GstElement usually posts messages on the bus provided by the parent
|
|
container using gst_element_post_message().</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">the parent structure</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the #GstMessageType of the message</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</field>
|
|
<field name="timestamp" writable="1">
|
|
<doc xml:space="preserve">the timestamp of the message</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="src" writable="1">
|
|
<doc xml:space="preserve">the src of the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</field>
|
|
<field name="seqnum" writable="1">
|
|
<doc xml:space="preserve">the sequence number of the message</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="lock" readable="0" private="1">
|
|
<type name="GLib.Mutex" c:type="GMutex"/>
|
|
</field>
|
|
<field name="cond" readable="0" private="1">
|
|
<type name="GLib.Cond" c:type="GCond"/>
|
|
</field>
|
|
<constructor name="new_application" c:identifier="gst_message_new_application">
|
|
<doc xml:space="preserve">Create a new application-typed message. GStreamer will never create these
|
|
messages; they are a gift from us to you. Enjoy.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The new application message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the structure for the message. The message
|
|
will take ownership of the structure.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_async_done" c:identifier="gst_message_new_async_done">
|
|
<doc xml:space="preserve">The message is posted when elements completed an ASYNC state change.
|
|
@running_time contains the time of the desired running_time when this
|
|
elements goes to PLAYING. A value of #GST_CLOCK_TIME_NONE for @running_time
|
|
means that the element has no clock interaction and thus doesn't care about
|
|
the running_time of the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new async_done message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the desired running_time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_async_start" c:identifier="gst_message_new_async_start">
|
|
<doc xml:space="preserve">This message is posted by elements when they start an ASYNC state change.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new async_start message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_buffering" c:identifier="gst_message_new_buffering">
|
|
<doc xml:space="preserve">Create a new buffering message. This message can be posted by an element that
|
|
needs to buffer data before it can continue processing. @percent should be a
|
|
value between 0 and 100. A value of 100 means that the buffering completed.
|
|
|
|
When @percent is < 100 the application should PAUSE a PLAYING pipeline. When
|
|
@percent is 100, the application can set the pipeline (back) to PLAYING.
|
|
The application must be prepared to receive BUFFERING messages in the
|
|
PREROLLING state and may only set the pipeline to PLAYING after receiving a
|
|
message with @percent set to 100, which can happen after the pipeline
|
|
completed prerolling.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The new buffering message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="percent" transfer-ownership="none">
|
|
<doc xml:space="preserve">The buffering percent</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_clock_lost" c:identifier="gst_message_new_clock_lost">
|
|
<doc xml:space="preserve">Create a clock lost message. This message is posted whenever the
|
|
clock is not valid anymore.
|
|
|
|
If this message is posted by the pipeline, the pipeline will
|
|
select a new clock again when it goes to PLAYING. It might therefore
|
|
be needed to set the pipeline to PAUSED and PLAYING again.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new clock lost message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">the clock that was lost</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_clock_provide" c:identifier="gst_message_new_clock_provide">
|
|
<doc xml:space="preserve">Create a clock provide message. This message is posted whenever an
|
|
element is ready to provide a clock or lost its ability to provide
|
|
a clock (maybe because it paused or became EOS).
|
|
|
|
This message is mainly used internally to manage the clock
|
|
selection.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new provide clock message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">the clock it provides</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
<parameter name="ready" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the sender can provide a clock</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_custom" c:identifier="gst_message_new_custom">
|
|
<doc xml:space="preserve">Create a new custom-typed message. This can be used for anything not
|
|
handled by other message-specific functions to pass a message to the
|
|
app. The structure field can be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The new message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMessageType to distinguish messages</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the structure for the
|
|
message. The message will take ownership of the structure.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_device_added" c:identifier="gst_message_new_device_added" version="1.4">
|
|
<doc xml:space="preserve">Creates a new device-added message. The device-added message is produced by
|
|
#GstDeviceProvider or a #GstDeviceMonitor. They announce the appearance
|
|
of monitored devices.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject that created the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_device_changed" c:identifier="gst_message_new_device_changed" version="1.16">
|
|
<doc xml:space="preserve">Creates a new device-changed message. The device-changed message is produced
|
|
by #GstDeviceProvider or a #GstDeviceMonitor. They announce that a device
|
|
properties has changed and @device represent the new modified version of @changed_device.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject that created the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">The newly created device representing @replaced_device
|
|
with its new configuration.</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
<parameter name="changed_device" transfer-ownership="none">
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_device_removed" c:identifier="gst_message_new_device_removed" version="1.4">
|
|
<doc xml:space="preserve">Creates a new device-removed message. The device-removed message is produced
|
|
by #GstDeviceProvider or a #GstDeviceMonitor. They announce the
|
|
disappearance of monitored devices.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject that created the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="device" transfer-ownership="none">
|
|
<doc xml:space="preserve">The removed #GstDevice</doc>
|
|
<type name="Device" c:type="GstDevice*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_duration_changed" c:identifier="gst_message_new_duration_changed">
|
|
<doc xml:space="preserve">Create a new duration changed message. This message is posted by elements
|
|
that know the duration of a stream when the duration changes. This message
|
|
is received by bins and is used to calculate the total duration of a
|
|
pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new duration-changed message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_element" c:identifier="gst_message_new_element">
|
|
<doc xml:space="preserve">Create a new element-specific message. This is meant as a generic way of
|
|
allowing one-way communication from an element to an application, for example
|
|
"the firewire cable was unplugged". The format of the message should be
|
|
documented in the element's documentation. The structure field can be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The new element message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">The structure for the
|
|
message. The message will take ownership of the structure.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_eos" c:identifier="gst_message_new_eos">
|
|
<doc xml:space="preserve">Create a new eos message. This message is generated and posted in
|
|
the sink elements of a GstBin. The bin will only forward the EOS
|
|
message to the application if all sinks have posted an EOS message.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new eos message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_error" c:identifier="gst_message_new_error">
|
|
<doc xml:space="preserve">Create a new error message. The message will copy @error and
|
|
@debug. This message is posted by element when a fatal event
|
|
occurred. The pipeline will probably (partially) stop. The application
|
|
receiving this message should stop the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new error message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GError for this message.</doc>
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none">
|
|
<doc xml:space="preserve">A debugging string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_error_with_details" c:identifier="gst_message_new_error_with_details" version="1.10">
|
|
<doc xml:space="preserve">Create a new error message. The message will copy @error and
|
|
@debug. This message is posted by element when a fatal event
|
|
occurred. The pipeline will probably (partially) stop. The application
|
|
receiving this message should stop the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new error message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GError for this message.</doc>
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none">
|
|
<doc xml:space="preserve">A debugging string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="details" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A GstStructure with details</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_have_context" c:identifier="gst_message_new_have_context" version="1.2">
|
|
<doc xml:space="preserve">This message is posted when an element has a new local #GstContext.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new have-context message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="full">
|
|
<doc xml:space="preserve">the context</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_info" c:identifier="gst_message_new_info">
|
|
<doc xml:space="preserve">Create a new info message. The message will make copies of @error and
|
|
@debug.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new info message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GError for this message.</doc>
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none">
|
|
<doc xml:space="preserve">A debugging string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_info_with_details" c:identifier="gst_message_new_info_with_details" version="1.10">
|
|
<doc xml:space="preserve">Create a new info message. The message will make copies of @error and
|
|
@debug.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new warning message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GError for this message.</doc>
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none">
|
|
<doc xml:space="preserve">A debugging string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="details" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A GstStructure with details</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_instant_rate_request" c:identifier="gst_message_new_instant_rate_request" version="1.18">
|
|
<doc xml:space="preserve">Creates a new instant-rate-request message. Elements handling the
|
|
instant-rate-change event must post this message. The message is
|
|
handled at the pipeline, and allows the pipeline to select the
|
|
running time when the rate change should happen and to send an
|
|
@GST_EVENT_INSTANT_RATE_SYNC_TIME event to notify the elements
|
|
in the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject that posted the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="rate_multiplier" transfer-ownership="none">
|
|
<doc xml:space="preserve">the rate multiplier factor that should be applied</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_latency" c:identifier="gst_message_new_latency">
|
|
<doc xml:space="preserve">This message can be posted by elements when their latency requirements have
|
|
changed.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new latency message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_need_context" c:identifier="gst_message_new_need_context" version="1.2">
|
|
<doc xml:space="preserve">This message is posted when an element needs a specific #GstContext.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new need-context message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="context_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The context type that is needed</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_new_clock" c:identifier="gst_message_new_new_clock">
|
|
<doc xml:space="preserve">Create a new clock message. This message is posted whenever the
|
|
pipeline selects a new clock for the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new new clock message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new selected clock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_progress" c:identifier="gst_message_new_progress">
|
|
<doc xml:space="preserve">Progress messages are posted by elements when they use an asynchronous task
|
|
to perform actions triggered by a state change.
|
|
|
|
@code contains a well defined string describing the action.
|
|
@text should contain a user visible string detailing the current action.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The new qos message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstProgressType</doc>
|
|
<type name="ProgressType" c:type="GstProgressType"/>
|
|
</parameter>
|
|
<parameter name="code" transfer-ownership="none">
|
|
<doc xml:space="preserve">a progress code</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">free, user visible text describing the progress</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_property_notify" c:identifier="gst_message_new_property_notify" version="1.10">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject whose property changed (may or may not be a #GstElement)</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the property that changed</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="val" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">new property value, or %NULL</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_qos" c:identifier="gst_message_new_qos">
|
|
<doc xml:space="preserve">A QOS message is posted on the bus whenever an element decides to drop a
|
|
buffer because of QoS reasons or whenever it changes its processing strategy
|
|
because of QoS reasons (quality adjustments such as processing at lower
|
|
accuracy).
|
|
|
|
This message can be posted by an element that performs synchronisation against the
|
|
clock (live) or it could be dropped by an element that performs QoS because of QOS
|
|
events received from a downstream element (!live).
|
|
|
|
@running_time, @stream_time, @timestamp, @duration should be set to the
|
|
respective running-time, stream-time, timestamp and duration of the (dropped)
|
|
buffer that generated the QoS event. Values can be left to
|
|
GST_CLOCK_TIME_NONE when unknown.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new qos message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="live" transfer-ownership="none">
|
|
<doc xml:space="preserve">if the message was generated by a live element</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running time of the buffer that generated the message</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="stream_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream time of the buffer that generated the message</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the timestamps of the buffer that generated the message</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">the duration of the buffer that generated the message</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_redirect" c:identifier="gst_message_new_redirect" version="1.10">
|
|
<doc xml:space="preserve">Creates a new redirect message and adds a new entry to it. Redirect messages
|
|
are posted when an element detects that the actual data has to be retrieved
|
|
from a different location. This is useful if such a redirection cannot be
|
|
handled inside a source element, for example when HTTP 302/303 redirects
|
|
return a non-HTTP URL.
|
|
|
|
The redirect message can hold multiple entries. The first one is added
|
|
when the redirect message is created, with the given location, tag_list,
|
|
entry_struct arguments. Use gst_message_add_redirect_entry() to add more
|
|
entries.
|
|
|
|
Each entry has a location, a tag list, and a structure. All of these are
|
|
optional. The tag list and structure are useful for additional metadata,
|
|
such as bitrate statistics for the given location.
|
|
|
|
By default, message recipients should treat entries in the order they are
|
|
stored. The recipient should therefore try entry \#0 first, and if this
|
|
entry is not acceptable or working, try entry \#1 etc. Senders must make
|
|
sure that they add entries in this order. However, recipients are free to
|
|
ignore the order and pick an entry that is "best" for them. One example
|
|
would be a recipient that scans the entries for the one with the highest
|
|
bitrate tag.
|
|
|
|
The specified location string is copied. However, ownership over the tag
|
|
list and structure are transferred to the message.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject whose property changed (may or may not be a #GstElement)</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="location" transfer-ownership="none">
|
|
<doc xml:space="preserve">location string for the new entry</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag_list" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">tag list for the new entry</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="entry_struct" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">structure for the new entry</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_request_state" c:identifier="gst_message_new_request_state">
|
|
<doc xml:space="preserve">This message can be posted by elements when they want to have their state
|
|
changed. A typical use case would be an audio server that wants to pause the
|
|
pipeline because a higher priority stream is being played.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new request state message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new requested state</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_reset_time" c:identifier="gst_message_new_reset_time">
|
|
<doc xml:space="preserve">This message is posted when the pipeline running-time should be reset to
|
|
@running_time, like after a flushing seek.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new reset_time message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested running-time</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_segment_done" c:identifier="gst_message_new_segment_done">
|
|
<doc xml:space="preserve">Create a new segment done message. This message is posted by elements that
|
|
finish playback of a segment as a result of a segment seek. This message
|
|
is received by the application after all elements that posted a segment_start
|
|
have posted the segment_done.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new segment done message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format of the position being done</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">The position of the segment being done</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_segment_start" c:identifier="gst_message_new_segment_start">
|
|
<doc xml:space="preserve">Create a new segment message. This message is posted by elements that
|
|
start playback of a segment as a result of a segment seek. This message
|
|
is not received by the application but is used for maintenance reasons in
|
|
container elements.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new segment start message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format of the position being played</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">The position of the segment being played</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_state_changed" c:identifier="gst_message_new_state_changed">
|
|
<doc xml:space="preserve">Create a state change message. This message is posted whenever an element
|
|
changed its state.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new state change message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="oldstate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the previous state</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
<parameter name="newstate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new (current) state</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
<parameter name="pending" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pending (target) state</doc>
|
|
<type name="State" c:type="GstState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_state_dirty" c:identifier="gst_message_new_state_dirty">
|
|
<doc xml:space="preserve">Create a state dirty message. This message is posted whenever an element
|
|
changed its state asynchronously and is used internally to update the
|
|
states of container objects.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new state dirty message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_step_done" c:identifier="gst_message_new_step_done">
|
|
<doc xml:space="preserve">This message is posted by elements when they complete a part, when @intermediate set
|
|
to %TRUE, or a complete step operation.
|
|
|
|
@duration will contain the amount of time (in GST_FORMAT_TIME) of the stepped
|
|
@amount of media in format @format.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new step_done message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of @amount</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="amount" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of stepped data</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the rate of the stepped amount</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="flush" transfer-ownership="none">
|
|
<doc xml:space="preserve">is this an flushing step</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="intermediate" transfer-ownership="none">
|
|
<doc xml:space="preserve">is this an intermediate step</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">the duration of the data</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="eos" transfer-ownership="none">
|
|
<doc xml:space="preserve">the step caused EOS</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_step_start" c:identifier="gst_message_new_step_start">
|
|
<doc xml:space="preserve">This message is posted by elements when they accept or activate a new step
|
|
event for @amount in @format.
|
|
|
|
@active is set to %FALSE when the element accepted the new step event and has
|
|
queued it for execution in the streaming threads.
|
|
|
|
@active is set to %TRUE when the element has activated the step operation and
|
|
is now ready to start executing the step in the streaming thread. After this
|
|
message is emitted, the application can queue a new step operation in the
|
|
element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new step_start message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">if the step is active or queued</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of @amount</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="amount" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of stepped data</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the rate of the stepped amount</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="flush" transfer-ownership="none">
|
|
<doc xml:space="preserve">is this an flushing step</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="intermediate" transfer-ownership="none">
|
|
<doc xml:space="preserve">is this an intermediate step</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_stream_collection" c:identifier="gst_message_new_stream_collection" version="1.10">
|
|
<doc xml:space="preserve">Creates a new stream-collection message. The message is used to announce new
|
|
#GstStreamCollection</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject that created the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstStreamCollection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_stream_start" c:identifier="gst_message_new_stream_start">
|
|
<doc xml:space="preserve">Create a new stream_start message. This message is generated and posted in
|
|
the sink elements of a GstBin. The bin will only forward the STREAM_START
|
|
message to the application if all sinks have posted an STREAM_START message.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new stream_start message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_stream_status" c:identifier="gst_message_new_stream_status">
|
|
<doc xml:space="preserve">Create a new stream status message. This message is posted when a streaming
|
|
thread is created/destroyed or when the state changed.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new stream status message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The stream status type.</doc>
|
|
<type name="StreamStatusType" c:type="GstStreamStatusType"/>
|
|
</parameter>
|
|
<parameter name="owner" transfer-ownership="none">
|
|
<doc xml:space="preserve">the owner element of @src.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_streams_selected" c:identifier="gst_message_new_streams_selected" version="1.10">
|
|
<doc xml:space="preserve">Creates a new steams-selected message. The message is used to announce
|
|
that an array of streams has been selected. This is generally in response
|
|
to a #GST_EVENT_SELECT_STREAMS event, or when an element (such as decodebin3)
|
|
makes an initial selection of streams.
|
|
|
|
The message also contains the #GstStreamCollection to which the various streams
|
|
belong to.
|
|
|
|
Users of gst_message_new_streams_selected() can add the selected streams with
|
|
gst_message_streams_selected_add().</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated #GstMessage</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstObject that created the message</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstStreamCollection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_structure_change" c:identifier="gst_message_new_structure_change">
|
|
<doc xml:space="preserve">Create a new structure change message. This message is posted when the
|
|
structure of a pipeline is in the process of being changed, for example
|
|
when pads are linked or unlinked.
|
|
|
|
@src should be the sinkpad that unlinked or linked.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new structure change message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The change type.</doc>
|
|
<type name="StructureChangeType" c:type="GstStructureChangeType"/>
|
|
</parameter>
|
|
<parameter name="owner" transfer-ownership="none">
|
|
<doc xml:space="preserve">The owner element of @src.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="busy" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether the structure change is busy.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_tag" c:identifier="gst_message_new_tag">
|
|
<doc xml:space="preserve">Create a new tag message. The message will take ownership of the tag list.
|
|
The message is posted by elements that discovered a new taglist.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new tag message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="tag_list" transfer-ownership="full">
|
|
<doc xml:space="preserve">the tag list for the message.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_toc" c:identifier="gst_message_new_toc">
|
|
<doc xml:space="preserve">Create a new TOC message. The message is posted by elements
|
|
that discovered or updated a TOC.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new TOC message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstToc structure for the message.</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</parameter>
|
|
<parameter name="updated" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether TOC was updated or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_warning" c:identifier="gst_message_new_warning">
|
|
<doc xml:space="preserve">Create a new warning message. The message will make copies of @error and
|
|
@debug.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new warning message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GError for this message.</doc>
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none">
|
|
<doc xml:space="preserve">A debugging string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_warning_with_details" c:identifier="gst_message_new_warning_with_details" version="1.10">
|
|
<doc xml:space="preserve">Create a new warning message. The message will make copies of @error and
|
|
@debug.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new warning message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The object originating the message.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GError for this message.</doc>
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none">
|
|
<doc xml:space="preserve">A debugging string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="details" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A GstStructure with details</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_redirect_entry" c:identifier="gst_message_add_redirect_entry" version="1.10">
|
|
<doc xml:space="preserve">Creates and appends a new entry.
|
|
|
|
The specified location string is copied. However, ownership over the tag
|
|
list and structure are transferred to the message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_REDIRECT</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="location" transfer-ownership="none">
|
|
<doc xml:space="preserve">location string for the new entry</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag_list" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">tag list for the new entry</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="entry_struct" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">structure for the new entry</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_message_copy" introspectable="0">
|
|
<doc xml:space="preserve">Creates a copy of the message. Returns a copy of the message.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @msg.
|
|
|
|
MT safe</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="msg" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message to copy</doc>
|
|
<type name="Message" c:type="const GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_num_redirect_entries" c:identifier="gst_message_get_num_redirect_entries" version="1.10">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of entries stored in the message</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_REDIRECT</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum" c:identifier="gst_message_get_seqnum">
|
|
<doc xml:space="preserve">Retrieve the sequence number of a message.
|
|
|
|
Messages have ever-incrementing sequence numbers, which may also be set
|
|
explicitly via gst_message_set_seqnum(). Sequence numbers are typically used
|
|
to indicate that a message corresponds to some other set of messages or
|
|
events, for example a SEGMENT_DONE message corresponding to a SEEK event. It
|
|
is considered good practice to make this correspondence when possible, though
|
|
it is not required.
|
|
|
|
Note that events and messages share the same sequence number incrementor;
|
|
two events or messages will never have the same sequence number unless
|
|
that correspondence was made explicitly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The message's sequence number.
|
|
|
|
MT safe.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream_status_object" c:identifier="gst_message_get_stream_status_object">
|
|
<doc xml:space="preserve">Extracts the object managing the streaming thread from @message.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a GValue containing the object that manages the
|
|
streaming thread. This object is usually of type GstTask but other types can
|
|
be added in the future. The object remains valid as long as @message is
|
|
valid.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_structure" c:identifier="gst_message_get_structure">
|
|
<doc xml:space="preserve">Access the structure of the message.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The structure of the message. The
|
|
structure is still owned by the message, which means that you should not
|
|
free it and that the pointer becomes invalid when you free the message.
|
|
|
|
MT safe.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMessage.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_name" c:identifier="gst_message_has_name">
|
|
<doc xml:space="preserve">Checks if @message has the given @name. This function is usually used to
|
|
check the name of a custom message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @name matches the name of the message structure.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMessage.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name to check</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_async_done" c:identifier="gst_message_parse_async_done">
|
|
<doc xml:space="preserve">Extract the running_time from the async_done message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the running_time or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_buffering" c:identifier="gst_message_parse_buffering">
|
|
<doc xml:space="preserve">Extracts the buffering percent from the GstMessage. see also
|
|
gst_message_new_buffering().
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_BUFFERING.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="percent" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Return location for the percent.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_buffering_stats" c:identifier="gst_message_parse_buffering_stats">
|
|
<doc xml:space="preserve">Extracts the buffering stats values from @message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_BUFFERING.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a buffering mode, or %NULL</doc>
|
|
<type name="BufferingMode" c:type="GstBufferingMode*"/>
|
|
</parameter>
|
|
<parameter name="avg_in" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the average input rate, or %NULL</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="avg_out" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the average output rate, or %NULL</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="buffering_left" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">amount of buffering time left in
|
|
milliseconds, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_clock_lost" c:identifier="gst_message_parse_clock_lost">
|
|
<doc xml:space="preserve">Extracts the lost clock from the GstMessage.
|
|
The clock object returned remains valid until the message is freed.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_CLOCK_LOST.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to hold the lost clock</doc>
|
|
<type name="Clock" c:type="GstClock**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_clock_provide" c:identifier="gst_message_parse_clock_provide">
|
|
<doc xml:space="preserve">Extracts the clock and ready flag from the GstMessage.
|
|
The clock object returned remains valid until the message is freed.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to hold a clock
|
|
object, or %NULL</doc>
|
|
<type name="Clock" c:type="GstClock**"/>
|
|
</parameter>
|
|
<parameter name="ready" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to hold the ready flag, or %NULL</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_context_type" c:identifier="gst_message_parse_context_type" version="1.2">
|
|
<doc xml:space="preserve">Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if the parsing succeeded.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_MESSAGE_NEED_CONTEXT type message</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="context_type" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the context type, or %NULL</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_device_added" c:identifier="gst_message_parse_device_added" version="1.4">
|
|
<doc xml:space="preserve">Parses a device-added message. The device-added message is produced by
|
|
#GstDeviceProvider or a #GstDeviceMonitor. It announces the appearance
|
|
of monitored devices.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="device" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location where to store a
|
|
pointer to the new #GstDevice, or %NULL</doc>
|
|
<type name="Device" c:type="GstDevice**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_device_changed" c:identifier="gst_message_parse_device_changed" version="1.16">
|
|
<doc xml:space="preserve">Parses a device-changed message. The device-changed message is produced by
|
|
#GstDeviceProvider or a #GstDeviceMonitor. It announces the
|
|
disappearance of monitored devices. * It announce that a device properties has
|
|
changed and @device represents the new modified version of @changed_device.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_DEVICE_CHANGED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="device" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location where to store a
|
|
pointer to the updated version of the #GstDevice, or %NULL</doc>
|
|
<type name="Device" c:type="GstDevice**"/>
|
|
</parameter>
|
|
<parameter name="changed_device" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location where to store a
|
|
pointer to the old version of the #GstDevice, or %NULL</doc>
|
|
<type name="Device" c:type="GstDevice**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_device_removed" c:identifier="gst_message_parse_device_removed" version="1.4">
|
|
<doc xml:space="preserve">Parses a device-removed message. The device-removed message is produced by
|
|
#GstDeviceProvider or a #GstDeviceMonitor. It announces the
|
|
disappearance of monitored devices.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="device" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location where to store a
|
|
pointer to the removed #GstDevice, or %NULL</doc>
|
|
<type name="Device" c:type="GstDevice**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_error" c:identifier="gst_message_parse_error">
|
|
<doc xml:space="preserve">Extracts the GError and debug string from the GstMessage. The values returned
|
|
in the output arguments are copies; the caller must free them when done.
|
|
|
|
Typical usage of this function might be:
|
|
|[<!-- language="C" -->
|
|
...
|
|
switch (GST_MESSAGE_TYPE (msg)) {
|
|
case GST_MESSAGE_ERROR: {
|
|
GError *err = NULL;
|
|
gchar *dbg_info = NULL;
|
|
|
|
gst_message_parse_error (msg, &amp;err, &amp;dbg_info);
|
|
g_printerr ("ERROR from element %s: %s\n",
|
|
GST_OBJECT_NAME (msg->src), err->message);
|
|
g_printerr ("Debugging info: %s\n", (dbg_info) ? dbg_info : "none");
|
|
g_error_free (err);
|
|
g_free (dbg_info);
|
|
break;
|
|
}
|
|
...
|
|
}
|
|
...
|
|
]|
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_ERROR.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="gerror" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the GError</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="debug" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the debug message,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_error_details" c:identifier="gst_message_parse_error_details" version="1.10">
|
|
<doc xml:space="preserve">Returns the optional details structure, may be NULL if none.
|
|
The returned structure must not be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">The message object</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the returned details</doc>
|
|
<type name="Structure" c:type="const GstStructure**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_group_id" c:identifier="gst_message_parse_group_id" version="1.2">
|
|
<doc xml:space="preserve">Extract the group from the STREAM_START message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message had a group id set, %FALSE otherwise
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STREAM_START.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="group_id" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the group id or
|
|
%NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_have_context" c:identifier="gst_message_parse_have_context" version="1.2">
|
|
<doc xml:space="preserve">Extract the context from the HAVE_CONTEXT message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the
|
|
context or %NULL</doc>
|
|
<type name="Context" c:type="GstContext**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_info" c:identifier="gst_message_parse_info">
|
|
<doc xml:space="preserve">Extracts the GError and debug string from the GstMessage. The values returned
|
|
in the output arguments are copies; the caller must free them when done.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_INFO.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="gerror" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the GError</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="debug" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the debug message,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_info_details" c:identifier="gst_message_parse_info_details" version="1.10">
|
|
<doc xml:space="preserve">Returns the optional details structure, may be NULL if none
|
|
The returned structure must not be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">The message object</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the returned details structure</doc>
|
|
<type name="Structure" c:type="const GstStructure**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_instant_rate_request" c:identifier="gst_message_parse_instant_rate_request" version="1.18">
|
|
<doc xml:space="preserve">Parses the rate_multiplier from the instant-rate-request message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_INSTANT_RATE_REQUEST</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate_multiplier" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for the rate, or %NULL</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_new_clock" c:identifier="gst_message_parse_new_clock">
|
|
<doc xml:space="preserve">Extracts the new clock from the GstMessage.
|
|
The clock object returned remains valid until the message is freed.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_NEW_CLOCK.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to hold the selected
|
|
new clock</doc>
|
|
<type name="Clock" c:type="GstClock**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_progress" c:identifier="gst_message_parse_progress">
|
|
<doc xml:space="preserve">Parses the progress @type, @code and @text.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_PROGRESS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the type</doc>
|
|
<type name="ProgressType" c:type="GstProgressType*"/>
|
|
</parameter>
|
|
<parameter name="code" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the code</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
<parameter name="text" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the text</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_property_notify" c:identifier="gst_message_parse_property_notify" version="1.10">
|
|
<doc xml:space="preserve">Parses a property-notify message. These will be posted on the bus only
|
|
when set up with gst_element_add_property_notify_watch() or
|
|
gst_element_add_property_deep_notify_watch().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_PROPERTY_NOTIFY</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location where to store a
|
|
pointer to the object whose property got changed, or %NULL</doc>
|
|
<type name="Object" c:type="GstObject**"/>
|
|
</parameter>
|
|
<parameter name="property_name" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for
|
|
the name of the property that got changed, or %NULL</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
<parameter name="property_value" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for
|
|
the new value of the property that got changed, or %NULL. This will
|
|
only be set if the property notify watch was told to include the value
|
|
when it was set up</doc>
|
|
<type name="GObject.Value" c:type="const GValue**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_qos" c:identifier="gst_message_parse_qos">
|
|
<doc xml:space="preserve">Extract the timestamps and live status from the QoS message.
|
|
|
|
The returned values give the running_time, stream_time, timestamp and
|
|
duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown
|
|
values.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="live" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">if the message was generated by a live element</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the running time of the buffer that
|
|
generated the message</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="stream_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the stream time of the buffer that
|
|
generated the message</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the timestamps of the buffer that
|
|
generated the message</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the duration of the buffer that
|
|
generated the message</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_qos_stats" c:identifier="gst_message_parse_qos_stats">
|
|
<doc xml:space="preserve">Extract the QoS stats representing the history of the current continuous
|
|
pipeline playback period.
|
|
|
|
When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
|
|
invalid. Values of -1 for either @processed or @dropped mean unknown values.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Units of the 'processed' and 'dropped' fields.
|
|
Video sinks and video filters will use GST_FORMAT_BUFFERS (frames).
|
|
Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT
|
|
(samples).</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="processed" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Total number of units correctly processed
|
|
since the last state change to READY or a flushing operation.</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="dropped" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Total number of units dropped since the last
|
|
state change to READY or a flushing operation.</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_qos_values" c:identifier="gst_message_parse_qos_values">
|
|
<doc xml:space="preserve">Extract the QoS values that have been calculated/analysed from the QoS data
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="jitter" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The difference of the running-time against
|
|
the deadline.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="proportion" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Long term prediction of the ideal rate
|
|
relative to normal rate to get optimal quality.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="quality" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">An element dependent integer value that
|
|
specifies the current quality level of the element. The default
|
|
maximum quality is 1000000.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_redirect_entry" c:identifier="gst_message_parse_redirect_entry" version="1.10">
|
|
<doc xml:space="preserve">Parses the location and/or structure from the entry with the given index.
|
|
The index must be between 0 and gst_message_get_num_redirect_entries() - 1.
|
|
Returned pointers are valid for as long as this message exists.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_REDIRECT</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="entry_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">index of the entry to parse</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="location" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for
|
|
the pointer to the entry's location string, or %NULL</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
<parameter name="tag_list" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for
|
|
the pointer to the entry's tag list, or %NULL</doc>
|
|
<type name="TagList" c:type="GstTagList**"/>
|
|
</parameter>
|
|
<parameter name="entry_struct" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location
|
|
for the pointer to the entry's structure, or %NULL</doc>
|
|
<type name="Structure" c:type="const GstStructure**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_request_state" c:identifier="gst_message_parse_request_state">
|
|
<doc xml:space="preserve">Extract the requested state from the request_state message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the requested state or %NULL</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_reset_time" c:identifier="gst_message_parse_reset_time">
|
|
<doc xml:space="preserve">Extract the running-time from the RESET_TIME message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_RESET_TIME.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the running_time or
|
|
%NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_segment_done" c:identifier="gst_message_parse_segment_done">
|
|
<doc xml:space="preserve">Extracts the position and format from the segment done message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the format, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the position, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_segment_start" c:identifier="gst_message_parse_segment_start">
|
|
<doc xml:space="preserve">Extracts the position and format from the segment start message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the format, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Result location for the position, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_state_changed" c:identifier="gst_message_parse_state_changed">
|
|
<doc xml:space="preserve">Extracts the old and new states from the GstMessage.
|
|
|
|
Typical usage of this function might be:
|
|
|[<!-- language="C" -->
|
|
...
|
|
switch (GST_MESSAGE_TYPE (msg)) {
|
|
case GST_MESSAGE_STATE_CHANGED: {
|
|
GstState old_state, new_state;
|
|
|
|
gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL);
|
|
g_print ("Element %s changed state from %s to %s.\n",
|
|
GST_OBJECT_NAME (msg->src),
|
|
gst_element_state_get_name (old_state),
|
|
gst_element_state_get_name (new_state));
|
|
break;
|
|
}
|
|
...
|
|
}
|
|
...
|
|
]|
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="oldstate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the previous state, or %NULL</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="newstate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the new (current) state, or %NULL</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
<parameter name="pending" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the pending (target) state, or %NULL</doc>
|
|
<type name="State" c:type="GstState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_step_done" c:identifier="gst_message_parse_step_done">
|
|
<doc xml:space="preserve">Extract the values the step_done message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STEP_DONE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the format</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="amount" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the amount</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="rate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the rate</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="flush" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the flush flag</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="intermediate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the intermediate flag</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the duration</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="eos" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the EOS flag</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_step_start" c:identifier="gst_message_parse_step_start">
|
|
<doc xml:space="preserve">Extract the values from step_start message.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STEP_DONE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="active" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the active flag</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the format</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="amount" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the amount</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="rate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the rate</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="flush" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the flush flag</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="intermediate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result location for the intermediate flag</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream_collection" c:identifier="gst_message_parse_stream_collection" version="1.10">
|
|
<doc xml:space="preserve">Parses a stream-collection message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_STREAM_COLLECTION</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="collection" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location where to store a
|
|
pointer to the #GstStreamCollection, or %NULL</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_stream_status" c:identifier="gst_message_parse_stream_status">
|
|
<doc xml:space="preserve">Extracts the stream status type and owner the GstMessage. The returned
|
|
owner remains valid for as long as the reference to @message is valid and
|
|
should thus not be unreffed.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to hold the status type</doc>
|
|
<type name="StreamStatusType" c:type="GstStreamStatusType*"/>
|
|
</parameter>
|
|
<parameter name="owner" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">The owner element of the message source</doc>
|
|
<type name="Element" c:type="GstElement**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_streams_selected" c:identifier="gst_message_parse_streams_selected" version="1.10">
|
|
<doc xml:space="preserve">Parses a streams-selected message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="collection" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location where to store a
|
|
pointer to the #GstStreamCollection, or %NULL</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_structure_change" c:identifier="gst_message_parse_structure_change">
|
|
<doc xml:space="preserve">Extracts the change type and completion status from the GstMessage.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STRUCTURE_CHANGE.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to hold the change type</doc>
|
|
<type name="StructureChangeType" c:type="GstStructureChangeType*"/>
|
|
</parameter>
|
|
<parameter name="owner" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The owner element of the
|
|
message source</doc>
|
|
<type name="Element" c:type="GstElement**"/>
|
|
</parameter>
|
|
<parameter name="busy" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to hold whether the change is in
|
|
progress or has been completed</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_tag" c:identifier="gst_message_parse_tag">
|
|
<doc xml:space="preserve">Extracts the tag list from the GstMessage. The tag list returned in the
|
|
output argument is a copy; the caller must free it when done.
|
|
|
|
Typical usage of this function might be:
|
|
|[<!-- language="C" -->
|
|
...
|
|
switch (GST_MESSAGE_TYPE (msg)) {
|
|
case GST_MESSAGE_TAG: {
|
|
GstTagList *tags = NULL;
|
|
|
|
gst_message_parse_tag (msg, &amp;tags);
|
|
g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src));
|
|
handle_tags (tags);
|
|
gst_tag_list_unref (tags);
|
|
break;
|
|
}
|
|
...
|
|
}
|
|
...
|
|
]|
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_TAG.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag_list" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the tag-list.</doc>
|
|
<type name="TagList" c:type="GstTagList**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_toc" c:identifier="gst_message_parse_toc">
|
|
<doc xml:space="preserve">Extract the TOC from the #GstMessage. The TOC returned in the
|
|
output argument is a copy; the caller must free it with
|
|
gst_toc_unref() when done.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstMessage of type GST_MESSAGE_TOC.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="toc" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the TOC.</doc>
|
|
<type name="Toc" c:type="GstToc**"/>
|
|
</parameter>
|
|
<parameter name="updated" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the updated flag.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_warning" c:identifier="gst_message_parse_warning">
|
|
<doc xml:space="preserve">Extracts the GError and debug string from the GstMessage. The values returned
|
|
in the output arguments are copies; the caller must free them when done.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_WARNING.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="gerror" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the GError</doc>
|
|
<type name="GLib.Error" c:type="GError**"/>
|
|
</parameter>
|
|
<parameter name="debug" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the debug message,
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_warning_details" c:identifier="gst_message_parse_warning_details" version="1.10">
|
|
<doc xml:space="preserve">Returns the optional details structure, may be NULL if none
|
|
The returned structure must not be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">The message object</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the returned details structure</doc>
|
|
<type name="Structure" c:type="const GstStructure**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_message_ref" introspectable="0">
|
|
<doc xml:space="preserve">Convenience macro to increase the reference count of the message.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@msg (for convenience when doing assignments)</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="msg" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message to ref</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_buffering_stats" c:identifier="gst_message_set_buffering_stats">
|
|
<doc xml:space="preserve">Configures the buffering stats values in @message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_BUFFERING.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a buffering mode</doc>
|
|
<type name="BufferingMode" c:type="GstBufferingMode"/>
|
|
</parameter>
|
|
<parameter name="avg_in" transfer-ownership="none">
|
|
<doc xml:space="preserve">the average input rate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="avg_out" transfer-ownership="none">
|
|
<doc xml:space="preserve">the average output rate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="buffering_left" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount of buffering time left in milliseconds</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_group_id" c:identifier="gst_message_set_group_id" version="1.2">
|
|
<doc xml:space="preserve">Sets the group id on the stream-start message.
|
|
|
|
All streams that have the same group id are supposed to be played
|
|
together, i.e. all streams inside a container file should have the
|
|
same group id but different stream ids. The group id should change
|
|
each time the stream is started, resulting in different group ids
|
|
each time a file is played for example.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="group_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the group id</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_qos_stats" c:identifier="gst_message_set_qos_stats">
|
|
<doc xml:space="preserve">Set the QoS stats representing the history of the current continuous pipeline
|
|
playback period.
|
|
|
|
When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
|
|
invalid. Values of -1 for either @processed or @dropped mean unknown values.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">Units of the 'processed' and 'dropped' fields. Video sinks and video
|
|
filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters
|
|
will likely use GST_FORMAT_DEFAULT (samples).</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="processed" transfer-ownership="none">
|
|
<doc xml:space="preserve">Total number of units correctly processed since the last state
|
|
change to READY or a flushing operation.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="dropped" transfer-ownership="none">
|
|
<doc xml:space="preserve">Total number of units dropped since the last state change to READY
|
|
or a flushing operation.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_qos_values" c:identifier="gst_message_set_qos_values">
|
|
<doc xml:space="preserve">Set the QoS values that have been calculated/analysed from the QoS data
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="jitter" transfer-ownership="none">
|
|
<doc xml:space="preserve">The difference of the running-time against the deadline.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="proportion" transfer-ownership="none">
|
|
<doc xml:space="preserve">Long term prediction of the ideal rate relative to normal rate
|
|
to get optimal quality.</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="quality" transfer-ownership="none">
|
|
<doc xml:space="preserve">An element dependent integer value that specifies the current
|
|
quality level of the element. The default maximum quality is 1000000.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_seqnum" c:identifier="gst_message_set_seqnum">
|
|
<doc xml:space="preserve">Set the sequence number of a message.
|
|
|
|
This function might be called by the creator of a message to indicate that
|
|
the message relates to other messages or events. See gst_message_get_seqnum()
|
|
for more information.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="seqnum" transfer-ownership="none">
|
|
<doc xml:space="preserve">A sequence number.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_stream_status_object" c:identifier="gst_message_set_stream_status_object">
|
|
<doc xml:space="preserve">Configures the object handling the streaming thread. This is usually a
|
|
GstTask object but other objects might be added in the future.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object controlling the streaming</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="streams_selected_add" c:identifier="gst_message_streams_selected_add" version="1.10">
|
|
<doc xml:space="preserve">Adds the @stream to the @message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream to add to @message</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="streams_selected_get_size" c:identifier="gst_message_streams_selected_get_size" version="1.10">
|
|
<doc xml:space="preserve">Returns the number of streams contained in the @message.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of streams contained within.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="streams_selected_get_stream" c:identifier="gst_message_streams_selected_get_stream" version="1.10">
|
|
<doc xml:space="preserve">Retrieves the #GstStream with index @index from the @message.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">Index of the stream to retrieve</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_message_unref" introspectable="0">
|
|
<doc xml:space="preserve">Convenience macro to decrease the reference count of the message, possibly
|
|
freeing it.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="msg" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message to unref</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="writable_structure" c:identifier="gst_message_writable_structure" version="1.14">
|
|
<doc xml:space="preserve">Get a writable version of the structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The structure of the message. The structure
|
|
is still owned by the message, which means that you should not free
|
|
it and that the pointer becomes invalid when you free the message.
|
|
This function checks if @message is writable and will never return
|
|
%NULL.
|
|
|
|
MT safe.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMessage.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="replace" c:identifier="gst_message_replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstMessage to point to a different #GstMessage. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
message is unreffed, the new one is reffed).
|
|
|
|
Either @new_message or the #GstMessage pointed to by @old_message may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_message was different from @old_message</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_message" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstMessage to be replaced.</doc>
|
|
<type name="Message" c:type="GstMessage**"/>
|
|
</parameter>
|
|
<parameter name="new_message" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstMessage that will
|
|
replace the message pointed to by @old_message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="MessageType" glib:type-name="GstMessageType" glib:get-type="gst_message_type_get_type" c:type="GstMessageType">
|
|
<doc xml:space="preserve">The different message types that are available.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_MESSAGE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">an undefined message</doc>
|
|
</member>
|
|
<member name="eos" value="1" c:identifier="GST_MESSAGE_EOS" glib:nick="eos">
|
|
<doc xml:space="preserve">end-of-stream reached in a pipeline. The application will
|
|
only receive this message in the PLAYING state and every time it sets a
|
|
pipeline to PLAYING that is in the EOS state. The application can perform a
|
|
flushing seek in the pipeline, which will undo the EOS state again.</doc>
|
|
</member>
|
|
<member name="error" value="2" c:identifier="GST_MESSAGE_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">an error occurred. When the application receives an error
|
|
message it should stop playback of the pipeline and not assume that more
|
|
data will be played. It is possible to specify a redirection url to the error
|
|
messages by setting a `redirect-location` field into the error message, application
|
|
or high level bins might use the information as required.</doc>
|
|
</member>
|
|
<member name="warning" value="4" c:identifier="GST_MESSAGE_WARNING" glib:nick="warning">
|
|
<doc xml:space="preserve">a warning occurred.</doc>
|
|
</member>
|
|
<member name="info" value="8" c:identifier="GST_MESSAGE_INFO" glib:nick="info">
|
|
<doc xml:space="preserve">an info message occurred</doc>
|
|
</member>
|
|
<member name="tag" value="16" c:identifier="GST_MESSAGE_TAG" glib:nick="tag">
|
|
<doc xml:space="preserve">a tag was found.</doc>
|
|
</member>
|
|
<member name="buffering" value="32" c:identifier="GST_MESSAGE_BUFFERING" glib:nick="buffering">
|
|
<doc xml:space="preserve">the pipeline is buffering. When the application
|
|
receives a buffering message in the PLAYING state for a non-live pipeline it
|
|
must PAUSE the pipeline until the buffering completes, when the percentage
|
|
field in the message is 100%. For live pipelines, no action must be
|
|
performed and the buffering percentage can be used to inform the user about
|
|
the progress.</doc>
|
|
</member>
|
|
<member name="state_changed" value="64" c:identifier="GST_MESSAGE_STATE_CHANGED" glib:nick="state-changed">
|
|
<doc xml:space="preserve">a state change happened</doc>
|
|
</member>
|
|
<member name="state_dirty" value="128" c:identifier="GST_MESSAGE_STATE_DIRTY" glib:nick="state-dirty">
|
|
<doc xml:space="preserve">an element changed state in a streaming thread.
|
|
This message is deprecated.</doc>
|
|
</member>
|
|
<member name="step_done" value="256" c:identifier="GST_MESSAGE_STEP_DONE" glib:nick="step-done">
|
|
<doc xml:space="preserve">a stepping operation finished.</doc>
|
|
</member>
|
|
<member name="clock_provide" value="512" c:identifier="GST_MESSAGE_CLOCK_PROVIDE" glib:nick="clock-provide">
|
|
<doc xml:space="preserve">an element notifies its capability of providing
|
|
a clock. This message is used internally and
|
|
never forwarded to the application.</doc>
|
|
</member>
|
|
<member name="clock_lost" value="1024" c:identifier="GST_MESSAGE_CLOCK_LOST" glib:nick="clock-lost">
|
|
<doc xml:space="preserve">The current clock as selected by the pipeline became
|
|
unusable. The pipeline will select a new clock on
|
|
the next PLAYING state change. The application
|
|
should set the pipeline to PAUSED and back to
|
|
PLAYING when this message is received.</doc>
|
|
</member>
|
|
<member name="new_clock" value="2048" c:identifier="GST_MESSAGE_NEW_CLOCK" glib:nick="new-clock">
|
|
<doc xml:space="preserve">a new clock was selected in the pipeline.</doc>
|
|
</member>
|
|
<member name="structure_change" value="4096" c:identifier="GST_MESSAGE_STRUCTURE_CHANGE" glib:nick="structure-change">
|
|
<doc xml:space="preserve">the structure of the pipeline changed. This
|
|
message is used internally and never forwarded to the application.</doc>
|
|
</member>
|
|
<member name="stream_status" value="8192" c:identifier="GST_MESSAGE_STREAM_STATUS" glib:nick="stream-status">
|
|
<doc xml:space="preserve">status about a stream, emitted when it starts,
|
|
stops, errors, etc..</doc>
|
|
</member>
|
|
<member name="application" value="16384" c:identifier="GST_MESSAGE_APPLICATION" glib:nick="application">
|
|
<doc xml:space="preserve">message posted by the application, possibly
|
|
via an application-specific element.</doc>
|
|
</member>
|
|
<member name="element" value="32768" c:identifier="GST_MESSAGE_ELEMENT" glib:nick="element">
|
|
<doc xml:space="preserve">element-specific message, see the specific element's
|
|
documentation</doc>
|
|
</member>
|
|
<member name="segment_start" value="65536" c:identifier="GST_MESSAGE_SEGMENT_START" glib:nick="segment-start">
|
|
<doc xml:space="preserve">pipeline started playback of a segment. This
|
|
message is used internally and never forwarded to the application.</doc>
|
|
</member>
|
|
<member name="segment_done" value="131072" c:identifier="GST_MESSAGE_SEGMENT_DONE" glib:nick="segment-done">
|
|
<doc xml:space="preserve">pipeline completed playback of a segment. This
|
|
message is forwarded to the application after all elements that posted
|
|
@GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message.</doc>
|
|
</member>
|
|
<member name="duration_changed" value="262144" c:identifier="GST_MESSAGE_DURATION_CHANGED" glib:nick="duration-changed">
|
|
<doc xml:space="preserve">The duration of a pipeline changed. The
|
|
application can get the new duration with a duration query.</doc>
|
|
</member>
|
|
<member name="latency" value="524288" c:identifier="GST_MESSAGE_LATENCY" glib:nick="latency">
|
|
<doc xml:space="preserve">Posted by elements when their latency changes. The
|
|
application should recalculate and distribute a new latency.</doc>
|
|
</member>
|
|
<member name="async_start" value="1048576" c:identifier="GST_MESSAGE_ASYNC_START" glib:nick="async-start">
|
|
<doc xml:space="preserve">Posted by elements when they start an ASYNC
|
|
#GstStateChange. This message is not forwarded to the application but is used
|
|
internally.</doc>
|
|
</member>
|
|
<member name="async_done" value="2097152" c:identifier="GST_MESSAGE_ASYNC_DONE" glib:nick="async-done">
|
|
<doc xml:space="preserve">Posted by elements when they complete an ASYNC
|
|
#GstStateChange. The application will only receive this message from the toplevel
|
|
pipeline.</doc>
|
|
</member>
|
|
<member name="request_state" value="4194304" c:identifier="GST_MESSAGE_REQUEST_STATE" glib:nick="request-state">
|
|
<doc xml:space="preserve">Posted by elements when they want the pipeline to
|
|
change state. This message is a suggestion to the application which can
|
|
decide to perform the state change on (part of) the pipeline.</doc>
|
|
</member>
|
|
<member name="step_start" value="8388608" c:identifier="GST_MESSAGE_STEP_START" glib:nick="step-start">
|
|
<doc xml:space="preserve">A stepping operation was started.</doc>
|
|
</member>
|
|
<member name="qos" value="16777216" c:identifier="GST_MESSAGE_QOS" glib:nick="qos">
|
|
<doc xml:space="preserve">A buffer was dropped or an element changed its processing
|
|
strategy for Quality of Service reasons.</doc>
|
|
</member>
|
|
<member name="progress" value="33554432" c:identifier="GST_MESSAGE_PROGRESS" glib:nick="progress">
|
|
<doc xml:space="preserve">A progress message.</doc>
|
|
</member>
|
|
<member name="toc" value="67108864" c:identifier="GST_MESSAGE_TOC" glib:nick="toc">
|
|
<doc xml:space="preserve">A new table of contents (TOC) was found or previously found TOC
|
|
was updated.</doc>
|
|
</member>
|
|
<member name="reset_time" value="134217728" c:identifier="GST_MESSAGE_RESET_TIME" glib:nick="reset-time">
|
|
<doc xml:space="preserve">Message to request resetting the pipeline's
|
|
running time from the pipeline. This is an internal message which
|
|
applications will likely never receive.</doc>
|
|
</member>
|
|
<member name="stream_start" value="268435456" c:identifier="GST_MESSAGE_STREAM_START" glib:nick="stream-start">
|
|
<doc xml:space="preserve">Message indicating start of a new stream. Useful
|
|
e.g. when using playbin in gapless playback mode, to get notified when
|
|
the next title actually starts playing (which will be some time after
|
|
the URI for the next title has been set).</doc>
|
|
</member>
|
|
<member name="need_context" value="536870912" c:identifier="GST_MESSAGE_NEED_CONTEXT" glib:nick="need-context">
|
|
<doc xml:space="preserve">Message indicating that an element wants a specific context (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="have_context" value="1073741824" c:identifier="GST_MESSAGE_HAVE_CONTEXT" glib:nick="have-context">
|
|
<doc xml:space="preserve">Message indicating that an element created a context (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="extended" value="2147483648" c:identifier="GST_MESSAGE_EXTENDED" glib:nick="extended">
|
|
<doc xml:space="preserve">Message is an extended message type (see below).
|
|
These extended message IDs can't be used directly with mask-based API
|
|
like gst_bus_poll() or gst_bus_timed_pop_filtered(), but you can still
|
|
filter for GST_MESSAGE_EXTENDED and then check the result for the
|
|
specific type. (Since: 1.4)</doc>
|
|
</member>
|
|
<member name="device_added" value="2147483649" c:identifier="GST_MESSAGE_DEVICE_ADDED" glib:nick="device-added">
|
|
<doc xml:space="preserve">Message indicating a #GstDevice was added to
|
|
a #GstDeviceProvider (Since: 1.4)</doc>
|
|
</member>
|
|
<member name="device_removed" value="2147483650" c:identifier="GST_MESSAGE_DEVICE_REMOVED" glib:nick="device-removed">
|
|
<doc xml:space="preserve">Message indicating a #GstDevice was removed
|
|
from a #GstDeviceProvider (Since: 1.4)</doc>
|
|
</member>
|
|
<member name="property_notify" value="2147483651" c:identifier="GST_MESSAGE_PROPERTY_NOTIFY" glib:nick="property-notify">
|
|
<doc xml:space="preserve">Message indicating a #GObject property has
|
|
changed (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="stream_collection" value="2147483652" c:identifier="GST_MESSAGE_STREAM_COLLECTION" glib:nick="stream-collection">
|
|
<doc xml:space="preserve">Message indicating a new #GstStreamCollection
|
|
is available (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="streams_selected" value="2147483653" c:identifier="GST_MESSAGE_STREAMS_SELECTED" glib:nick="streams-selected">
|
|
<doc xml:space="preserve">Message indicating the active selection of
|
|
#GstStreams has changed (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="redirect" value="2147483654" c:identifier="GST_MESSAGE_REDIRECT" glib:nick="redirect">
|
|
<doc xml:space="preserve">Message indicating to request the application to
|
|
try to play the given URL(s). Useful if for example a HTTP 302/303
|
|
response is received with a non-HTTP URL inside. (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="device_changed" value="2147483655" c:identifier="GST_MESSAGE_DEVICE_CHANGED" glib:nick="device-changed">
|
|
<doc xml:space="preserve">Message indicating a #GstDevice was changed
|
|
a #GstDeviceProvider (Since: 1.16)</doc>
|
|
</member>
|
|
<member name="instant_rate_request" value="2147483656" c:identifier="GST_MESSAGE_INSTANT_RATE_REQUEST" glib:nick="instant-rate-request">
|
|
<doc xml:space="preserve">Message sent by elements to request the
|
|
running time from the pipeline when an instant rate change should
|
|
be applied (which may be in the past when the answer arrives). (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="any" value="4294967295" c:identifier="GST_MESSAGE_ANY" glib:nick="any">
|
|
<doc xml:space="preserve">mask for all of the above messages.</doc>
|
|
</member>
|
|
<function name="get_name" c:identifier="gst_message_type_get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given message type. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference to the static name of the message.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message type</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_quark" c:identifier="gst_message_type_to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given message type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the message type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message type</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</bitfield>
|
|
<record name="Meta" c:type="GstMeta">
|
|
<doc xml:space="preserve">The #GstMeta structure should be included as the first member of a #GstBuffer
|
|
metadata structure. The structure defines the API of the metadata and should
|
|
be accessible to all elements using the metadata.
|
|
|
|
A metadata API is registered with gst_meta_api_type_register() which takes a
|
|
name for the metadata API and some tags associated with the metadata.
|
|
With gst_meta_api_type_has_tag() one can check if a certain metadata API
|
|
contains a given tag.
|
|
|
|
Multiple implementations of a metadata API can be registered.
|
|
To implement a metadata API, gst_meta_register() should be used. This
|
|
function takes all parameters needed to create, free and transform metadata
|
|
along with the size of the metadata. The function returns a #GstMetaInfo
|
|
structure that contains the information for the implementation of the API.
|
|
|
|
A specific implementation can be retrieved by name with gst_meta_get_info().
|
|
|
|
See #GstBuffer for how the metadata can be added, retrieved and removed from
|
|
buffers.</doc>
|
|
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">extra flags for the metadata</doc>
|
|
<type name="MetaFlags" c:type="GstMetaFlags"/>
|
|
</field>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">pointer to the #GstMetaInfo</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</field>
|
|
<method name="compare_seqnum" c:identifier="gst_meta_compare_seqnum" version="1.16">
|
|
<doc xml:space="preserve">Meta sequence number compare function. Can be used as #GCompareFunc
|
|
or a #GCompareDataFunc.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a negative number if @meta1 comes before @meta2, 0 if both metas
|
|
have an equal sequence number, or a positive integer if @meta1 comes
|
|
after @meta2.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="const GstMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="const GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum" c:identifier="gst_meta_get_seqnum" version="1.16">
|
|
<doc xml:space="preserve">Gets seqnum for this meta.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="const GstMeta*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="api_type_get_tags" c:identifier="gst_meta_api_type_get_tags" version="1.2">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an array of tags as strings.</doc>
|
|
<array c:type="const gchar* const*">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">an API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="api_type_has_tag" c:identifier="gst_meta_api_type_has_tag">
|
|
<doc xml:space="preserve">Check if @api was registered with @tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @api was registered with @tag.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">an API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag to check</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="api_type_register" c:identifier="gst_meta_api_type_register">
|
|
<doc xml:space="preserve">Register and return a GType for the @api and associate it with
|
|
@tags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a unique GType for @api.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">an API to register</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tags" transfer-ownership="none">
|
|
<doc xml:space="preserve">tags for @api</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_info" c:identifier="gst_meta_get_info">
|
|
<doc xml:space="preserve">Lookup a previously registered meta info structure by its implementation name
|
|
@impl.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #GstMetaInfo with @impl, or
|
|
%NULL when no such metainfo exists.</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="impl" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="register" c:identifier="gst_meta_register">
|
|
<doc xml:space="preserve">Register a new #GstMeta implementation.
|
|
|
|
The same @info can be retrieved later with gst_meta_get_info() by using
|
|
@impl as the key.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #GstMetaInfo that can be used to
|
|
access metadata.</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type of the #GstMeta API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="impl" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstMeta implementation</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the #GstMeta structure</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="init_func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GstMetaInitFunction</doc>
|
|
<type name="MetaInitFunction" c:type="GstMetaInitFunction"/>
|
|
</parameter>
|
|
<parameter name="free_func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GstMetaFreeFunction</doc>
|
|
<type name="MetaFreeFunction" c:type="GstMetaFreeFunction"/>
|
|
</parameter>
|
|
<parameter name="transform_func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GstMetaTransformFunction</doc>
|
|
<type name="MetaTransformFunction" c:type="GstMetaTransformFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="MetaFlags" glib:type-name="GstMetaFlags" glib:get-type="gst_meta_flags_get_type" c:type="GstMetaFlags">
|
|
<doc xml:space="preserve">Extra metadata flags.</doc>
|
|
<member name="none" value="0" c:identifier="GST_META_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="readonly" value="1" c:identifier="GST_META_FLAG_READONLY" glib:nick="readonly">
|
|
<doc xml:space="preserve">metadata should not be modified</doc>
|
|
</member>
|
|
<member name="pooled" value="2" c:identifier="GST_META_FLAG_POOLED" glib:nick="pooled">
|
|
<doc xml:space="preserve">metadata is managed by a bufferpool</doc>
|
|
</member>
|
|
<member name="locked" value="4" c:identifier="GST_META_FLAG_LOCKED" glib:nick="locked">
|
|
<doc xml:space="preserve">metadata should not be removed</doc>
|
|
</member>
|
|
<member name="last" value="65536" c:identifier="GST_META_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">additional flags can be added starting from this flag.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="MetaFreeFunction" c:type="GstMetaFreeFunction">
|
|
<doc xml:space="preserve">Function called when @meta is freed in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="MetaInfo" c:type="GstMetaInfo">
|
|
<doc xml:space="preserve">The #GstMetaInfo provides information about a specific metadata
|
|
structure.</doc>
|
|
|
|
<field name="api" writable="1">
|
|
<doc xml:space="preserve">tag identifying the metadata structure and api</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">type identifying the implementor of the api</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">size of the metadata</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="init_func" writable="1">
|
|
<doc xml:space="preserve">function for initializing the metadata</doc>
|
|
<type name="MetaInitFunction" c:type="GstMetaInitFunction"/>
|
|
</field>
|
|
<field name="free_func" writable="1">
|
|
<doc xml:space="preserve">function for freeing the metadata</doc>
|
|
<type name="MetaFreeFunction" c:type="GstMetaFreeFunction"/>
|
|
</field>
|
|
<field name="transform_func" writable="1">
|
|
<doc xml:space="preserve">function for transforming the metadata</doc>
|
|
<type name="MetaTransformFunction" c:type="GstMetaTransformFunction"/>
|
|
</field>
|
|
</record>
|
|
<callback name="MetaInitFunction" c:type="GstMetaInitFunction">
|
|
<doc xml:space="preserve">Function called when @meta is initialized in @buffer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameters passed to the init function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="MetaTransformCopy" c:type="GstMetaTransformCopy">
|
|
<doc xml:space="preserve">Extra data passed to a "gst-copy" transform #GstMetaTransformFunction.</doc>
|
|
|
|
<field name="region" writable="1">
|
|
<doc xml:space="preserve">%TRUE if only region is copied</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">the offset to copy, 0 if @region is %FALSE, otherwise > 0</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">the size to copy, -1 or the buffer size when @region is %FALSE</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
</record>
|
|
<callback name="MetaTransformFunction" c:type="GstMetaTransformFunction">
|
|
<doc xml:space="preserve">Function called for each @meta in @buffer as a result of performing a
|
|
transformation on @transbuf. Additional @type specific transform data
|
|
is passed to the function as @data.
|
|
|
|
Implementations should check the @type of the transform and parse
|
|
additional type specific fields in @data that should be used to update
|
|
the metadata on @transbuf.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the transform could be performed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="transbuf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMeta</doc>
|
|
<type name="Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the transform type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">transform specific data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="MiniObject" c:type="GstMiniObject">
|
|
<doc xml:space="preserve">#GstMiniObject is a simple structure that can be used to implement refcounted
|
|
types.
|
|
|
|
Subclasses will include #GstMiniObject as the first member in their structure
|
|
and then call gst_mini_object_init() to initialize the #GstMiniObject fields.
|
|
|
|
gst_mini_object_ref() and gst_mini_object_unref() increment and decrement the
|
|
refcount respectively. When the refcount of a mini-object reaches 0, the
|
|
dispose function is called first and when this returns %TRUE, the free
|
|
function of the miniobject is called.
|
|
|
|
A copy can be made with gst_mini_object_copy().
|
|
|
|
gst_mini_object_is_writable() will return %TRUE when the refcount of the
|
|
object is exactly 1 and there is no parent or a single parent exists and is
|
|
writable itself, meaning the current caller has the only reference to the
|
|
object. gst_mini_object_make_writable() will return a writable version of
|
|
the object, which might be a new copy when the refcount was not 1.
|
|
|
|
Opaque data can be associated with a #GstMiniObject with
|
|
gst_mini_object_set_qdata() and gst_mini_object_get_qdata(). The data is
|
|
meant to be specific to the particular object and is not automatically copied
|
|
with gst_mini_object_copy() or similar methods.
|
|
|
|
A weak reference can be added and remove with gst_mini_object_weak_ref()
|
|
and gst_mini_object_weak_unref() respectively.</doc>
|
|
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the GType of the object</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="refcount" writable="1">
|
|
<doc xml:space="preserve">atomic refcount</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="lockstate" writable="1">
|
|
<doc xml:space="preserve">atomic state of the locks</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">extra flags.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="copy" introspectable="0" writable="1">
|
|
<doc xml:space="preserve">a copy function</doc>
|
|
<type name="MiniObjectCopyFunction" c:type="GstMiniObjectCopyFunction"/>
|
|
</field>
|
|
<field name="dispose" writable="1">
|
|
<doc xml:space="preserve">a dispose function</doc>
|
|
<type name="MiniObjectDisposeFunction" c:type="GstMiniObjectDisposeFunction"/>
|
|
</field>
|
|
<field name="free" writable="1">
|
|
<doc xml:space="preserve">the free function</doc>
|
|
<type name="MiniObjectFreeFunction" c:type="GstMiniObjectFreeFunction"/>
|
|
</field>
|
|
<field name="priv_uint" readable="0" private="1">
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="priv_pointer" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<method name="add_parent" c:identifier="gst_mini_object_add_parent" version="1.16">
|
|
<doc xml:space="preserve">This adds @parent as a parent for @object. Having one ore more parents affects the
|
|
writability of @object: if a @parent is not writable, @object is also not
|
|
writable, regardless of its refcount. @object is only writable if all
|
|
the parents are writable and its own refcount is exactly 1.
|
|
|
|
Note: This function does not take ownership of @parent and also does not
|
|
take an additional reference. It is the responsibility of the caller to
|
|
remove the parent again at a later time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">a parent #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_mini_object_copy" introspectable="0">
|
|
<doc xml:space="preserve">Creates a copy of the mini-object.
|
|
|
|
MT safe</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new mini-object if copying is
|
|
possible, %NULL otherwise.</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mini_object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini-object to copy</doc>
|
|
<type name="MiniObject" c:type="const GstMiniObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_qdata" c:identifier="gst_mini_object_get_qdata">
|
|
<doc xml:space="preserve">This function gets back user data pointers stored via
|
|
gst_mini_object_set_qdata().</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The user data pointer set, or
|
|
%NULL</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GstMiniObject to get a stored user data pointer from</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="quark" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_mini_object_init" introspectable="0">
|
|
<doc xml:space="preserve">Initializes a mini-object with the desired type and copy/dispose/free
|
|
functions.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mini_object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">initial #GstMiniObjectFlags</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType of the mini-object to create</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="copy_func" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the copy function, or %NULL</doc>
|
|
<type name="MiniObjectCopyFunction" c:type="GstMiniObjectCopyFunction"/>
|
|
</parameter>
|
|
<parameter name="dispose_func" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the dispose function, or %NULL</doc>
|
|
<type name="MiniObjectDisposeFunction" c:type="GstMiniObjectDisposeFunction"/>
|
|
</parameter>
|
|
<parameter name="free_func" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the free function or %NULL</doc>
|
|
<type name="MiniObjectFreeFunction" c:type="GstMiniObjectFreeFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_writable" c:identifier="gst_mini_object_is_writable">
|
|
<doc xml:space="preserve">If @mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE
|
|
lock on @object is the only one, this means that changes to the object will
|
|
not be visible to any other object.
|
|
|
|
If the LOCKABLE flag is not set, check if the refcount of @mini_object is
|
|
exactly 1, meaning that no other reference exists to the object and that the
|
|
object is therefore writable.
|
|
|
|
Modification of a mini-object should only be done after verifying that it
|
|
is writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the object is writable.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mini_object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini-object to check</doc>
|
|
<type name="MiniObject" c:type="const GstMiniObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="lock" c:identifier="gst_mini_object_lock">
|
|
<doc xml:space="preserve">Lock the mini-object with the specified access mode in @flags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @object could be locked.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini-object to lock</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstLockFlags</doc>
|
|
<type name="LockFlags" c:type="GstLockFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="make_writable" c:identifier="gst_mini_object_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Checks if a mini-object is writable. If not, a writable copy is made and
|
|
returned. This gives away the reference to the original mini object,
|
|
and returns a reference to the new object.
|
|
|
|
MT safe</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a mini-object (possibly the same pointer) that
|
|
is writable.</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mini_object" transfer-ownership="full">
|
|
<doc xml:space="preserve">the mini-object to make writable</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_mini_object_ref" introspectable="0">
|
|
<doc xml:space="preserve">Increase the reference count of the mini-object.
|
|
|
|
Note that the refcount affects the writability
|
|
of @mini-object, see gst_mini_object_is_writable(). It is
|
|
important to note that keeping additional references to
|
|
GstMiniObject instances can potentially increase the number
|
|
of memcpy operations in a pipeline, especially if the miniobject
|
|
is a #GstBuffer.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the mini-object.</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mini_object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini-object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_parent" c:identifier="gst_mini_object_remove_parent" version="1.16">
|
|
<doc xml:space="preserve">This removes @parent as a parent for @object. See
|
|
gst_mini_object_add_parent().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">a parent #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_qdata" c:identifier="gst_mini_object_set_qdata">
|
|
<doc xml:space="preserve">This sets an opaque, named pointer on a miniobject.
|
|
The name is specified through a #GQuark (retrieved e.g. via
|
|
g_quark_from_static_string()), and the pointer
|
|
can be gotten back from the @object with gst_mini_object_get_qdata()
|
|
until the @object is disposed.
|
|
Setting a previously set user data pointer, overrides (frees)
|
|
the old pointer set, using %NULL as pointer essentially
|
|
removes the data stored.
|
|
|
|
@destroy may be specified which is called with @data as argument
|
|
when the @object is disposed, or the data is being overwritten by
|
|
a call to gst_mini_object_set_qdata() with the same @quark.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="quark" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">An opaque user data pointer</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="destroy" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">Function to invoke with @data as argument, when @data
|
|
needs to be freed</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="steal_qdata" c:identifier="gst_mini_object_steal_qdata">
|
|
<doc xml:space="preserve">This function gets back user data pointers stored via gst_mini_object_set_qdata()
|
|
and removes the data from @object without invoking its `destroy()` function (if
|
|
any was set).</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The user data pointer set, or
|
|
%NULL</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The GstMiniObject to get a stored user data pointer from</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="quark" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unlock" c:identifier="gst_mini_object_unlock">
|
|
<doc xml:space="preserve">Unlock the mini-object with the specified access mode in @flags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini-object to unlock</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstLockFlags</doc>
|
|
<type name="LockFlags" c:type="GstLockFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_mini_object_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decreases the reference count of the mini-object, possibly freeing
|
|
the mini-object.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="mini_object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini-object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="weak_ref" c:identifier="gst_mini_object_weak_ref" introspectable="0">
|
|
<doc xml:space="preserve">Adds a weak reference callback to a mini object. Weak references are
|
|
used for notification when a mini object is finalized. They are called
|
|
"weak references" because they allow you to safely hold a pointer
|
|
to the mini object without calling gst_mini_object_ref()
|
|
(gst_mini_object_ref() adds a strong reference, that is, forces the object
|
|
to stay alive).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMiniObject to reference weakly</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="notify" transfer-ownership="none" closure="1">
|
|
<doc xml:space="preserve">callback to invoke before the mini object is freed</doc>
|
|
<type name="MiniObjectNotify" c:type="GstMiniObjectNotify"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">extra data to pass to notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="weak_unref" c:identifier="gst_mini_object_weak_unref" introspectable="0">
|
|
<doc xml:space="preserve">Removes a weak reference callback from a mini object.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMiniObject to remove a weak reference from</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="notify" transfer-ownership="none" closure="1">
|
|
<doc xml:space="preserve">callback to search for</doc>
|
|
<type name="MiniObjectNotify" c:type="GstMiniObjectNotify"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">data to search for</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="replace" c:identifier="gst_mini_object_replace">
|
|
<doc xml:space="preserve">Atomically modifies a pointer to point to a new mini-object.
|
|
The reference count of @olddata is decreased and the reference count of
|
|
@newdata is increased.
|
|
|
|
Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newdata was different from @olddata</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="olddata" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer to a
|
|
mini-object to be replaced</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
<parameter name="newdata" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to new mini-object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="steal" c:identifier="gst_mini_object_steal" introspectable="0">
|
|
<doc xml:space="preserve">Replace the current #GstMiniObject pointer to by @olddata with %NULL and
|
|
return the old value.</doc>
|
|
|
|
<return-value nullable="1">
|
|
<doc xml:space="preserve">the #GstMiniObject at @oldata</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="olddata" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a pointer to a mini-object to
|
|
be stolen</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="take" c:identifier="gst_mini_object_take">
|
|
<doc xml:space="preserve">Modifies a pointer to point to a new mini-object. The modification
|
|
is done atomically. This version is similar to gst_mini_object_replace()
|
|
except that it does not increase the refcount of @newdata and thus
|
|
takes ownership of @newdata.
|
|
|
|
Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newdata was different from @olddata</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="olddata" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a pointer to a mini-object to
|
|
be replaced</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
<parameter name="newdata" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to new mini-object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<callback name="MiniObjectCopyFunction" c:type="GstMiniObjectCopyFunction" introspectable="0">
|
|
<doc xml:space="preserve">Function prototype for methods to create copies of instances.</doc>
|
|
|
|
<return-value>
|
|
<doc xml:space="preserve">reference to cloned instance.</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="obj" transfer-ownership="none">
|
|
<doc xml:space="preserve">MiniObject to copy</doc>
|
|
<type name="MiniObject" c:type="const GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MiniObjectDisposeFunction" c:type="GstMiniObjectDisposeFunction">
|
|
<doc xml:space="preserve">Function prototype for when a miniobject has lost its last refcount.
|
|
Implementation of the mini object are allowed to revive the
|
|
passed object by doing a gst_mini_object_ref(). If the object is not
|
|
revived after the dispose function, the function should return %TRUE
|
|
and the memory associated with the object is freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the object should be cleaned up.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="obj" transfer-ownership="none">
|
|
<doc xml:space="preserve">MiniObject to dispose</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<bitfield name="MiniObjectFlags" glib:type-name="GstMiniObjectFlags" glib:get-type="gst_mini_object_flags_get_type" c:type="GstMiniObjectFlags">
|
|
<doc xml:space="preserve">Flags for the mini object</doc>
|
|
<member name="lockable" value="1" c:identifier="GST_MINI_OBJECT_FLAG_LOCKABLE" glib:nick="lockable">
|
|
<doc xml:space="preserve">the object can be locked and unlocked with
|
|
gst_mini_object_lock() and gst_mini_object_unlock().</doc>
|
|
</member>
|
|
<member name="lock_readonly" value="2" c:identifier="GST_MINI_OBJECT_FLAG_LOCK_READONLY" glib:nick="lock-readonly">
|
|
<doc xml:space="preserve">the object is permanently locked in
|
|
READONLY mode. Only read locks can be performed on the object.</doc>
|
|
</member>
|
|
<member name="may_be_leaked" value="4" c:identifier="GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED" glib:nick="may-be-leaked">
|
|
<doc xml:space="preserve">the object is expected to stay alive
|
|
even after gst_deinit() has been called and so should be ignored by leak
|
|
detection tools. (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="last" value="16" c:identifier="GST_MINI_OBJECT_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">first flag that can be used by subclasses.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="MiniObjectFreeFunction" c:type="GstMiniObjectFreeFunction">
|
|
<doc xml:space="preserve">Virtual function prototype for methods to free resources used by
|
|
mini-objects.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="obj" transfer-ownership="none">
|
|
<doc xml:space="preserve">MiniObject to free</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="MiniObjectNotify" c:type="GstMiniObjectNotify">
|
|
<doc xml:space="preserve">A #GstMiniObjectNotify function can be added to a mini object as a
|
|
callback that gets triggered when gst_mini_object_unref() drops the
|
|
last ref and @obj is about to be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="0">
|
|
<doc xml:space="preserve">data that was provided when the notify was added</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="obj" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mini object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<constant name="NSECOND" value="1" c:type="GST_NSECOND">
|
|
<doc xml:space="preserve">Constant that defines one GStreamer nanosecond</doc>
|
|
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</constant>
|
|
<function-macro name="OBJECT" c:identifier="GST_OBJECT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_CAST" c:identifier="GST_OBJECT_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_CLASS" c:identifier="GST_OBJECT_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_CLASS_CAST" c:identifier="GST_OBJECT_CLASS_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_FLAGS" c:identifier="GST_OBJECT_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the entire set of flags for the object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_FLAG_IS_SET" c:identifier="GST_OBJECT_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">This macro checks to see if the given flag is set.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to check for</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_FLAG_SET" c:identifier="GST_OBJECT_FLAG_SET" introspectable="0">
|
|
<doc xml:space="preserve">This macro sets the given bits.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to set</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_FLAG_UNSET" c:identifier="GST_OBJECT_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">This macro unsets the given bits.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to set</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_GET_CLASS" c:identifier="GST_OBJECT_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_GET_LOCK" c:identifier="GST_OBJECT_GET_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Acquire a reference to the mutex of this object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_LOCK" c:identifier="GST_OBJECT_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">This macro will obtain a lock on the object, making serialization possible.
|
|
It blocks until the lock can be obtained.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject to lock</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_NAME" c:identifier="GST_OBJECT_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Get the name of this object. This is not thread-safe by default
|
|
(i.e. you will have to make sure the object lock is taken yourself).
|
|
If in doubt use gst_object_get_name() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_PARENT" c:identifier="GST_OBJECT_PARENT" introspectable="0">
|
|
<doc xml:space="preserve">Get the parent of this object. This is not thread-safe by default
|
|
(i.e. you will have to make sure the object lock is taken yourself).
|
|
If in doubt use gst_object_get_parent() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_REFCOUNT" c:identifier="GST_OBJECT_REFCOUNT" introspectable="0">
|
|
<doc xml:space="preserve">Get access to the reference count field of the object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_REFCOUNT_VALUE" c:identifier="GST_OBJECT_REFCOUNT_VALUE" introspectable="0">
|
|
<doc xml:space="preserve">Get the reference count value of the object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_TRYLOCK" c:identifier="GST_OBJECT_TRYLOCK" introspectable="0">
|
|
<doc xml:space="preserve">This macro will try to obtain a lock on the object, but will return with
|
|
%FALSE if it can't get it immediately.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="OBJECT_UNLOCK" c:identifier="GST_OBJECT_UNLOCK" introspectable="0">
|
|
<doc xml:space="preserve">This macro releases a lock on the object.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstObject to unlock.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="Object" c:symbol-prefix="object" c:type="GstObject" parent="GObject.InitiallyUnowned" abstract="1" glib:type-name="GstObject" glib:get-type="gst_object_get_type" glib:type-struct="ObjectClass">
|
|
<doc xml:space="preserve">#GstObject provides a root for the object hierarchy tree filed in by the
|
|
GStreamer library. It is currently a thin wrapper on top of
|
|
#GInitiallyUnowned. It is an abstract class that is not very usable on its own.
|
|
|
|
#GstObject gives us basic refcounting, parenting functionality and locking.
|
|
Most of the functions are just extended for special GStreamer needs and can be
|
|
found under the same name in the base class of #GstObject which is #GObject
|
|
(e.g. g_object_ref() becomes gst_object_ref()).
|
|
|
|
Since #GstObject derives from #GInitiallyUnowned, it also inherits the
|
|
floating reference. Be aware that functions such as gst_bin_add() and
|
|
gst_element_add_pad() take ownership of the floating reference.
|
|
|
|
In contrast to #GObject instances, #GstObject adds a name property. The functions
|
|
gst_object_set_name() and gst_object_get_name() are used to set/get the name
|
|
of the object.
|
|
|
|
## controlled properties
|
|
|
|
Controlled properties offers a lightweight way to adjust gobject properties
|
|
over stream-time. It works by using time-stamped value pairs that are queued
|
|
for element-properties. At run-time the elements continuously pull value
|
|
changes for the current stream-time.
|
|
|
|
What needs to be changed in a #GstElement?
|
|
Very little - it is just two steps to make a plugin controllable!
|
|
|
|
* mark gobject-properties paramspecs that make sense to be controlled,
|
|
by GST_PARAM_CONTROLLABLE.
|
|
|
|
* when processing data (get, chain, loop function) at the beginning call
|
|
gst_object_sync_values(element,timestamp).
|
|
This will make the controller update all GObject properties that are
|
|
under its control with the current values based on the timestamp.
|
|
|
|
What needs to be done in applications? Again it's not a lot to change.
|
|
|
|
* create a #GstControlSource.
|
|
csource = gst_interpolation_control_source_new ();
|
|
g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
|
|
|
|
* Attach the #GstControlSource on the controller to a property.
|
|
gst_object_add_control_binding (object, gst_direct_control_binding_new (object, "prop1", csource));
|
|
|
|
* Set the control values
|
|
gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,0 * GST_SECOND, value1);
|
|
gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,1 * GST_SECOND, value2);
|
|
|
|
* start your pipeline</doc>
|
|
|
|
<function name="check_uniqueness" c:identifier="gst_object_check_uniqueness">
|
|
<doc xml:space="preserve">Checks to see if there is any object named @name in @list. This function
|
|
does not do any locking of any kind. You might want to protect the
|
|
provided list with the lock of the owner of the list. This function
|
|
will lock each #GstObject in the list to compare the name, so be
|
|
careful when passing a list with a locked object.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if a #GstObject named @name does not appear in @list,
|
|
%FALSE if it does.
|
|
|
|
MT safe. Grabs and releases the LOCK of each object in the list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a list of #GstObject to
|
|
check through</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Object"/>
|
|
</type>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name to search for</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="default_deep_notify" c:identifier="gst_object_default_deep_notify">
|
|
<doc xml:space="preserve">A default deep_notify signal callback for an object. The user data
|
|
should contain a pointer to an array of strings that should be excluded
|
|
from the notify. The default handler will print the new value of the property
|
|
using g_print.
|
|
|
|
MT safe. This function grabs and releases @object's LOCK for getting its
|
|
path string.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GObject that signalled the notify.</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="orig" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject that initiated the notify.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GParamSpec of the property.</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</parameter>
|
|
<parameter name="excluded_props" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
a set of user-specified properties to exclude or %NULL to show
|
|
all changes.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="ref_sink" c:identifier="gst_object_ref_sink" introspectable="0">
|
|
<doc xml:space="preserve">Increase the reference count of @object, and possibly remove the floating
|
|
reference, if @object has a floating reference.
|
|
|
|
In other words, if the object is floating, then this call "assumes ownership"
|
|
of the floating reference, converting it to a normal reference by clearing
|
|
the floating flag while leaving the reference count unchanged. If the object
|
|
is not floating, then this call adds a new normal reference increasing the
|
|
reference count by one.
|
|
|
|
For more background on "floating references" please see the #GObject
|
|
documentation.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstObject to sink</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="replace" c:identifier="gst_object_replace">
|
|
<doc xml:space="preserve">Atomically modifies a pointer to point to a new object.
|
|
The reference count of @oldobj is decreased and the reference count of
|
|
@newobj is increased.
|
|
|
|
Either @newobj and the value pointed to by @oldobj may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newobj was different from @oldobj</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oldobj" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a place of
|
|
a #GstObject to replace</doc>
|
|
<type name="Object" c:type="GstObject**"/>
|
|
</parameter>
|
|
<parameter name="newobj" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a new #GstObject</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="deep_notify">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="orig" transfer-ownership="none">
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_control_binding" c:identifier="gst_object_add_control_binding">
|
|
<doc xml:space="preserve">Attach the #GstControlBinding to the object. If there already was a
|
|
#GstControlBinding for this property it will be replaced.
|
|
|
|
The object's reference count will be incremented, and any floating
|
|
reference will be removed (see gst_object_ref_sink())</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the given @binding has not been setup for this object or
|
|
has been setup for a non suitable property, %TRUE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the controller object</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstControlBinding that should be used</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="default_error" c:identifier="gst_object_default_error">
|
|
<doc xml:space="preserve">A default error function that uses g_printerr() to display the error message
|
|
and the optional debug string..
|
|
|
|
The default handler will simply print the error string using g_print.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstObject that initiated the error.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GError.</doc>
|
|
<type name="GLib.Error" c:type="const GError*"/>
|
|
</parameter>
|
|
<parameter name="debug" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an additional debug information string, or %NULL</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_control_binding" c:identifier="gst_object_get_control_binding">
|
|
<doc xml:space="preserve">Gets the corresponding #GstControlBinding for the property. This should be
|
|
unreferenced again after use.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstControlBinding for
|
|
@property_name or %NULL if the property is not controlled.</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the property</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_control_rate" c:identifier="gst_object_get_control_rate">
|
|
<doc xml:space="preserve">Obtain the control-rate for this @object. Audio processing #GstElement
|
|
objects will use this rate to sub-divide their processing loop and call
|
|
gst_object_sync_values() in between. The length of the processing segment
|
|
should be up to @control-rate nanoseconds.
|
|
|
|
If the @object is not under property control, this will return
|
|
%GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing.
|
|
|
|
The control-rate is not expected to change if the element is in
|
|
%GST_STATE_PAUSED or %GST_STATE_PLAYING.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the control rate in nanoseconds</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_g_value_array" c:identifier="gst_object_get_g_value_array">
|
|
<doc xml:space="preserve">Gets a number of #GValues for the given controlled property starting at the
|
|
requested time. The array @values need to hold enough space for @n_values of
|
|
#GValue.
|
|
|
|
This function is useful if one wants to e.g. draw a graph of the control
|
|
curve or apply a control curve sample by sample.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<array length="3" zero-terminated="0" c:type="GValue*">
|
|
<type name="GObject.Value" c:type="GValue"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name" c:identifier="gst_object_get_name">
|
|
<doc xml:space="preserve">Returns a copy of the name of @object.
|
|
Caller should g_free() the return value after usage.
|
|
For a nameless object, this returns %NULL, which you can safely g_free()
|
|
as well.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the name of @object. g_free()
|
|
after usage.
|
|
|
|
MT safe. This function grabs and releases @object's LOCK.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_parent" c:identifier="gst_object_get_parent">
|
|
<doc xml:space="preserve">Returns the parent of @object. This function increases the refcount
|
|
of the parent object so you should gst_object_unref() it after usage.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">parent of @object, this can be
|
|
%NULL if @object has no parent. unref after usage.
|
|
|
|
MT safe. Grabs and releases @object's LOCK.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_path_string" c:identifier="gst_object_get_path_string">
|
|
<doc xml:space="preserve">Generates a string describing the path of @object in
|
|
the object hierarchy. Only useful (or used) for debugging.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string describing the path of @object. You must
|
|
g_free() the string after usage.
|
|
|
|
MT safe. Grabs and releases the #GstObject's LOCK for all objects
|
|
in the hierarchy.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value" c:identifier="gst_object_get_value">
|
|
<doc xml:space="preserve">Gets the value for the given controlled property at the requested time.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the GValue of the property at the given time,
|
|
or %NULL if the property isn't controlled.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time the control-change should be read from</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value_array" c:identifier="gst_object_get_value_array" introspectable="0">
|
|
<doc xml:space="preserve">Gets a number of values for the given controlled property starting at the
|
|
requested time. The array @values need to hold enough space for @n_values of
|
|
the same type as the objects property's type.
|
|
|
|
This function is useful if one wants to e.g. draw a graph of the control
|
|
curve or apply a control curve sample by sample.
|
|
|
|
The values are unboxed and ready to be used. The similar function
|
|
gst_object_get_g_value_array() returns the array as #GValues and is
|
|
better suites for bindings.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time spacing between subsequent values</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="n_values" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="values" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">array to put control-values in</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_active_control_bindings" c:identifier="gst_object_has_active_control_bindings">
|
|
<doc xml:space="preserve">Check if the @object has active controlled properties.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the object has active controlled properties</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_ancestor" c:identifier="gst_object_has_ancestor" deprecated="1">
|
|
<doc xml:space="preserve">Check if @object has an ancestor @ancestor somewhere up in
|
|
the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.</doc>
|
|
<doc-deprecated xml:space="preserve">Use gst_object_has_as_ancestor() instead.
|
|
|
|
MT safe. Grabs and releases @object's locks.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @ancestor is an ancestor of @object.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to check</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="ancestor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to check as ancestor</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_as_ancestor" c:identifier="gst_object_has_as_ancestor">
|
|
<doc xml:space="preserve">Check if @object has an ancestor @ancestor somewhere up in
|
|
the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @ancestor is an ancestor of @object.
|
|
|
|
MT safe. Grabs and releases @object's locks.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to check</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="ancestor" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to check as ancestor</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_as_parent" c:identifier="gst_object_has_as_parent" version="1.6">
|
|
<doc xml:space="preserve">Check if @parent is the parent of @object.
|
|
E.g. a #GstElement can check if it owns a given #GstPad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if either @object or @parent is %NULL. %TRUE if @parent is
|
|
the parent of @object. Otherwise %FALSE.
|
|
|
|
MT safe. Grabs and releases @object's locks.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to check</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to check as parent</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_object_ref">
|
|
<doc xml:space="preserve">Increments the reference count on @object. This function
|
|
does not take the lock on @object because it relies on
|
|
atomic refcounting.
|
|
|
|
This object returns the input parameter to ease writing
|
|
constructs like :
|
|
result = gst_object_ref (object->parent);</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to @object</doc>
|
|
<type name="Object" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to reference</doc>
|
|
<type name="Object" c:type="gpointer"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_control_binding" c:identifier="gst_object_remove_control_binding">
|
|
<doc xml:space="preserve">Removes the corresponding #GstControlBinding. If it was the
|
|
last ref of the binding, it will be disposed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the binding could be removed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="binding" transfer-ownership="none">
|
|
<doc xml:space="preserve">the binding</doc>
|
|
<type name="ControlBinding" c:type="GstControlBinding*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_control_binding_disabled" c:identifier="gst_object_set_control_binding_disabled">
|
|
<doc xml:space="preserve">This function is used to disable the control bindings on a property for
|
|
some time, i.e. gst_object_sync_values() will do nothing for the
|
|
property.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">property to disable</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="disabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">boolean that specifies whether to disable the controller
|
|
or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_control_bindings_disabled" c:identifier="gst_object_set_control_bindings_disabled">
|
|
<doc xml:space="preserve">This function is used to disable all controlled properties of the @object for
|
|
some time, i.e. gst_object_sync_values() will do nothing.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="disabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">boolean that specifies whether to disable the controller
|
|
or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_control_rate" c:identifier="gst_object_set_control_rate">
|
|
<doc xml:space="preserve">Change the control-rate for this @object. Audio processing #GstElement
|
|
objects will use this rate to sub-divide their processing loop and call
|
|
gst_object_sync_values() in between. The length of the processing segment
|
|
should be up to @control-rate nanoseconds.
|
|
|
|
The control-rate should not change if the element is in %GST_STATE_PAUSED or
|
|
%GST_STATE_PLAYING.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="control_rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new control-rate in nanoseconds.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_name" c:identifier="gst_object_set_name">
|
|
<doc xml:space="preserve">Sets the name of @object, or gives @object a guaranteed unique
|
|
name (if @name is %NULL).
|
|
This function makes a copy of the provided name, so the caller
|
|
retains ownership of the name it sent.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the name could be set. Since Objects that have
|
|
a parent cannot be renamed, this function returns %FALSE in those
|
|
cases.
|
|
|
|
MT safe. This function grabs and releases @object's LOCK.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">new name of object</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_parent" c:identifier="gst_object_set_parent">
|
|
<doc xml:space="preserve">Sets the parent of @object to @parent. The object's reference count will
|
|
be incremented, and any floating reference will be removed (see gst_object_ref_sink()).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @parent could be set or %FALSE when @object
|
|
already had a parent or @object and @parent are the same.
|
|
|
|
MT safe. Grabs and releases @object's LOCK.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">new parent of object</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="suggest_next_sync" c:identifier="gst_object_suggest_next_sync">
|
|
<doc xml:space="preserve">Returns a suggestion for timestamps where buffers should be split
|
|
to get best controller results.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Returns the suggested timestamp or %GST_CLOCK_TIME_NONE
|
|
if no control-rate was set.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sync_values" c:identifier="gst_object_sync_values">
|
|
<doc xml:space="preserve">Sets the properties of the object, according to the #GstControlSources that
|
|
(maybe) handle them and for the given timestamp.
|
|
|
|
If this function fails, it is most likely the application developers fault.
|
|
Most probably the control sources are not setup correctly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the controller values could be applied to the object
|
|
properties, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that has controlled properties</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the time that should be processed</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unparent" c:identifier="gst_object_unparent">
|
|
<doc xml:space="preserve">Clear the parent of @object, removing the associated reference.
|
|
This function decreases the refcount of @object.
|
|
|
|
MT safe. Grabs and releases @object's lock.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to unparent</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_object_unref">
|
|
<doc xml:space="preserve">Decrements the reference count on @object. If reference count hits
|
|
zero, destroy @object. This function does not take the lock
|
|
on @object as it relies on atomic refcounting.
|
|
|
|
The unref method should never be called with the LOCK held since
|
|
this might deadlock the dispose function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstObject to unreference</doc>
|
|
<type name="Object" c:type="gpointer"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="name" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="parent" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The parent of the object. Please note, that when changing the 'parent'
|
|
property, we don't emit #GObject::notify and #GstObject::deep-notify
|
|
signals due to locking issues. In some cases one can use
|
|
#GstBin::element-added or #GstBin::element-removed signals on the parent to
|
|
achieve a similar effect.</doc>
|
|
<type name="Object"/>
|
|
</property>
|
|
<field name="object">
|
|
<type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
|
|
</field>
|
|
<field name="lock">
|
|
<doc xml:space="preserve">object LOCK</doc>
|
|
<type name="GLib.Mutex" c:type="GMutex"/>
|
|
</field>
|
|
<field name="name">
|
|
<doc xml:space="preserve">The name of the object</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="parent">
|
|
<doc xml:space="preserve">this object's parent, weak ref</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</field>
|
|
<field name="flags">
|
|
<doc xml:space="preserve">flags for this object</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="control_bindings" readable="0" private="1">
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<field name="control_rate" readable="0" private="1">
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="last_sync" readable="0" private="1">
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<glib:signal name="deep-notify" when="first" no-recurse="1" detailed="1" no-hooks="1">
|
|
<doc xml:space="preserve">The deep notify signal is used to be notified of property changes. It is
|
|
typically attached to the toplevel bin to receive notifications from all
|
|
the elements contained in that bin.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="prop_object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object that originated the signal</doc>
|
|
<type name="Object"/>
|
|
</parameter>
|
|
<parameter name="prop" transfer-ownership="none">
|
|
<doc xml:space="preserve">the property that changed</doc>
|
|
<type name="GObject.ParamSpec"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="ObjectClass" c:type="GstObjectClass" glib:is-gtype-struct-for="Object">
|
|
<doc xml:space="preserve">GStreamer base object class.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent</doc>
|
|
<type name="GObject.InitiallyUnownedClass" c:type="GInitiallyUnownedClass"/>
|
|
</field>
|
|
<field name="path_string_separator">
|
|
<doc xml:space="preserve">separator used by gst_object_get_path_string()</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="deep_notify">
|
|
<callback name="deep_notify">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="orig" transfer-ownership="none">
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<bitfield name="ObjectFlags" glib:type-name="GstObjectFlags" glib:get-type="gst_object_flags_get_type" c:type="GstObjectFlags">
|
|
<doc xml:space="preserve">The standard flags that an gstobject may have.</doc>
|
|
<member name="may_be_leaked" value="1" c:identifier="GST_OBJECT_FLAG_MAY_BE_LEAKED" glib:nick="may-be-leaked">
|
|
<doc xml:space="preserve">the object is expected to stay alive even
|
|
after gst_deinit() has been called and so should be ignored by leak
|
|
detection tools. (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="last" value="16" c:identifier="GST_OBJECT_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">subclasses can add additional flags starting from this flag</doc>
|
|
</member>
|
|
</bitfield>
|
|
<function-macro name="PAD" c:identifier="GST_PAD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_ACTIVATEFUNC" c:identifier="GST_PAD_ACTIVATEFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadActivateFunction from @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_ACTIVATEMODEFUNC" c:identifier="GST_PAD_ACTIVATEMODEFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadActivateModeFunction from the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_BLOCK_BROADCAST" c:identifier="GST_PAD_BLOCK_BROADCAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_BLOCK_GET_COND" c:identifier="GST_PAD_BLOCK_GET_COND" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_BLOCK_SIGNAL" c:identifier="GST_PAD_BLOCK_SIGNAL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_BLOCK_WAIT" c:identifier="GST_PAD_BLOCK_WAIT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_CAST" c:identifier="GST_PAD_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_CHAINFUNC" c:identifier="GST_PAD_CHAINFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadChainFunction from the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_CHAINLISTFUNC" c:identifier="GST_PAD_CHAINLISTFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadChainListFunction from the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_CLASS" c:identifier="GST_PAD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_DIRECTION" c:identifier="GST_PAD_DIRECTION" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadDirection of the given @pad. Accessor macro, use
|
|
gst_pad_get_direction() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_ELEMENT_PRIVATE" c:identifier="GST_PAD_ELEMENT_PRIVATE" introspectable="0">
|
|
<doc xml:space="preserve">Get the private data of @pad, which is usually some pad- or stream-specific
|
|
structure created by the element and set on the pad when creating it.
|
|
No locking is performed in this function.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_EVENTFULLFUNC" c:identifier="GST_PAD_EVENTFULLFUNC" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadEventFullFunction from the given @pad, which
|
|
is the function that handles events on the pad. You can
|
|
use this to set your own event handling function on a pad
|
|
after you create it. If your element derives from a base
|
|
class, use the base class's virtual functions instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_EVENTFUNC" c:identifier="GST_PAD_EVENTFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadEventFunction from the given @pad, which
|
|
is the function that handles events on the pad. You can
|
|
use this to set your own event handling function on a pad
|
|
after you create it. If your element derives from a base
|
|
class, use the base class's virtual functions instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_GETRANGEFUNC" c:identifier="GST_PAD_GETRANGEFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadGetRangeFunction from the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_GET_STREAM_LOCK" c:identifier="GST_PAD_GET_STREAM_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Get the stream lock of @pad. The stream lock is protecting the
|
|
resources used in the data processing functions of @pad. Accessor
|
|
macro, use GST_PAD_STREAM_LOCK() and GST_PAD_STREAM_UNLOCK() instead
|
|
to take/release the pad's stream lock.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_HAS_PENDING_EVENTS" c:identifier="GST_PAD_HAS_PENDING_EVENTS" introspectable="0">
|
|
<doc xml:space="preserve">Check if the given @pad has pending events. This is used internally by
|
|
GStreamer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_ACCEPT_INTERSECT" c:identifier="GST_PAD_IS_ACCEPT_INTERSECT" introspectable="0">
|
|
<doc xml:space="preserve">Check if the pad's accept intersect flag is set. The default accept-caps
|
|
handler will check if the caps intersect the query-caps result instead of
|
|
checking for a subset. This is interesting for parser elements that can
|
|
accept incompletely specified caps.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_ACCEPT_TEMPLATE" c:identifier="GST_PAD_IS_ACCEPT_TEMPLATE" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Check if the pad's accept caps operation will use the pad template caps.
|
|
The default accept-caps will do a query caps to get the caps, which might
|
|
be querying downstream causing unnecessary overhead. It is recommended to
|
|
implement a proper accept-caps query handler or to use this flag to prevent
|
|
recursive accept-caps handling.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_ACTIVE" c:identifier="GST_PAD_IS_ACTIVE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_BLOCKED" c:identifier="GST_PAD_IS_BLOCKED" introspectable="0">
|
|
<doc xml:space="preserve">Check if the dataflow on a @pad is blocked. Use gst_pad_is_blocked() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_BLOCKING" c:identifier="GST_PAD_IS_BLOCKING" introspectable="0">
|
|
<doc xml:space="preserve">Check if the @pad is currently blocking on a buffer or event. Use
|
|
gst_pad_is_blocking() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_EOS" c:identifier="GST_PAD_IS_EOS" introspectable="0">
|
|
<doc xml:space="preserve">Check if the @pad is in EOS state.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_FIXED_CAPS" c:identifier="GST_PAD_IS_FIXED_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Check if the given @pad is using fixed caps, which means that
|
|
once the caps are set on the @pad, the caps query function will
|
|
only return those caps. See gst_pad_use_fixed_caps().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_FLUSHING" c:identifier="GST_PAD_IS_FLUSHING" introspectable="0">
|
|
<doc xml:space="preserve">Check if the given @pad is flushing.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_LINKED" c:identifier="GST_PAD_IS_LINKED" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_PROXY_ALLOCATION" c:identifier="GST_PAD_IS_PROXY_ALLOCATION" introspectable="0">
|
|
<doc xml:space="preserve">Check if the given @pad is set as proxy allocation which means
|
|
that the default query handler will forward allocation queries to the
|
|
internally linked @pads instead of discarding them.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_PROXY_CAPS" c:identifier="GST_PAD_IS_PROXY_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Check if the given @pad is set to proxy caps. This means that the default
|
|
event and query handler will forward all events and queries to the
|
|
internally linked @pads instead of discarding them.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_PROXY_SCHEDULING" c:identifier="GST_PAD_IS_PROXY_SCHEDULING" introspectable="0">
|
|
<doc xml:space="preserve">Check if the given @pad is set to proxy scheduling queries, which means that
|
|
the default query handler will forward scheduling queries to the internally
|
|
linked @pads instead of discarding them.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_SINK" c:identifier="GST_PAD_IS_SINK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_IS_SRC" c:identifier="GST_PAD_IS_SRC" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_ITERINTLINKFUNC" c:identifier="GST_PAD_ITERINTLINKFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadIterIntLinkFunction from the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_LAST_FLOW_RETURN" c:identifier="GST_PAD_LAST_FLOW_RETURN" version="1.4" introspectable="0">
|
|
<doc xml:space="preserve">Gets the last flow return on this pad</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_LINKFUNC" c:identifier="GST_PAD_LINKFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadLinkFunction for the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_LINK_FAILED" c:identifier="GST_PAD_LINK_FAILED" introspectable="0">
|
|
<doc xml:space="preserve">Macro to test if the given #GstPadLinkReturn value indicates a failed
|
|
link step.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ret">
|
|
<doc xml:space="preserve">the #GstPadLinkReturn value</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_LINK_SUCCESSFUL" c:identifier="GST_PAD_LINK_SUCCESSFUL" introspectable="0">
|
|
<doc xml:space="preserve">Macro to test if the given #GstPadLinkReturn value indicates a successful
|
|
link step.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ret">
|
|
<doc xml:space="preserve">the #GstPadLinkReturn value</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_MODE" c:identifier="GST_PAD_MODE" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadMode of pad, which will be GST_PAD_MODE_NONE if the pad
|
|
has not been activated yet, and otherwise either GST_PAD_MODE_PUSH or
|
|
GST_PAD_MODE_PULL depending on which mode the pad was activated in.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_NAME" c:identifier="GST_PAD_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Get name of the given pad.
|
|
No locking is performed in this function, use gst_pad_get_name() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_NEEDS_PARENT" c:identifier="GST_PAD_NEEDS_PARENT" introspectable="0">
|
|
<doc xml:space="preserve">Check if there is a parent object before calling into the @pad callbacks.
|
|
This is used internally by GStreamer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_NEEDS_RECONFIGURE" c:identifier="GST_PAD_NEEDS_RECONFIGURE" introspectable="0">
|
|
<doc xml:space="preserve">Check if the @pad should be reconfigured/renegotiated.
|
|
The flag has to be unset manually after reconfiguration happened.
|
|
Use gst_pad_needs_reconfigure() or gst_pad_check_reconfigure() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PAD_TEMPLATE" c:identifier="GST_PAD_PAD_TEMPLATE" introspectable="0">
|
|
<doc xml:space="preserve">Get the @pad #GstPadTemplate. It describes the possible media types
|
|
a @pad or an element factory can handle.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PARENT" c:identifier="GST_PAD_PARENT" introspectable="0">
|
|
<doc xml:space="preserve">Get the @pad parent.
|
|
No locking is performed in this function, use gst_pad_get_parent() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PEER" c:identifier="GST_PAD_PEER" introspectable="0">
|
|
<doc xml:space="preserve">Return the pad's peer member. This member is a pointer to the linked @pad.
|
|
No locking is performed in this function, use gst_pad_get_peer() instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_BUFFER" c:identifier="GST_PAD_PROBE_INFO_BUFFER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_BUFFER_LIST" c:identifier="GST_PAD_PROBE_INFO_BUFFER_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_DATA" c:identifier="GST_PAD_PROBE_INFO_DATA" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_EVENT" c:identifier="GST_PAD_PROBE_INFO_EVENT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_FLOW_RETURN" c:identifier="GST_PAD_PROBE_INFO_FLOW_RETURN" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_ID" c:identifier="GST_PAD_PROBE_INFO_ID" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_OFFSET" c:identifier="GST_PAD_PROBE_INFO_OFFSET" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_QUERY" c:identifier="GST_PAD_PROBE_INFO_QUERY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_SIZE" c:identifier="GST_PAD_PROBE_INFO_SIZE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_PROBE_INFO_TYPE" c:identifier="GST_PAD_PROBE_INFO_TYPE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="d">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_QUERYFUNC" c:identifier="GST_PAD_QUERYFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadQueryFunction from @pad, which is the function
|
|
that handles queries on the pad. You can use this to set your
|
|
own query handling function on a pad after you create it. If your
|
|
element derives from a base class, use the base class's virtual
|
|
functions instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_SET_ACCEPT_INTERSECT" c:identifier="GST_PAD_SET_ACCEPT_INTERSECT" introspectable="0">
|
|
<doc xml:space="preserve">Set @pad to by default accept caps by intersecting the result instead of
|
|
checking for a subset. This is interesting for parser elements that can
|
|
accept incompletely specified caps.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_SET_ACCEPT_TEMPLATE" c:identifier="GST_PAD_SET_ACCEPT_TEMPLATE" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Set @pad to by default use the pad template caps to compare with
|
|
the accept caps instead of using a caps query result.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_SET_FLUSHING" c:identifier="GST_PAD_SET_FLUSHING" introspectable="0">
|
|
<doc xml:space="preserve">Set the given @pad to flushing state, which means it will not accept any
|
|
more events, queries or buffers, and return GST_FLOW_FLUSHING if any buffers
|
|
are pushed on it. This usually happens when the pad is shut down or when
|
|
a flushing seek happens. This is used inside GStreamer when flush start/stop
|
|
events pass through pads, or when an element state is changed and pads are
|
|
activated or deactivated.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_SET_PROXY_ALLOCATION" c:identifier="GST_PAD_SET_PROXY_ALLOCATION" introspectable="0">
|
|
<doc xml:space="preserve">Set @pad to proxy allocation queries, which means that the default query
|
|
handler will forward allocation queries to the internally linked @pads
|
|
instead of discarding them.
|
|
Set this if the element always outputs data in the exact same format as it
|
|
receives as input. This is just for convenience to avoid implementing some
|
|
standard query handling code in an element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_SET_PROXY_CAPS" c:identifier="GST_PAD_SET_PROXY_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Set @pad to proxy caps, so that all caps-related events and queries are
|
|
proxied down- or upstream to the other side of the element automatically.
|
|
Set this if the element always outputs data in the exact same format as it
|
|
receives as input. This is just for convenience to avoid implementing some
|
|
standard event and query handling code in an element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_SET_PROXY_SCHEDULING" c:identifier="GST_PAD_SET_PROXY_SCHEDULING" introspectable="0">
|
|
<doc xml:space="preserve">Set @pad to proxy scheduling queries, which means that the default query
|
|
handler will forward scheduling queries to the internally linked @pads
|
|
instead of discarding them. You will usually want to handle scheduling
|
|
queries explicitly if your element supports multiple scheduling modes.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_STREAM_LOCK" c:identifier="GST_PAD_STREAM_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Take the pad's stream lock. The stream lock is recursive and will be taken
|
|
when buffers or serialized downstream events are pushed on a pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_STREAM_TRYLOCK" c:identifier="GST_PAD_STREAM_TRYLOCK" introspectable="0">
|
|
<doc xml:space="preserve">Try to take the pad's stream lock, and return %TRUE if the lock could be
|
|
taken, and otherwise %FALSE.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_STREAM_UNLOCK" c:identifier="GST_PAD_STREAM_UNLOCK" introspectable="0">
|
|
<doc xml:space="preserve">Release the pad's stream lock.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TASK" c:identifier="GST_PAD_TASK" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstTask of @pad. Accessor macro used by GStreamer. Use the
|
|
gst_pad_start_task(), gst_pad_stop_task() and gst_pad_pause_task()
|
|
functions instead.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE" c:identifier="GST_PAD_TEMPLATE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_CAPS" c:identifier="GST_PAD_TEMPLATE_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Get a handle to the padtemplate #GstCaps</doc>
|
|
|
|
<parameters>
|
|
<parameter name="templ">
|
|
<doc xml:space="preserve">the template to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_CLASS" c:identifier="GST_PAD_TEMPLATE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_DIRECTION" c:identifier="GST_PAD_TEMPLATE_DIRECTION" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadDirection of the padtemplate.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="templ">
|
|
<doc xml:space="preserve">the template to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_GTYPE" c:identifier="GST_PAD_TEMPLATE_GTYPE" version="1.14" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GType of the padtemplate</doc>
|
|
|
|
<parameters>
|
|
<parameter name="templ">
|
|
<doc xml:space="preserve">the template to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_IS_FIXED" c:identifier="GST_PAD_TEMPLATE_IS_FIXED" introspectable="0">
|
|
<doc xml:space="preserve">Check if the properties of the padtemplate are fixed</doc>
|
|
|
|
<parameters>
|
|
<parameter name="templ">
|
|
<doc xml:space="preserve">the template to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_NAME_TEMPLATE" c:identifier="GST_PAD_TEMPLATE_NAME_TEMPLATE" introspectable="0">
|
|
<doc xml:space="preserve">Get the nametemplate of the padtemplate.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="templ">
|
|
<doc xml:space="preserve">the template to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_TEMPLATE_PRESENCE" c:identifier="GST_PAD_TEMPLATE_PRESENCE" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadPresence of the padtemplate.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="templ">
|
|
<doc xml:space="preserve">the template to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNLINKFUNC" c:identifier="GST_PAD_UNLINKFUNC" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstPadUnlinkFunction from the given @pad.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNSET_ACCEPT_INTERSECT" c:identifier="GST_PAD_UNSET_ACCEPT_INTERSECT" introspectable="0">
|
|
<doc xml:space="preserve">Unset accept intersect flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNSET_ACCEPT_TEMPLATE" c:identifier="GST_PAD_UNSET_ACCEPT_TEMPLATE" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Unset accept template flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNSET_FLUSHING" c:identifier="GST_PAD_UNSET_FLUSHING" introspectable="0">
|
|
<doc xml:space="preserve">Unset the flushing flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNSET_PROXY_ALLOCATION" c:identifier="GST_PAD_UNSET_PROXY_ALLOCATION" introspectable="0">
|
|
<doc xml:space="preserve">Unset proxy allocation flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNSET_PROXY_CAPS" c:identifier="GST_PAD_UNSET_PROXY_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Unset proxy caps flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PAD_UNSET_PROXY_SCHEDULING" c:identifier="GST_PAD_UNSET_PROXY_SCHEDULING" introspectable="0">
|
|
<doc xml:space="preserve">Unset proxy scheduling flag.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="PARAM_CONDITIONALLY_AVAILABLE" value="16384" c:type="GST_PARAM_CONDITIONALLY_AVAILABLE" version="1.18">
|
|
<doc xml:space="preserve">Use this flag on GObject properties of GstObject to indicate that
|
|
they might not be available depending on environment such as OS, device, etc,
|
|
so such properties will be installed conditionally only if the GstObject is
|
|
able to support it.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PARAM_CONTROLLABLE" value="512" c:type="GST_PARAM_CONTROLLABLE">
|
|
<doc xml:space="preserve">Use this flag on GObject properties to signal they can make sense to be.
|
|
controlled over time. This hint is used by the GstController.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PARAM_DOC_SHOW_DEFAULT" value="8192" c:type="GST_PARAM_DOC_SHOW_DEFAULT" version="1.18">
|
|
<doc xml:space="preserve">Use this flag on GObject properties of GstObject to indicate that
|
|
during `gst-inspect` and friends, the default value should be used
|
|
as default instead of the current value.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PARAM_MUTABLE_PAUSED" value="2048" c:type="GST_PARAM_MUTABLE_PAUSED">
|
|
<doc xml:space="preserve">Use this flag on GObject properties of GstElements to indicate that
|
|
they can be changed when the element is in the PAUSED or lower state.
|
|
This flag implies GST_PARAM_MUTABLE_READY.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PARAM_MUTABLE_PLAYING" value="4096" c:type="GST_PARAM_MUTABLE_PLAYING">
|
|
<doc xml:space="preserve">Use this flag on GObject properties of GstElements to indicate that
|
|
they can be changed when the element is in the PLAYING or lower state.
|
|
This flag implies GST_PARAM_MUTABLE_PAUSED.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PARAM_MUTABLE_READY" value="1024" c:type="GST_PARAM_MUTABLE_READY">
|
|
<doc xml:space="preserve">Use this flag on GObject properties of GstElements to indicate that
|
|
they can be changed when the element is in the READY or lower state.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="PARAM_SPEC_ARRAY_LIST" c:identifier="GST_PARAM_SPEC_ARRAY_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pspec">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PARAM_SPEC_FRACTION" c:identifier="GST_PARAM_SPEC_FRACTION" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pspec">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="PARAM_USER_SHIFT" value="65536" c:type="GST_PARAM_USER_SHIFT">
|
|
<doc xml:space="preserve">Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="PIPELINE" c:identifier="GST_PIPELINE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIPELINE_CAST" c:identifier="GST_PIPELINE_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIPELINE_CLASS" c:identifier="GST_PIPELINE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIPELINE_GET_CLASS" c:identifier="GST_PIPELINE_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN" c:identifier="GST_PLUGIN" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_CAST" c:identifier="GST_PLUGIN_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_CLASS" c:identifier="GST_PLUGIN_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_DEFINE" c:identifier="GST_PLUGIN_DEFINE" introspectable="0">
|
|
<doc xml:space="preserve">This macro needs to be used to define the entry point and meta data of a
|
|
plugin. One would use this macro to export a plugin, so that it can be used
|
|
by other applications.
|
|
|
|
The macro uses a define named PACKAGE for the #GstPluginDesc,source field.
|
|
When using autoconf, this is usually set automatically via the AC_INIT
|
|
macro, and set in config.h. If you are not using autoconf, you will need to
|
|
define PACKAGE yourself and set it to a short mnemonic string identifying
|
|
your application/package, e.g. 'someapp' or 'my-plugins-foo.
|
|
|
|
If defined, the GST_PACKAGE_RELEASE_DATETIME will also be used for the
|
|
#GstPluginDesc,release_datetime field.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="major">
|
|
<doc xml:space="preserve">major version number of the gstreamer-core that plugin was compiled for</doc>
|
|
</parameter>
|
|
<parameter name="minor">
|
|
<doc xml:space="preserve">minor version number of the gstreamer-core that plugin was compiled for</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">short, but unique name of the plugin</doc>
|
|
</parameter>
|
|
<parameter name="description">
|
|
<doc xml:space="preserve">information about the purpose of the plugin</doc>
|
|
</parameter>
|
|
<parameter name="init">
|
|
<doc xml:space="preserve">function pointer to the plugin_init method with the signature of <code>static gboolean plugin_init (GstPlugin * plugin)</code>.</doc>
|
|
</parameter>
|
|
<parameter name="version">
|
|
<doc xml:space="preserve">full version string (e.g. VERSION from config.h)</doc>
|
|
</parameter>
|
|
<parameter name="license">
|
|
<doc xml:space="preserve">under which licence the package has been released, e.g. GPL, LGPL.</doc>
|
|
</parameter>
|
|
<parameter name="package">
|
|
<doc xml:space="preserve">the package-name (e.g. PACKAGE_NAME from config.h)</doc>
|
|
</parameter>
|
|
<parameter name="origin">
|
|
<doc xml:space="preserve">a description from where the package comes from (e.g. the homepage URL)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_FEATURE" c:identifier="GST_PLUGIN_FEATURE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_FEATURE_CAST" c:identifier="GST_PLUGIN_FEATURE_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_FEATURE_CLASS" c:identifier="GST_PLUGIN_FEATURE_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_FEATURE_GET_CLASS" c:identifier="GST_PLUGIN_FEATURE_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_FEATURE_LIST_DEBUG" c:identifier="GST_PLUGIN_FEATURE_LIST_DEBUG" introspectable="0">
|
|
<doc xml:space="preserve">Debug the plugin feature names in @list.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="list">
|
|
<doc xml:space="preserve">a #GList of
|
|
plugin features</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_GET_CLASS" c:identifier="GST_PLUGIN_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_STATIC_DECLARE" c:identifier="GST_PLUGIN_STATIC_DECLARE" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">This macro can be used to initialize statically linked plugins. It is
|
|
necessary to call this macro before the plugin can be used.
|
|
It has to be used in combination with GST_PLUGIN_STATIC_REGISTER
|
|
and must be placed outside any block to declare the plugin initialization
|
|
function.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">short, but unique name of the plugin</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PLUGIN_STATIC_REGISTER" c:identifier="GST_PLUGIN_STATIC_REGISTER" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">This macro can be used to initialize statically linked plugins. It is
|
|
necessary to call this macro before the plugin can be used.
|
|
It has to be used in combination with GST_PLUGIN_STATIC_DECLARE and
|
|
calls the plugin initialization function.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">short, but unique name of the plugin</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PRESET" c:identifier="GST_PRESET" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PRESET_GET_INTERFACE" c:identifier="GST_PRESET_GET_INTERFACE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PROMISE" c:identifier="GST_PROMISE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="PROTECTION_SYSTEM_ID_CAPS_FIELD" value="protection-system" c:type="GST_PROTECTION_SYSTEM_ID_CAPS_FIELD" version="1.6">
|
|
<doc xml:space="preserve">The field name in a GstCaps that is used to signal the UUID of the protection
|
|
system.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="PROTECTION_UNSPECIFIED_SYSTEM_ID" value="unspecified-system-id" c:type="GST_PROTECTION_UNSPECIFIED_SYSTEM_ID" version="1.16">
|
|
<doc xml:space="preserve">The protection system value of the unspecified UUID.
|
|
In some cases the system protection ID is not present in the contents or in their
|
|
metadata, as encrypted WebM.
|
|
This define is used to set the value of the "system_id" field in GstProtectionEvent,
|
|
with this value, the application will use an external information to choose which
|
|
protection system to use.
|
|
|
|
Example: The matroskademux uses this value in the case of encrypted WebM,
|
|
the application will choose the appropriate protection system based on the information
|
|
received through EME API.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="PROXY_PAD" c:identifier="GST_PROXY_PAD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PROXY_PAD_CLASS" c:identifier="GST_PROXY_PAD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="PTR_FORMAT" value="paA" c:type="GST_PTR_FORMAT" introspectable="0">
|
|
<doc xml:space="preserve">printf format type used to debug GStreamer types. You can use this in
|
|
combination with GStreamer's debug logging system as well as the functions
|
|
gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf()
|
|
to pretty-print the following types: #GstCaps, #GstStructure,
|
|
#GstCapsFeatures, #GstTagList, #GstDateTime, #GstBuffer, #GstBufferList,
|
|
#GstMessage, #GstEvent, #GstQuery, #GstContext, #GstPad, #GstObject. All
|
|
#GObject types will be printed as typename plus pointer, and everything
|
|
else will simply be printed as pointer address.
|
|
|
|
This can only be used on types whose size is >= sizeof(gpointer).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<class name="Pad" c:symbol-prefix="pad" c:type="GstPad" parent="Object" glib:type-name="GstPad" glib:get-type="gst_pad_get_type" glib:type-struct="PadClass">
|
|
<doc xml:space="preserve">A #GstElement is linked to other elements via "pads", which are extremely
|
|
light-weight generic link points.
|
|
|
|
Pads have a #GstPadDirection, source pads produce data, sink pads consume
|
|
data.
|
|
|
|
Pads are typically created from a #GstPadTemplate with
|
|
gst_pad_new_from_template() and are then added to a #GstElement. This usually
|
|
happens when the element is created but it can also happen dynamically based
|
|
on the data that the element is processing or based on the pads that the
|
|
application requests.
|
|
|
|
Pads without pad templates can be created with gst_pad_new(),
|
|
which takes a direction and a name as an argument. If the name is %NULL,
|
|
then a guaranteed unique name will be assigned to it.
|
|
|
|
A #GstElement creating a pad will typically use the various
|
|
gst_pad_set_*_function\() calls to register callbacks for events, queries or
|
|
dataflow on the pads.
|
|
|
|
gst_pad_get_parent() will retrieve the #GstElement that owns the pad.
|
|
|
|
After two pads are retrieved from an element by gst_element_get_static_pad(),
|
|
the pads can be linked with gst_pad_link(). (For quick links,
|
|
you can also use gst_element_link(), which will make the obvious
|
|
link for you if it's straightforward.). Pads can be unlinked again with
|
|
gst_pad_unlink(). gst_pad_get_peer() can be used to check what the pad is
|
|
linked to.
|
|
|
|
Before dataflow is possible on the pads, they need to be activated with
|
|
gst_pad_set_active().
|
|
|
|
gst_pad_query() and gst_pad_peer_query() can be used to query various
|
|
properties of the pad and the stream.
|
|
|
|
To send a #GstEvent on a pad, use gst_pad_send_event() and
|
|
gst_pad_push_event(). Some events will be sticky on the pad, meaning that
|
|
after they pass on the pad they can be queried later with
|
|
gst_pad_get_sticky_event() and gst_pad_sticky_events_foreach().
|
|
gst_pad_get_current_caps() and gst_pad_has_current_caps() are convenience
|
|
functions to query the current sticky CAPS event on a pad.
|
|
|
|
GstElements will use gst_pad_push() and gst_pad_pull_range() to push out
|
|
or pull in a buffer.
|
|
|
|
The dataflow, events and queries that happen on a pad can be monitored with
|
|
probes that can be installed with gst_pad_add_probe(). gst_pad_is_blocked()
|
|
can be used to check if a block probe is installed on the pad.
|
|
gst_pad_is_blocking() checks if the blocking probe is currently blocking the
|
|
pad. gst_pad_remove_probe() is used to remove a previously installed probe
|
|
and unblock blocking probes if any.
|
|
|
|
Pad have an offset that can be retrieved with gst_pad_get_offset(). This
|
|
offset will be applied to the running_time of all data passing over the pad.
|
|
gst_pad_set_offset() can be used to change the offset.
|
|
|
|
Convenience functions exist to start, pause and stop the task on a pad with
|
|
gst_pad_start_task(), gst_pad_pause_task() and gst_pad_stop_task()
|
|
respectively.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_pad_new">
|
|
<doc xml:space="preserve">Creates a new pad with the given name in the given direction.
|
|
If name is %NULL, a guaranteed unique name (across all pads)
|
|
will be assigned.
|
|
This function makes a copy of the name so you can safely free the name.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a new #GstPad.
|
|
|
|
MT safe.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the new pad.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadDirection of the pad.</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_static_template" c:identifier="gst_pad_new_from_static_template">
|
|
<doc xml:space="preserve">Creates a new pad with the given name from the given static template.
|
|
If name is %NULL, a guaranteed unique name (across all pads)
|
|
will be assigned.
|
|
This function makes a copy of the name so you can safely free the name.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a new #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStaticPadTemplate to use</doc>
|
|
<type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the pad</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_template" c:identifier="gst_pad_new_from_template">
|
|
<doc xml:space="preserve">Creates a new pad with the given name from the given template.
|
|
If name is %NULL, a guaranteed unique name (across all pads)
|
|
will be assigned.
|
|
This function makes a copy of the name so you can safely free the name.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a new #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad template to use</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of the pad</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<function name="link_get_name" c:identifier="gst_pad_link_get_name" version="1.4">
|
|
<doc xml:space="preserve">Gets a string representing the given pad-link return.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a static string with the name of the pad-link return.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadLinkReturn to get the name of.</doc>
|
|
<type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="linked">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="unlinked">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="activate_mode" c:identifier="gst_pad_activate_mode">
|
|
<doc xml:space="preserve">Activates or deactivates the given pad in @mode via dispatching to the
|
|
pad's activatemodefunc. For use from within pad activation functions only.
|
|
|
|
If you don't know what this is, you probably don't want to call it.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the operation was successful.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to activate or deactivate.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested activation mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether or not the pad should be active.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_probe" c:identifier="gst_pad_add_probe">
|
|
<doc xml:space="preserve">Be notified of different states of pads. The provided callback is called for
|
|
every state that matches @mask.
|
|
|
|
Probes are called in groups: First GST_PAD_PROBE_TYPE_BLOCK probes are
|
|
called, then others, then finally GST_PAD_PROBE_TYPE_IDLE. The only
|
|
exception here are GST_PAD_PROBE_TYPE_IDLE probes that are called
|
|
immediately if the pad is already idle while calling gst_pad_add_probe().
|
|
In each of the groups, probes are called in the order in which they were
|
|
added.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an id or 0 if no probe is pending. The id can be used to remove the
|
|
probe with gst_pad_remove_probe(). When using GST_PAD_PROBE_TYPE_IDLE it can
|
|
happen that the probe can be run immediately and if the probe returns
|
|
GST_PAD_PROBE_REMOVE this functions returns 0.
|
|
|
|
MT safe.</doc>
|
|
<type name="gulong" c:type="gulong"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to add the probe to</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the probe mask</doc>
|
|
<type name="PadProbeType" c:type="GstPadProbeType"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" scope="notified" closure="2" destroy="3">
|
|
<doc xml:space="preserve">#GstPadProbeCallback that will be called with notifications of
|
|
the pad state</doc>
|
|
<type name="PadProbeCallback" c:type="GstPadProbeCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the callback</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="destroy_data" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">#GDestroyNotify for user_data</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="can_link" c:identifier="gst_pad_can_link">
|
|
<doc xml:space="preserve">Checks if the source pad and the sink pad are compatible so they can be
|
|
linked.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pads can be linked.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="srcpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="sinkpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="chain" c:identifier="gst_pad_chain">
|
|
<doc xml:space="preserve">Chain a buffer to @pad.
|
|
|
|
The function returns #GST_FLOW_FLUSHING if the pad was flushing.
|
|
|
|
If the buffer type is not acceptable for @pad (as negotiated with a
|
|
preceding GST_EVENT_CAPS event), this function returns
|
|
#GST_FLOW_NOT_NEGOTIATED.
|
|
|
|
The function proceeds calling the chain function installed on @pad (see
|
|
gst_pad_set_chain_function()) and the return value of that function is
|
|
returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
|
|
chain function.
|
|
|
|
In all cases, success or failure, the caller loses its reference to @buffer
|
|
after calling this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the pad.
|
|
|
|
MT safe.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBuffer to send, return GST_FLOW_ERROR
|
|
if not.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="chain_list" c:identifier="gst_pad_chain_list">
|
|
<doc xml:space="preserve">Chain a bufferlist to @pad.
|
|
|
|
The function returns #GST_FLOW_FLUSHING if the pad was flushing.
|
|
|
|
If @pad was not negotiated properly with a CAPS event, this function
|
|
returns #GST_FLOW_NOT_NEGOTIATED.
|
|
|
|
The function proceeds calling the chainlist function installed on @pad (see
|
|
gst_pad_set_chain_list_function()) and the return value of that function is
|
|
returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
|
|
chainlist function.
|
|
|
|
In all cases, success or failure, the caller loses its reference to @list
|
|
after calling this function.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the pad.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBufferList to send, return GST_FLOW_ERROR
|
|
if not.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="check_reconfigure" c:identifier="gst_pad_check_reconfigure">
|
|
<doc xml:space="preserve">Check and clear the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE
|
|
if the flag was set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on @pad.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to check</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create_stream_id" c:identifier="gst_pad_create_stream_id">
|
|
<doc xml:space="preserve">Creates a stream-id for the source #GstPad @pad by combining the
|
|
upstream information with the optional @stream_id of the stream
|
|
of @pad. @pad must have a parent #GstElement and which must have zero
|
|
or one sinkpad. @stream_id can only be %NULL if the parent element
|
|
of @pad has only a single source pad.
|
|
|
|
This function generates an unique stream-id by getting the upstream
|
|
stream-start event stream ID and appending @stream_id to it. If the
|
|
element has no sinkpad it will generate an upstream stream-id by
|
|
doing an URI query on the element and in the worst case just uses
|
|
a random number. Source elements that don't implement the URI
|
|
handler interface should ideally generate a unique, deterministic
|
|
stream-id manually instead.
|
|
|
|
Since stream IDs are sorted alphabetically, any numbers in the
|
|
stream ID should be printed with a fixed number of characters,
|
|
preceded by 0's, such as by using the format \%03u instead of \%u.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A stream-id for @pad. g_free() after usage.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">A source #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">Parent #GstElement of @pad</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="stream_id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The stream-id</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create_stream_id_printf" c:identifier="gst_pad_create_stream_id_printf" introspectable="0">
|
|
<doc xml:space="preserve">Creates a stream-id for the source #GstPad @pad by combining the
|
|
upstream information with the optional @stream_id of the stream
|
|
of @pad. @pad must have a parent #GstElement and which must have zero
|
|
or one sinkpad. @stream_id can only be %NULL if the parent element
|
|
of @pad has only a single source pad.
|
|
|
|
This function generates an unique stream-id by getting the upstream
|
|
stream-start event stream ID and appending @stream_id to it. If the
|
|
element has no sinkpad it will generate an upstream stream-id by
|
|
doing an URI query on the element and in the worst case just uses
|
|
a random number. Source elements that don't implement the URI
|
|
handler interface should ideally generate a unique, deterministic
|
|
stream-id manually instead.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A stream-id for @pad. g_free() after usage.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">A source #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">Parent #GstElement of @pad</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="stream_id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The stream-id</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">parameters for the @stream_id format string</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create_stream_id_printf_valist" c:identifier="gst_pad_create_stream_id_printf_valist" introspectable="0">
|
|
<doc xml:space="preserve">Creates a stream-id for the source #GstPad @pad by combining the
|
|
upstream information with the optional @stream_id of the stream
|
|
of @pad. @pad must have a parent #GstElement and which must have zero
|
|
or one sinkpad. @stream_id can only be %NULL if the parent element
|
|
of @pad has only a single source pad.
|
|
|
|
This function generates an unique stream-id by getting the upstream
|
|
stream-start event stream ID and appending @stream_id to it. If the
|
|
element has no sinkpad it will generate an upstream stream-id by
|
|
doing an URI query on the element and in the worst case just uses
|
|
a random number. Source elements that don't implement the URI
|
|
handler interface should ideally generate a unique, deterministic
|
|
stream-id manually instead.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A stream-id for @pad. g_free() after usage.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">A source #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">Parent #GstElement of @pad</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
<parameter name="stream_id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The stream-id</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">parameters for the @stream_id format string</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="event_default" c:identifier="gst_pad_event_default">
|
|
<doc xml:space="preserve">Invokes the default event handler for the given pad.
|
|
|
|
The EOS event will pause the task associated with @pad before it is forwarded
|
|
to all internally linked pads,
|
|
|
|
The event is sent to all pads internally linked to @pad. This function
|
|
takes ownership of @event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was sent successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to call the default event handler on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to handle.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="forward" c:identifier="gst_pad_forward">
|
|
<doc xml:space="preserve">Calls @forward for all internally linked pads of @pad. This function deals with
|
|
dynamically changing internal pads and will make sure that the @forward
|
|
function is only called once for each pad.
|
|
|
|
When @forward returns %TRUE, no further pads will be processed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if one of the dispatcher functions returned %TRUE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="forward" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a #GstPadForwardFunction</doc>
|
|
<type name="PadForwardFunction" c:type="GstPadForwardFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @forward</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_allowed_caps" c:identifier="gst_pad_get_allowed_caps">
|
|
<doc xml:space="preserve">Gets the capabilities of the allowed media types that can flow through
|
|
@pad and its peer.
|
|
|
|
The allowed capabilities is calculated as the intersection of the results of
|
|
calling gst_pad_query_caps() on @pad and its peer. The caller owns a reference
|
|
on the resulting caps.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the allowed #GstCaps of the
|
|
pad link. Unref the caps when you no longer need it. This
|
|
function returns %NULL when @pad has no peer.
|
|
|
|
MT safe.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_current_caps" c:identifier="gst_pad_get_current_caps">
|
|
<doc xml:space="preserve">Gets the capabilities currently configured on @pad with the last
|
|
#GST_EVENT_CAPS event.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the current caps of the pad with
|
|
incremented ref-count or %NULL when pad has no caps. Unref after usage.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to get the current capabilities of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_direction" c:identifier="gst_pad_get_direction">
|
|
<doc xml:space="preserve">Gets the direction of the pad. The direction of the pad is
|
|
decided at construction time so this function does not take
|
|
the LOCK.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadDirection of the pad.
|
|
|
|
MT safe.</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to get the direction of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_element_private" c:identifier="gst_pad_get_element_private">
|
|
<doc xml:space="preserve">Gets the private data of a pad.
|
|
No locking is performed in this function.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #gpointer to the private data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to get the private data of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_last_flow_return" c:identifier="gst_pad_get_last_flow_return" version="1.4">
|
|
<doc xml:space="preserve">Gets the #GstFlowReturn return from the last data passed by this pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_offset" c:identifier="gst_pad_get_offset">
|
|
<doc xml:space="preserve">Get the offset applied to the running time of @pad. @pad has to be a source
|
|
pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pad_template" c:identifier="gst_pad_get_pad_template">
|
|
<doc xml:space="preserve">Gets the template for @pad.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstPadTemplate from which
|
|
this pad was instantiated, or %NULL if this pad has no
|
|
template. Unref after usage.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pad_template_caps" c:identifier="gst_pad_get_pad_template_caps">
|
|
<doc xml:space="preserve">Gets the capabilities for @pad's template.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps of this pad template.
|
|
Unref after usage.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to get the template capabilities from.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_parent_element" c:identifier="gst_pad_get_parent_element">
|
|
<doc xml:space="preserve">Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or
|
|
its parent is not an element, return %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the parent of the pad. The
|
|
caller has a reference on the parent, so unref when you're finished
|
|
with it.
|
|
|
|
MT safe.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_peer" c:identifier="gst_pad_get_peer">
|
|
<doc xml:space="preserve">Gets the peer of @pad. This function refs the peer pad so
|
|
you need to unref it after use.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the peer #GstPad. Unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to get the peer of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_range" c:identifier="gst_pad_get_range">
|
|
<doc xml:space="preserve">When @pad is flushing this function returns #GST_FLOW_FLUSHING
|
|
immediately and @buffer is %NULL.
|
|
|
|
Calls the getrange function of @pad, see #GstPadGetRangeFunction for a
|
|
description of a getrange function. If @pad has no getrange function
|
|
installed (see gst_pad_set_getrange_function()) this function returns
|
|
#GST_FLOW_NOT_SUPPORTED.
|
|
|
|
If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be
|
|
placed in @buffer when this function returns #GST_FLOW_OK. The new buffer
|
|
must be freed with gst_buffer_unref() after usage.
|
|
|
|
When @buffer points to a variable that points to a valid #GstBuffer, the
|
|
buffer will be filled with the result data when this function returns
|
|
#GST_FLOW_OK. If the provided buffer is larger than @size, only
|
|
@size bytes will be filled in the result buffer and its size will be updated
|
|
accordingly.
|
|
|
|
Note that less than @size bytes can be returned in @buffer when, for example,
|
|
an EOS condition is near or when @buffer is not large enough to hold @size
|
|
bytes. The caller should check the result buffer size to get the result size.
|
|
|
|
When this function returns any other result value than #GST_FLOW_OK, @buffer
|
|
will be unchanged.
|
|
|
|
This is a lowlevel function. Usually gst_pad_pull_range() is used.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the pad.
|
|
|
|
MT safe.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a src #GstPad, returns #GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The start offset of the buffer</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">The length of the buffer</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to hold the #GstBuffer,
|
|
returns #GST_FLOW_ERROR if %NULL.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_single_internal_link" c:identifier="gst_pad_get_single_internal_link" version="1.18">
|
|
<doc xml:space="preserve">If there is a single internal link of the given pad, this function will
|
|
return it. Otherwise, it will return NULL.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstPad, or %NULL if @pad has none
|
|
or more than one internal links. Unref returned pad with
|
|
gst_object_unref().</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to get the internal link of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sticky_event" c:identifier="gst_pad_get_sticky_event">
|
|
<doc xml:space="preserve">Returns a new reference of the sticky event of type @event_type
|
|
from the event.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstEvent of type
|
|
@event_type or %NULL when no event of @event_type was on
|
|
@pad. Unref after usage.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to get the event from.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="event_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstEventType that should be retrieved.</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
<parameter name="idx" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of the event</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream" c:identifier="gst_pad_get_stream" version="1.10">
|
|
<doc xml:space="preserve">Returns the current #GstStream for the @pad, or %NULL if none has been
|
|
set yet, i.e. the pad has not received a stream-start event yet.
|
|
|
|
This is a convenience wrapper around gst_pad_get_sticky_event() and
|
|
gst_event_parse_stream().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the current #GstStream for @pad, or %NULL.
|
|
unref the returned stream when no longer needed.</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">A source #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream_id" c:identifier="gst_pad_get_stream_id" version="1.2">
|
|
<doc xml:space="preserve">Returns the current stream-id for the @pad, or %NULL if none has been
|
|
set yet, i.e. the pad has not received a stream-start event yet.
|
|
|
|
This is a convenience wrapper around gst_pad_get_sticky_event() and
|
|
gst_event_parse_stream_start().
|
|
|
|
The returned stream-id string should be treated as an opaque string, its
|
|
contents should not be interpreted.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly-allocated copy of the stream-id for
|
|
@pad, or %NULL. g_free() the returned string when no longer
|
|
needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">A source #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_task_state" c:identifier="gst_pad_get_task_state" version="1.12">
|
|
<doc xml:space="preserve">Get @pad task state. If no task is currently
|
|
set, #GST_TASK_STOPPED is returned.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current state of @pad's task.</doc>
|
|
<type name="TaskState" c:type="GstTaskState"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to get task state from</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_current_caps" c:identifier="gst_pad_has_current_caps">
|
|
<doc xml:space="preserve">Check if @pad has caps set on it with a #GST_EVENT_CAPS event.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @pad has caps associated with it.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to check</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_active" c:identifier="gst_pad_is_active">
|
|
<doc xml:space="preserve">Query if a pad is active</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad is active.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to query</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_blocked" c:identifier="gst_pad_is_blocked">
|
|
<doc xml:space="preserve">Checks if the pad is blocked or not. This function returns the
|
|
last requested state of the pad. It is not certain that the pad
|
|
is actually blocking at this point (see gst_pad_is_blocking()).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad is blocked.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to query</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_blocking" c:identifier="gst_pad_is_blocking">
|
|
<doc xml:space="preserve">Checks if the pad is blocking or not. This is a guaranteed state
|
|
of whether the pad is actually blocking on a #GstBuffer or a #GstEvent.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad is blocking.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to query</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_linked" c:identifier="gst_pad_is_linked">
|
|
<doc xml:space="preserve">Checks if a @pad is linked to another pad or not.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad is linked, %FALSE otherwise.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">pad to check</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_internal_links" c:identifier="gst_pad_iterate_internal_links">
|
|
<doc xml:space="preserve">Gets an iterator for the pads to which the given pad is linked to inside
|
|
of the parent element.
|
|
|
|
Each #GstPad element yielded by the iterator will have its refcount increased,
|
|
so unref after use.
|
|
|
|
Free-function: gst_iterator_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstIterator of #GstPad
|
|
or %NULL when the pad does not have an iterator function
|
|
configured. Use gst_iterator_free() after usage.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GstPad to get the internal links of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="iterate_internal_links_default" c:identifier="gst_pad_iterate_internal_links_default">
|
|
<doc xml:space="preserve">Iterate the list of pads to which the given pad is linked to inside of
|
|
the parent element.
|
|
This is the default handler, and thus returns an iterator of all of the
|
|
pads inside the parent element with opposite direction.
|
|
|
|
The caller must free this iterator after use with gst_iterator_free().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstPad, or %NULL if @pad
|
|
has no parent. Unref each returned pad with gst_object_unref().</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to get the internal links of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link" c:identifier="gst_pad_link">
|
|
<doc xml:space="preserve">Links the source pad and the sink pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A result code indicating if the connection worked or
|
|
what went wrong.
|
|
|
|
MT Safe.</doc>
|
|
<type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="srcpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstPad to link.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="sinkpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstPad to link.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_full" c:identifier="gst_pad_link_full">
|
|
<doc xml:space="preserve">Links the source pad and the sink pad.
|
|
|
|
This variant of #gst_pad_link provides a more granular control on the
|
|
checks being done when linking. While providing some considerable speedups
|
|
the caller of this method must be aware that wrong usage of those flags
|
|
can cause severe issues. Refer to the documentation of #GstPadLinkCheck
|
|
for more information.
|
|
|
|
MT Safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A result code indicating if the connection worked or
|
|
what went wrong.</doc>
|
|
<type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="srcpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstPad to link.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="sinkpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstPad to link.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the checks to validate when linking</doc>
|
|
<type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_maybe_ghosting" c:identifier="gst_pad_link_maybe_ghosting" version="1.10">
|
|
<doc xml:space="preserve">Links @src to @sink, creating any #GstGhostPad's in between as necessary.
|
|
|
|
This is a convenience function to save having to create and add intermediate
|
|
#GstGhostPad's as required for linking across #GstBin boundaries.
|
|
|
|
If @src or @sink pads don't have parent elements or do not share a common
|
|
ancestor, the link will fail.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the link succeeded.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="sink" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="link_maybe_ghosting_full" c:identifier="gst_pad_link_maybe_ghosting_full" version="1.10">
|
|
<doc xml:space="preserve">Links @src to @sink, creating any #GstGhostPad's in between as necessary.
|
|
|
|
This is a convenience function to save having to create and add intermediate
|
|
#GstGhostPad's as required for linking across #GstBin boundaries.
|
|
|
|
If @src or @sink pads don't have parent elements or do not share a common
|
|
ancestor, the link will fail.
|
|
|
|
Calling gst_pad_link_maybe_ghosting_full() with
|
|
@flags == %GST_PAD_LINK_CHECK_DEFAULT is the recommended way of linking
|
|
pads with safety checks applied.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the link succeeded.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="sink" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">some #GstPadLinkCheck flags</doc>
|
|
<type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="mark_reconfigure" c:identifier="gst_pad_mark_reconfigure">
|
|
<doc xml:space="preserve">Mark a pad for needing reconfiguration. The next call to
|
|
gst_pad_check_reconfigure() will return %TRUE after this call.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to mark</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="needs_reconfigure" c:identifier="gst_pad_needs_reconfigure">
|
|
<doc xml:space="preserve">Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE
|
|
if the flag was set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to check</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pause_task" c:identifier="gst_pad_pause_task">
|
|
<doc xml:space="preserve">Pause the task of @pad. This function will also wait until the
|
|
function executed by the task is finished if this function is not
|
|
called from the task function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a %TRUE if the task could be paused or %FALSE when the pad
|
|
has no task.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to pause the task of</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peer_query" c:identifier="gst_pad_peer_query">
|
|
<doc xml:space="preserve">Performs gst_pad_query() on the peer of @pad.
|
|
|
|
The caller is responsible for both the allocation and deallocation of
|
|
the query structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed. This function returns %FALSE
|
|
if @pad has no peer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to invoke the peer query on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery to perform.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peer_query_accept_caps" c:identifier="gst_pad_peer_query_accept_caps">
|
|
<doc xml:space="preserve">Check if the peer of @pad accepts @caps. If @pad has no peer, this function
|
|
returns %TRUE.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the peer of @pad can accept the caps or @pad has no peer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to check the peer of</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to check on the pad</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peer_query_caps" c:identifier="gst_pad_peer_query_caps">
|
|
<doc xml:space="preserve">Gets the capabilities of the peer connected to this pad. Similar to
|
|
gst_pad_query_caps().
|
|
|
|
When called on srcpads @filter contains the caps that
|
|
upstream could produce in the order preferred by upstream. When
|
|
called on sinkpads @filter contains the caps accepted by
|
|
downstream in the preferred order. @filter might be %NULL but
|
|
if it is not %NULL the returned caps will be a subset of @filter.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the caps of the peer pad with incremented
|
|
ref-count. When there is no peer pad, this function returns @filter or,
|
|
when @filter is %NULL, ANY caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to get the capabilities of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstCaps filter, or %NULL.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peer_query_convert" c:identifier="gst_pad_peer_query_convert">
|
|
<doc xml:space="preserve">Queries the peer pad of a given sink pad to convert @src_val in @src_format
|
|
to @dest_format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad, on whose peer pad to invoke the convert query on.
|
|
Must be a sink pad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat to convert from.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="src_val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to convert.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat to convert to.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="dest_val" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to the result.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peer_query_duration" c:identifier="gst_pad_peer_query_duration">
|
|
<doc xml:space="preserve">Queries the peer pad of a given sink pad for the total stream duration.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad on whose peer pad to invoke the duration query on.
|
|
Must be a sink pad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat requested</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location in which to store the total
|
|
duration, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peer_query_position" c:identifier="gst_pad_peer_query_position">
|
|
<doc xml:space="preserve">Queries the peer of a given sink pad for the stream position.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad on whose peer to invoke the position query on.
|
|
Must be a sink pad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat requested</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="cur" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location in which to store the current
|
|
position, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="proxy_query_accept_caps" c:identifier="gst_pad_proxy_query_accept_caps">
|
|
<doc xml:space="preserve">Checks if all internally linked pads of @pad accepts the caps in @query and
|
|
returns the intersection of the results.
|
|
|
|
This function is useful as a default accept caps query function for an element
|
|
that can handle any stream format, but requires caps that are acceptable for
|
|
all opposite pads.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @query could be executed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to proxy.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">an ACCEPT_CAPS #GstQuery.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="proxy_query_caps" c:identifier="gst_pad_proxy_query_caps">
|
|
<doc xml:space="preserve">Calls gst_pad_query_caps() for all internally linked pads of @pad and returns
|
|
the intersection of the results.
|
|
|
|
This function is useful as a default caps query function for an element
|
|
that can handle any stream format, but requires all its pads to have
|
|
the same caps. Two such elements are tee and adder.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @query could be executed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to proxy.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a CAPS #GstQuery.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pull_range" c:identifier="gst_pad_pull_range">
|
|
<doc xml:space="preserve">Pulls a @buffer from the peer pad or fills up a provided buffer.
|
|
|
|
This function will first trigger the pad block signal if it was
|
|
installed.
|
|
|
|
When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this
|
|
function returns the result of gst_pad_get_range() on the peer pad.
|
|
See gst_pad_get_range() for a list of return values and for the
|
|
semantics of the arguments of this function.
|
|
|
|
If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be
|
|
placed in @buffer when this function returns #GST_FLOW_OK. The new buffer
|
|
must be freed with gst_buffer_unref() after usage. When this function
|
|
returns any other result value, @buffer will still point to %NULL.
|
|
|
|
When @buffer points to a variable that points to a valid #GstBuffer, the
|
|
buffer will be filled with the result data when this function returns
|
|
#GST_FLOW_OK. When this function returns any other result value,
|
|
@buffer will be unchanged. If the provided buffer is larger than @size, only
|
|
@size bytes will be filled in the result buffer and its size will be updated
|
|
accordingly.
|
|
|
|
Note that less than @size bytes can be returned in @buffer when, for example,
|
|
an EOS condition is near or when @buffer is not large enough to hold @size
|
|
bytes. The caller should check the result buffer size to get the result size.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the peer pad.
|
|
|
|
MT safe.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The start offset of the buffer</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">The length of the buffer</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to hold the #GstBuffer, returns
|
|
GST_FLOW_ERROR if %NULL.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="push" c:identifier="gst_pad_push">
|
|
<doc xml:space="preserve">Pushes a buffer to the peer of @pad.
|
|
|
|
This function will call installed block probes before triggering any
|
|
installed data probes.
|
|
|
|
The function proceeds calling gst_pad_chain() on the peer pad and returns
|
|
the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
|
|
be returned.
|
|
|
|
In all cases, success or failure, the caller loses its reference to @buffer
|
|
after calling this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the peer pad.
|
|
|
|
MT safe.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a source #GstPad, returns #GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBuffer to push returns GST_FLOW_ERROR
|
|
if not.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="push_event" c:identifier="gst_pad_push_event">
|
|
<doc xml:space="preserve">Sends the event to the peer of the given pad. This function is
|
|
mainly used by elements to send events to their peer
|
|
elements.
|
|
|
|
This function takes ownership of the provided event so you should
|
|
gst_event_ref() it if you want to reuse the event after this call.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was handled.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to push the event to.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to send to the pad.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="push_list" c:identifier="gst_pad_push_list">
|
|
<doc xml:space="preserve">Pushes a buffer list to the peer of @pad.
|
|
|
|
This function will call installed block probes before triggering any
|
|
installed data probes.
|
|
|
|
The function proceeds calling the chain function on the peer pad and returns
|
|
the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
|
|
be returned. If the peer pad does not have any installed chainlist function
|
|
every group buffer of the list will be merged into a normal #GstBuffer and
|
|
chained via gst_pad_chain().
|
|
|
|
In all cases, success or failure, the caller loses its reference to @list
|
|
after calling this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the peer pad.
|
|
|
|
MT safe.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a source #GstPad, returns #GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBufferList to push returns GST_FLOW_ERROR
|
|
if not.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query" c:identifier="gst_pad_query">
|
|
<doc xml:space="preserve">Dispatches a query to a pad. The query should have been allocated by the
|
|
caller via one of the type-specific allocation functions. The element that
|
|
the pad belongs to is responsible for filling the query with an appropriate
|
|
response, which should then be parsed with a type-specific query parsing
|
|
function.
|
|
|
|
Again, the caller is responsible for both the allocation and deallocation of
|
|
the query structure.
|
|
|
|
Please also note that some queries might need a running pipeline to work.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to invoke the default query on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery to perform.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_accept_caps" c:identifier="gst_pad_query_accept_caps">
|
|
<doc xml:space="preserve">Check if the given pad accepts the caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad can accept the caps.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to check</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps to check on the pad</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_caps" c:identifier="gst_pad_query_caps">
|
|
<doc xml:space="preserve">Gets the capabilities this pad can produce or consume.
|
|
Note that this method doesn't necessarily return the caps set by sending a
|
|
gst_event_new_caps() - use gst_pad_get_current_caps() for that instead.
|
|
gst_pad_query_caps returns all possible caps a pad can operate with, using
|
|
the pad's CAPS query function, If the query fails, this function will return
|
|
@filter, if not %NULL, otherwise ANY.
|
|
|
|
When called on sinkpads @filter contains the caps that
|
|
upstream could produce in the order preferred by upstream. When
|
|
called on srcpads @filter contains the caps accepted by
|
|
downstream in the preferred order. @filter might be %NULL but
|
|
if it is not %NULL the returned caps will be a subset of @filter.
|
|
|
|
Note that this function does not return writable #GstCaps, use
|
|
gst_caps_make_writable() before modifying the caps.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the caps of the pad with incremented ref-count.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to get the capabilities of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">suggested #GstCaps, or %NULL</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_convert" c:identifier="gst_pad_query_convert">
|
|
<doc xml:space="preserve">Queries a pad to convert @src_val in @src_format to @dest_format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to invoke the convert query on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat to convert from.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="src_val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to convert.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat to convert to.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="dest_val" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to the result.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_default" c:identifier="gst_pad_query_default">
|
|
<doc xml:space="preserve">Invokes the default query handler for the given pad.
|
|
The query is sent to all pads internally linked to @pad. Note that
|
|
if there are many possible sink pads that are internally linked to
|
|
@pad, only one will be sent the query.
|
|
Multi-sinkpad elements should implement custom query handlers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query was performed successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to call the default query handler on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery to handle.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_duration" c:identifier="gst_pad_query_duration">
|
|
<doc xml:space="preserve">Queries a pad for the total stream duration.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to invoke the duration query on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat requested</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a location in which to store the total
|
|
duration, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_position" c:identifier="gst_pad_query_position">
|
|
<doc xml:space="preserve">Queries a pad for the stream position.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to invoke the position query on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat requested</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="cur" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A location in which to store the current position, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_probe" c:identifier="gst_pad_remove_probe">
|
|
<doc xml:space="preserve">Remove the probe with @id from @pad.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad with the probe</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the probe id to remove</doc>
|
|
<type name="gulong" c:type="gulong"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_event" c:identifier="gst_pad_send_event">
|
|
<doc xml:space="preserve">Sends the event to the pad. This function can be used
|
|
by applications to send events in the pipeline.
|
|
|
|
If @pad is a source pad, @event should be an upstream event. If @pad is a
|
|
sink pad, @event should be a downstream event. For example, you would not
|
|
send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream.
|
|
Furthermore, some downstream events have to be serialized with data flow,
|
|
like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If
|
|
the event needs to be serialized with data flow, this function will take the
|
|
pad's stream lock while calling its event function.
|
|
|
|
To find out whether an event type is upstream, downstream, or downstream and
|
|
serialized, see #GstEventTypeFlags, gst_event_type_get_flags(),
|
|
#GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and
|
|
#GST_EVENT_IS_SERIALIZED. Note that in practice that an application or
|
|
plugin doesn't need to bother itself with this information; the core handles
|
|
all necessary locks and checks.
|
|
|
|
This function takes ownership of the provided event so you should
|
|
gst_event_ref() it if you want to reuse the event after this call.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event was handled.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad to send the event to.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to send to the pad.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_activate_function_full" c:identifier="gst_pad_set_activate_function_full">
|
|
<doc xml:space="preserve">Sets the given activate function for @pad. The activate function will
|
|
dispatch to gst_pad_activate_mode() to perform the actual activation.
|
|
Only makes sense to set on sink pads.
|
|
|
|
Call this function if your sink pad can start a pull-based task.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="activate" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadActivateFunction to set.</doc>
|
|
<type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @activate will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_activatemode_function_full" c:identifier="gst_pad_set_activatemode_function_full">
|
|
<doc xml:space="preserve">Sets the given activate_mode function for the pad. An activate_mode function
|
|
prepares the element for data passing.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="activatemode" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadActivateModeFunction to set.</doc>
|
|
<type name="PadActivateModeFunction" c:type="GstPadActivateModeFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @activatemode will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_active" c:identifier="gst_pad_set_active">
|
|
<doc xml:space="preserve">Activates or deactivates the given pad.
|
|
Normally called from within core state change functions.
|
|
|
|
If @active, makes sure the pad is active. If it is already active, either in
|
|
push or pull mode, just return. Otherwise dispatches to the pad's activate
|
|
function to perform the actual activation.
|
|
|
|
If not @active, calls gst_pad_activate_mode() with the pad's current mode
|
|
and a %FALSE argument.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the operation was successful.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to activate or deactivate.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether or not the pad should be active.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_chain_function_full" c:identifier="gst_pad_set_chain_function_full">
|
|
<doc xml:space="preserve">Sets the given chain function for the pad. The chain function is called to
|
|
process a #GstBuffer input buffer. see #GstPadChainFunction for more details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="chain" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadChainFunction to set.</doc>
|
|
<type name="PadChainFunction" c:type="GstPadChainFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @chain will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_chain_list_function_full" c:identifier="gst_pad_set_chain_list_function_full">
|
|
<doc xml:space="preserve">Sets the given chain list function for the pad. The chainlist function is
|
|
called to process a #GstBufferList input buffer list. See
|
|
#GstPadChainListFunction for more details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="chainlist" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadChainListFunction to set.</doc>
|
|
<type name="PadChainListFunction" c:type="GstPadChainListFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @chainlist will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_element_private" c:identifier="gst_pad_set_element_private">
|
|
<doc xml:space="preserve">Set the given private data gpointer on the pad.
|
|
This function can only be used by the element that owns the pad.
|
|
No locking is performed in this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to set the private data of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="priv" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The private data to attach to the pad.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_event_full_function_full" c:identifier="gst_pad_set_event_full_function_full" version="1.8">
|
|
<doc xml:space="preserve">Sets the given event handler for the pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadEventFullFunction to set.</doc>
|
|
<type name="PadEventFullFunction" c:type="GstPadEventFullFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @event will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_event_function_full" c:identifier="gst_pad_set_event_function_full">
|
|
<doc xml:space="preserve">Sets the given event handler for the pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadEventFunction to set.</doc>
|
|
<type name="PadEventFunction" c:type="GstPadEventFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @event will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_getrange_function_full" c:identifier="gst_pad_set_getrange_function_full">
|
|
<doc xml:space="preserve">Sets the given getrange function for the pad. The getrange function is
|
|
called to produce a new #GstBuffer to start the processing pipeline. see
|
|
#GstPadGetRangeFunction for a description of the getrange function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a source #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="get" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadGetRangeFunction to set.</doc>
|
|
<type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @get will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_iterate_internal_links_function_full" c:identifier="gst_pad_set_iterate_internal_links_function_full">
|
|
<doc xml:space="preserve">Sets the given internal link iterator function for the pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="iterintlink" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadIterIntLinkFunction to set.</doc>
|
|
<type name="PadIterIntLinkFunction" c:type="GstPadIterIntLinkFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @iterintlink will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_link_function_full" c:identifier="gst_pad_set_link_function_full">
|
|
<doc xml:space="preserve">Sets the given link function for the pad. It will be called when
|
|
the pad is linked with another pad.
|
|
|
|
The return value #GST_PAD_LINK_OK should be used when the connection can be
|
|
made.
|
|
|
|
The return value #GST_PAD_LINK_REFUSED should be used when the connection
|
|
cannot be made for some reason.
|
|
|
|
If @link is installed on a source pad, it should call the #GstPadLinkFunction
|
|
of the peer sink pad, if present.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="link" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadLinkFunction to set.</doc>
|
|
<type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @link will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_offset" c:identifier="gst_pad_set_offset">
|
|
<doc xml:space="preserve">Set the offset that will be applied to the running time of @pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_query_function_full" c:identifier="gst_pad_set_query_function_full">
|
|
<doc xml:space="preserve">Set the given query function for the pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadQueryFunction to set.</doc>
|
|
<type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @query will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_unlink_function_full" c:identifier="gst_pad_set_unlink_function_full">
|
|
<doc xml:space="preserve">Sets the given unlink function for the pad. It will be called
|
|
when the pad is unlinked.
|
|
|
|
Note that the pad's lock is already held when the unlink
|
|
function is called, so most pad functions cannot be called
|
|
from within the callback.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="unlink" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the #GstPadUnlinkFunction to set.</doc>
|
|
<type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user_data passed to @notify</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notify called when @unlink will not be used anymore.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="start_task" c:identifier="gst_pad_start_task">
|
|
<doc xml:space="preserve">Starts a task that repeatedly calls @func with @user_data. This function
|
|
is mostly used in pad activation functions to start the dataflow.
|
|
The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired
|
|
before @func is called.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a %TRUE if the task could be started.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to start the task of</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the task function to call</doc>
|
|
<type name="TaskFunction" c:type="GstTaskFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the task function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">called when @user_data is no longer referenced</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sticky_events_foreach" c:identifier="gst_pad_sticky_events_foreach">
|
|
<doc xml:space="preserve">Iterates all sticky events on @pad and calls @foreach_func for every
|
|
event. If @foreach_func returns %FALSE the iteration is immediately stopped.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that should be used for iteration.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="foreach_func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">the #GstPadStickyEventsForeachFunction that
|
|
should be called for every event.</doc>
|
|
<type name="PadStickyEventsForeachFunction" c:type="GstPadStickyEventsForeachFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the optional user data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="stop_task" c:identifier="gst_pad_stop_task">
|
|
<doc xml:space="preserve">Stop the task of @pad. This function will also make sure that the
|
|
function executed by the task will effectively stop if not called
|
|
from the GstTaskFunction.
|
|
|
|
This function will deadlock if called from the GstTaskFunction of
|
|
the task. Use gst_task_pause() instead.
|
|
|
|
Regardless of whether the pad has a task, the stream lock is acquired and
|
|
released so as to ensure that streaming through this pad has finished.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a %TRUE if the task could be stopped or %FALSE on error.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to stop the task of</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="store_sticky_event" c:identifier="gst_pad_store_sticky_event" version="1.2">
|
|
<doc xml:space="preserve">Store the sticky @event on @pad</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GST_FLOW_OK on success, #GST_FLOW_FLUSHING when the pad
|
|
was flushing or #GST_FLOW_EOS when the pad was EOS.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEvent</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unlink" c:identifier="gst_pad_unlink">
|
|
<doc xml:space="preserve">Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked
|
|
signal on both pads.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pads were unlinked. This function returns %FALSE if
|
|
the pads were not linked together.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="srcpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstPad to unlink.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="sinkpad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstPad to unlink.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="use_fixed_caps" c:identifier="gst_pad_use_fixed_caps">
|
|
<doc xml:space="preserve">A helper function you can use that sets the FIXED_CAPS flag
|
|
This way the default CAPS query will always return the negotiated caps
|
|
or in case the pad is not negotiated, the padtemplate caps.
|
|
|
|
The negotiated caps are the caps of the last CAPS event that passed on the
|
|
pad. Use this function on a pad that, once it negotiated to a CAPS, cannot
|
|
be renegotiated to something else.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad to use</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="caps" transfer-ownership="none">
|
|
<type name="Caps"/>
|
|
</property>
|
|
<property name="direction" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="PadDirection"/>
|
|
</property>
|
|
<property name="offset" version="1.6" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The offset that will be applied to the running time of the pad.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</property>
|
|
<property name="template" writable="1" transfer-ownership="none">
|
|
<type name="PadTemplate"/>
|
|
</property>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="element_private">
|
|
<doc xml:space="preserve">private data owned by the parent element</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="padtemplate">
|
|
<doc xml:space="preserve">padtemplate for this pad</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</field>
|
|
<field name="direction">
|
|
<doc xml:space="preserve">the direction of the pad, cannot change after creating
|
|
the pad.</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</field>
|
|
<field name="stream_rec_lock" readable="0" private="1">
|
|
<type name="GLib.RecMutex" c:type="GRecMutex"/>
|
|
</field>
|
|
<field name="task" readable="0" private="1">
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</field>
|
|
<field name="block_cond" readable="0" private="1">
|
|
<type name="GLib.Cond" c:type="GCond"/>
|
|
</field>
|
|
<field name="probes" readable="0" private="1">
|
|
<type name="GLib.HookList" c:type="GHookList"/>
|
|
</field>
|
|
<field name="mode" readable="0" private="1">
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</field>
|
|
<field name="activatefunc" readable="0" private="1">
|
|
<type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
|
|
</field>
|
|
<field name="activatedata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="activatenotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="activatemodefunc" readable="0" private="1">
|
|
<type name="PadActivateModeFunction" c:type="GstPadActivateModeFunction"/>
|
|
</field>
|
|
<field name="activatemodedata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="activatemodenotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="peer" readable="0" private="1">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="linkfunc" readable="0" private="1">
|
|
<type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
|
|
</field>
|
|
<field name="linkdata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="linknotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="unlinkfunc" readable="0" private="1">
|
|
<type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
|
|
</field>
|
|
<field name="unlinkdata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="unlinknotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="chainfunc" readable="0" private="1">
|
|
<type name="PadChainFunction" c:type="GstPadChainFunction"/>
|
|
</field>
|
|
<field name="chaindata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="chainnotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="chainlistfunc" readable="0" private="1">
|
|
<type name="PadChainListFunction" c:type="GstPadChainListFunction"/>
|
|
</field>
|
|
<field name="chainlistdata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="chainlistnotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="getrangefunc" readable="0" private="1">
|
|
<type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
|
|
</field>
|
|
<field name="getrangedata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="getrangenotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="eventfunc" readable="0" private="1">
|
|
<type name="PadEventFunction" c:type="GstPadEventFunction"/>
|
|
</field>
|
|
<field name="eventdata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="eventnotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="offset" readable="0" private="1">
|
|
<type name="gint64" c:type="gint64"/>
|
|
</field>
|
|
<field name="queryfunc" readable="0" private="1">
|
|
<type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
|
|
</field>
|
|
<field name="querydata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="querynotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="iterintlinkfunc" readable="0" private="1">
|
|
<type name="PadIterIntLinkFunction" c:type="GstPadIterIntLinkFunction"/>
|
|
</field>
|
|
<field name="iterintlinkdata" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="iterintlinknotify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="num_probes" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="num_blocked" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="PadPrivate" c:type="GstPadPrivate*"/>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<field name="_gst_reserved" writable="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<record name="abi" c:type="abi">
|
|
|
|
<field name="last_flowret" writable="1">
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</field>
|
|
<field name="eventfullfunc" writable="1">
|
|
<type name="PadEventFullFunction" c:type="GstPadEventFullFunction"/>
|
|
</field>
|
|
</record>
|
|
</union>
|
|
<glib:signal name="linked" when="last">
|
|
<doc xml:space="preserve">Signals that a pad has been linked to the peer pad.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the peer pad that has been connected</doc>
|
|
<type name="Pad"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="unlinked" when="last">
|
|
<doc xml:space="preserve">Signals that a pad has been unlinked from the peer pad.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the peer pad that has been disconnected</doc>
|
|
<type name="Pad"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<callback name="PadActivateFunction" c:type="GstPadActivateFunction">
|
|
<doc xml:space="preserve">This function is called when the pad is activated during the element
|
|
READY to PAUSED state change. By default this function will call the
|
|
activate function that puts the pad in push mode but elements can
|
|
override this function to activate the pad in pull mode if they wish.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad could be activated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent of @pad</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadActivateModeFunction" c:type="GstPadActivateModeFunction">
|
|
<doc xml:space="preserve">The prototype of the push and pull activate functions.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad could be activated or deactivated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPad</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent of @pad</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested activation mode of @pad</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">activate or deactivate the pad.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadChainFunction" c:type="GstPadChainFunction">
|
|
<doc xml:space="preserve">A function that will be called on sinkpads when chaining buffers.
|
|
The function typically processes the data contained in the buffer and
|
|
either consumes the data or passes it on to the internally linked pad(s).
|
|
|
|
The implementer of this function receives a refcount to @buffer and should
|
|
gst_buffer_unref() when the buffer is no longer needed.
|
|
|
|
When a chain function detects an error in the data stream, it must post an
|
|
error on the bus and return an appropriate #GstFlowReturn value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GST_FLOW_OK for success</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstPad that performed the chain.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBuffer that is chained, not %NULL.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadChainListFunction" c:type="GstPadChainListFunction">
|
|
<doc xml:space="preserve">A function that will be called on sinkpads when chaining buffer lists.
|
|
The function typically processes the data contained in the buffer list and
|
|
either consumes the data or passes it on to the internally linked pad(s).
|
|
|
|
The implementer of this function receives a refcount to @list and
|
|
should gst_buffer_list_unref() when the list is no longer needed.
|
|
|
|
When a chainlist function detects an error in the data stream, it must
|
|
post an error on the bus and return an appropriate #GstFlowReturn value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GST_FLOW_OK for success</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the sink #GstPad that performed the chain.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBufferList that is chained, not %NULL.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="PadClass" c:type="GstPadClass" glib:is-gtype-struct-for="Pad">
|
|
|
|
<field name="parent_class">
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="linked">
|
|
<callback name="linked">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="unlinked">
|
|
<callback name="unlinked">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<enumeration name="PadDirection" glib:type-name="GstPadDirection" glib:get-type="gst_pad_direction_get_type" c:type="GstPadDirection">
|
|
<doc xml:space="preserve">The direction of a pad.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_PAD_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">direction is unknown.</doc>
|
|
</member>
|
|
<member name="src" value="1" c:identifier="GST_PAD_SRC" glib:nick="src">
|
|
<doc xml:space="preserve">the pad is a source pad.</doc>
|
|
</member>
|
|
<member name="sink" value="2" c:identifier="GST_PAD_SINK" glib:nick="sink">
|
|
<doc xml:space="preserve">the pad is a sink pad.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="PadEventFullFunction" c:type="GstPadEventFullFunction" version="1.8">
|
|
<doc xml:space="preserve">Function signature to handle an event for the pad.
|
|
|
|
This variant is for specific elements that will take into account the
|
|
last downstream flow return (from a pad push), in which case they can
|
|
return it.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if the event was handled properly, or any other
|
|
#GstFlowReturn dependent on downstream state.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to handle the event.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to handle.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadEventFunction" c:type="GstPadEventFunction">
|
|
<doc xml:space="preserve">Function signature to handle an event for the pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad could handle the event.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to handle the event.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent to handle.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<bitfield name="PadFlags" glib:type-name="GstPadFlags" glib:get-type="gst_pad_flags_get_type" c:type="GstPadFlags">
|
|
<doc xml:space="preserve">Pad state flags</doc>
|
|
<member name="blocked" value="16" c:identifier="GST_PAD_FLAG_BLOCKED" glib:nick="blocked">
|
|
<doc xml:space="preserve">is dataflow on a pad blocked</doc>
|
|
</member>
|
|
<member name="flushing" value="32" c:identifier="GST_PAD_FLAG_FLUSHING" glib:nick="flushing">
|
|
<doc xml:space="preserve">is pad flushing</doc>
|
|
</member>
|
|
<member name="eos" value="64" c:identifier="GST_PAD_FLAG_EOS" glib:nick="eos">
|
|
<doc xml:space="preserve">is pad in EOS state</doc>
|
|
</member>
|
|
<member name="blocking" value="128" c:identifier="GST_PAD_FLAG_BLOCKING" glib:nick="blocking">
|
|
<doc xml:space="preserve">is pad currently blocking on a buffer or event</doc>
|
|
</member>
|
|
<member name="need_parent" value="256" c:identifier="GST_PAD_FLAG_NEED_PARENT" glib:nick="need-parent">
|
|
<doc xml:space="preserve">ensure that there is a parent object before calling
|
|
into the pad callbacks.</doc>
|
|
</member>
|
|
<member name="need_reconfigure" value="512" c:identifier="GST_PAD_FLAG_NEED_RECONFIGURE" glib:nick="need-reconfigure">
|
|
<doc xml:space="preserve">the pad should be reconfigured/renegotiated.
|
|
The flag has to be unset manually after
|
|
reconfiguration happened.</doc>
|
|
</member>
|
|
<member name="pending_events" value="1024" c:identifier="GST_PAD_FLAG_PENDING_EVENTS" glib:nick="pending-events">
|
|
<doc xml:space="preserve">the pad has pending events</doc>
|
|
</member>
|
|
<member name="fixed_caps" value="2048" c:identifier="GST_PAD_FLAG_FIXED_CAPS" glib:nick="fixed-caps">
|
|
<doc xml:space="preserve">the pad is using fixed caps. This means that
|
|
once the caps are set on the pad, the default caps query function
|
|
will only return those caps.</doc>
|
|
</member>
|
|
<member name="proxy_caps" value="4096" c:identifier="GST_PAD_FLAG_PROXY_CAPS" glib:nick="proxy-caps">
|
|
<doc xml:space="preserve">the default event and query handler will forward
|
|
all events and queries to the internally linked pads
|
|
instead of discarding them.</doc>
|
|
</member>
|
|
<member name="proxy_allocation" value="8192" c:identifier="GST_PAD_FLAG_PROXY_ALLOCATION" glib:nick="proxy-allocation">
|
|
<doc xml:space="preserve">the default query handler will forward
|
|
allocation queries to the internally linked pads
|
|
instead of discarding them.</doc>
|
|
</member>
|
|
<member name="proxy_scheduling" value="16384" c:identifier="GST_PAD_FLAG_PROXY_SCHEDULING" glib:nick="proxy-scheduling">
|
|
<doc xml:space="preserve">the default query handler will forward
|
|
scheduling queries to the internally linked pads
|
|
instead of discarding them.</doc>
|
|
</member>
|
|
<member name="accept_intersect" value="32768" c:identifier="GST_PAD_FLAG_ACCEPT_INTERSECT" glib:nick="accept-intersect">
|
|
<doc xml:space="preserve">the default accept-caps handler will check
|
|
it the caps intersect the query-caps result instead
|
|
of checking for a subset. This is interesting for
|
|
parsers that can accept incompletely specified caps.</doc>
|
|
</member>
|
|
<member name="accept_template" value="65536" c:identifier="GST_PAD_FLAG_ACCEPT_TEMPLATE" glib:nick="accept-template">
|
|
<doc xml:space="preserve">the default accept-caps handler will use
|
|
the template pad caps instead of query caps to
|
|
compare with the accept caps. Use this in combination
|
|
with %GST_PAD_FLAG_ACCEPT_INTERSECT. (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="last" value="1048576" c:identifier="GST_PAD_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="PadForwardFunction" c:type="GstPadForwardFunction">
|
|
<doc xml:space="preserve">A forward function is called for all internally linked pads, see
|
|
gst_pad_forward().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the dispatching procedure has to be stopped.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that is forwarded.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">the gpointer to optional user data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadGetRangeFunction" c:type="GstPadGetRangeFunction">
|
|
<doc xml:space="preserve">This function will be called on source pads when a peer element
|
|
request a buffer at the specified @offset and @length. If this function
|
|
returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The
|
|
contents of @buffer is invalid for any other return value.
|
|
|
|
This function is installed on a source pad with
|
|
gst_pad_set_getrange_function() and can only be called on source pads after
|
|
they are successfully activated with gst_pad_activate_mode() with the
|
|
#GST_PAD_MODE_PULL.
|
|
|
|
@offset and @length are always given in byte units. @offset must normally be a value
|
|
between 0 and the length in bytes of the data available on @pad. The
|
|
length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a
|
|
#GST_QUERY_SEEKING.
|
|
|
|
Any @offset larger or equal than the length will make the function return
|
|
#GST_FLOW_EOS, which corresponds to EOS. In this case @buffer does not
|
|
contain a valid buffer.
|
|
|
|
The buffer size of @buffer will only be smaller than @length when @offset is
|
|
near the end of the stream. In all other cases, the size of @buffer must be
|
|
exactly the requested size.
|
|
|
|
It is allowed to call this function with a 0 @length and valid @offset, in
|
|
which case @buffer will contain a 0-sized buffer and the function returns
|
|
#GST_FLOW_OK.
|
|
|
|
When this function is called with a -1 @offset, the sequentially next buffer
|
|
of length @length in the stream is returned.
|
|
|
|
When this function is called with a -1 @length, a buffer with a default
|
|
optimal length is returned in @buffer. The length might depend on the value
|
|
of @offset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GST_FLOW_OK for success and a valid buffer in @buffer. Any other
|
|
return value leaves @buffer undefined.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the src #GstPad to perform the getrange on.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset of the range</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length of the range</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a memory location to hold the result buffer, cannot be %NULL.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadIterIntLinkFunction" c:type="GstPadIterIntLinkFunction">
|
|
<doc xml:space="preserve">The signature of the internal pad link iterator function.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstIterator that will iterate over all pads that are
|
|
linked to the given pad on the inside of the parent element.
|
|
|
|
the caller must call gst_iterator_free() after usage.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstPad to query.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<bitfield name="PadLinkCheck" glib:type-name="GstPadLinkCheck" glib:get-type="gst_pad_link_check_get_type" c:type="GstPadLinkCheck">
|
|
<doc xml:space="preserve">The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS
|
|
and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are
|
|
specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed.
|
|
|
|
> Only disable some of the checks if you are 100% certain you know the link
|
|
> will not fail because of hierarchy/caps compatibility failures. If uncertain,
|
|
> use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods
|
|
> for linking the pads.</doc>
|
|
<member name="nothing" value="0" c:identifier="GST_PAD_LINK_CHECK_NOTHING" glib:nick="nothing">
|
|
<doc xml:space="preserve">Don't check hierarchy or caps compatibility.</doc>
|
|
</member>
|
|
<member name="hierarchy" value="1" c:identifier="GST_PAD_LINK_CHECK_HIERARCHY" glib:nick="hierarchy">
|
|
<doc xml:space="preserve">Check the pads have same parents/grandparents.
|
|
Could be omitted if it is already known that the two elements that own the
|
|
pads are in the same bin.</doc>
|
|
</member>
|
|
<member name="template_caps" value="2" c:identifier="GST_PAD_LINK_CHECK_TEMPLATE_CAPS" glib:nick="template-caps">
|
|
<doc xml:space="preserve">Check if the pads are compatible by using
|
|
their template caps. This is much faster than @GST_PAD_LINK_CHECK_CAPS, but
|
|
would be unsafe e.g. if one pad has %GST_CAPS_ANY.</doc>
|
|
</member>
|
|
<member name="caps" value="4" c:identifier="GST_PAD_LINK_CHECK_CAPS" glib:nick="caps">
|
|
<doc xml:space="preserve">Check if the pads are compatible by comparing the
|
|
caps returned by gst_pad_query_caps().</doc>
|
|
</member>
|
|
<member name="no_reconfigure" value="8" c:identifier="GST_PAD_LINK_CHECK_NO_RECONFIGURE" glib:nick="no-reconfigure">
|
|
<doc xml:space="preserve">Disables pushing a reconfigure event when pads are
|
|
linked.</doc>
|
|
</member>
|
|
<member name="default" value="5" c:identifier="GST_PAD_LINK_CHECK_DEFAULT" glib:nick="default">
|
|
<doc xml:space="preserve">The default checks done when linking
|
|
pads (i.e. the ones used by gst_pad_link()).</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="PadLinkFunction" c:type="GstPadLinkFunction">
|
|
<doc xml:space="preserve">Function signature to handle a new link on the pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result of the link with the specified peer.</doc>
|
|
<type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that is linked.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="peer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the peer #GstPad of the link</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="PadLinkReturn" glib:type-name="GstPadLinkReturn" glib:get-type="gst_pad_link_return_get_type" c:type="GstPadLinkReturn">
|
|
<doc xml:space="preserve">Result values from gst_pad_link and friends.</doc>
|
|
<member name="ok" value="0" c:identifier="GST_PAD_LINK_OK" glib:nick="ok">
|
|
<doc xml:space="preserve">link succeeded</doc>
|
|
</member>
|
|
<member name="wrong_hierarchy" value="-1" c:identifier="GST_PAD_LINK_WRONG_HIERARCHY" glib:nick="wrong-hierarchy">
|
|
<doc xml:space="preserve">pads have no common grandparent</doc>
|
|
</member>
|
|
<member name="was_linked" value="-2" c:identifier="GST_PAD_LINK_WAS_LINKED" glib:nick="was-linked">
|
|
<doc xml:space="preserve">pad was already linked</doc>
|
|
</member>
|
|
<member name="wrong_direction" value="-3" c:identifier="GST_PAD_LINK_WRONG_DIRECTION" glib:nick="wrong-direction">
|
|
<doc xml:space="preserve">pads have wrong direction</doc>
|
|
</member>
|
|
<member name="noformat" value="-4" c:identifier="GST_PAD_LINK_NOFORMAT" glib:nick="noformat">
|
|
<doc xml:space="preserve">pads do not have common format</doc>
|
|
</member>
|
|
<member name="nosched" value="-5" c:identifier="GST_PAD_LINK_NOSCHED" glib:nick="nosched">
|
|
<doc xml:space="preserve">pads cannot cooperate in scheduling</doc>
|
|
</member>
|
|
<member name="refused" value="-6" c:identifier="GST_PAD_LINK_REFUSED" glib:nick="refused">
|
|
<doc xml:space="preserve">refused for some reason</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="PadMode" glib:type-name="GstPadMode" glib:get-type="gst_pad_mode_get_type" c:type="GstPadMode">
|
|
<doc xml:space="preserve">The status of a GstPad. After activating a pad, which usually happens when the
|
|
parent element goes from READY to PAUSED, the GstPadMode defines if the
|
|
pad operates in push or pull mode.</doc>
|
|
<member name="none" value="0" c:identifier="GST_PAD_MODE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">Pad will not handle dataflow</doc>
|
|
</member>
|
|
<member name="push" value="1" c:identifier="GST_PAD_MODE_PUSH" glib:nick="push">
|
|
<doc xml:space="preserve">Pad handles dataflow in downstream push mode</doc>
|
|
</member>
|
|
<member name="pull" value="2" c:identifier="GST_PAD_MODE_PULL" glib:nick="pull">
|
|
<doc xml:space="preserve">Pad handles dataflow in upstream pull mode</doc>
|
|
</member>
|
|
<function name="get_name" c:identifier="gst_pad_mode_get_name">
|
|
<doc xml:space="preserve">Return the name of a pad mode, for use in debug messages mostly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">short mnemonic for pad mode @mode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="PadPresence" glib:type-name="GstPadPresence" glib:get-type="gst_pad_presence_get_type" c:type="GstPadPresence">
|
|
<doc xml:space="preserve">Indicates when this pad will become available.</doc>
|
|
<member name="always" value="0" c:identifier="GST_PAD_ALWAYS" glib:nick="always">
|
|
<doc xml:space="preserve">the pad is always available</doc>
|
|
</member>
|
|
<member name="sometimes" value="1" c:identifier="GST_PAD_SOMETIMES" glib:nick="sometimes">
|
|
<doc xml:space="preserve">the pad will become available depending on the media stream</doc>
|
|
</member>
|
|
<member name="request" value="2" c:identifier="GST_PAD_REQUEST" glib:nick="request">
|
|
<doc xml:space="preserve">the pad is only available on request with
|
|
gst_element_request_pad().</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="PadPrivate" c:type="GstPadPrivate" disguised="1">
|
|
|
|
</record>
|
|
<callback name="PadProbeCallback" c:type="GstPadProbeCallback">
|
|
<doc xml:space="preserve">Callback used by gst_pad_add_probe(). Gets called to notify about the current
|
|
blocking type.
|
|
|
|
The callback is allowed to modify the data pointer in @info.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadProbeReturn</doc>
|
|
<type name="PadProbeReturn" c:type="GstPadProbeReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that is blocked</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstPadProbeInfo</doc>
|
|
<type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">the gpointer to optional user data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="PadProbeInfo" c:type="GstPadProbeInfo">
|
|
<doc xml:space="preserve">Info passed in the #GstPadProbeCallback.</doc>
|
|
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the current probe type</doc>
|
|
<type name="PadProbeType" c:type="GstPadProbeType"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">the id of the probe</doc>
|
|
<type name="gulong" c:type="gulong"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">type specific data, check the @type field to know the
|
|
datatype. This field can be %NULL.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">offset of pull probe, this field is valid when @type contains
|
|
#GST_PAD_PROBE_TYPE_PULL</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">size of pull probe, this field is valid when @type contains
|
|
#GST_PAD_PROBE_TYPE_PULL</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<field name="_gst_reserved" writable="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<record name="abi" c:type="abi">
|
|
|
|
<field name="flow_ret" writable="1">
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</field>
|
|
</record>
|
|
</union>
|
|
<method name="get_buffer" c:identifier="gst_pad_probe_info_get_buffer">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstBuffer from the probe</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadProbeInfo</doc>
|
|
<type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_buffer_list" c:identifier="gst_pad_probe_info_get_buffer_list">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstBufferList from the probe</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadProbeInfo</doc>
|
|
<type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_event" c:identifier="gst_pad_probe_info_get_event">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstEvent from the probe</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadProbeInfo</doc>
|
|
<type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_query" c:identifier="gst_pad_probe_info_get_query">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstQuery from the probe</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadProbeInfo</doc>
|
|
<type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="PadProbeReturn" glib:type-name="GstPadProbeReturn" glib:get-type="gst_pad_probe_return_get_type" c:type="GstPadProbeReturn">
|
|
<doc xml:space="preserve">Different return values for the #GstPadProbeCallback.</doc>
|
|
<member name="drop" value="0" c:identifier="GST_PAD_PROBE_DROP" glib:nick="drop">
|
|
<doc xml:space="preserve">drop data in data probes. For push mode this means that
|
|
the data item is not sent downstream. For pull mode, it means that
|
|
the data item is not passed upstream. In both cases, no other probes
|
|
are called for this item and %GST_FLOW_OK or %TRUE is returned to the
|
|
caller.</doc>
|
|
</member>
|
|
<member name="ok" value="1" c:identifier="GST_PAD_PROBE_OK" glib:nick="ok">
|
|
<doc xml:space="preserve">normal probe return value. This leaves the probe in
|
|
place, and defers decisions about dropping or passing data to other
|
|
probes, if any. If there are no other probes, the default behaviour
|
|
for the probe type applies ('block' for blocking probes,
|
|
and 'pass' for non-blocking probes).</doc>
|
|
</member>
|
|
<member name="remove" value="2" c:identifier="GST_PAD_PROBE_REMOVE" glib:nick="remove">
|
|
<doc xml:space="preserve">remove this probe.</doc>
|
|
</member>
|
|
<member name="pass" value="3" c:identifier="GST_PAD_PROBE_PASS" glib:nick="pass">
|
|
<doc xml:space="preserve">pass the data item in the block probe and block on the
|
|
next item.</doc>
|
|
</member>
|
|
<member name="handled" value="4" c:identifier="GST_PAD_PROBE_HANDLED" glib:nick="handled">
|
|
<doc xml:space="preserve">Data has been handled in the probe and will not be
|
|
forwarded further. For events and buffers this is the same behaviour as
|
|
%GST_PAD_PROBE_DROP (except that in this case you need to unref the buffer
|
|
or event yourself). For queries it will also return %TRUE to the caller.
|
|
The probe can also modify the #GstFlowReturn value by using the
|
|
#GST_PAD_PROBE_INFO_FLOW_RETURN() accessor.
|
|
Note that the resulting query must contain valid entries.
|
|
Since: 1.6</doc>
|
|
</member>
|
|
</enumeration>
|
|
<bitfield name="PadProbeType" glib:type-name="GstPadProbeType" glib:get-type="gst_pad_probe_type_get_type" c:type="GstPadProbeType">
|
|
<doc xml:space="preserve">The different probing types that can occur. When either one of
|
|
@GST_PAD_PROBE_TYPE_IDLE or @GST_PAD_PROBE_TYPE_BLOCK is used, the probe will be a
|
|
blocking probe.</doc>
|
|
<member name="invalid" value="0" c:identifier="GST_PAD_PROBE_TYPE_INVALID" glib:nick="invalid">
|
|
<doc xml:space="preserve">invalid probe type</doc>
|
|
</member>
|
|
<member name="idle" value="1" c:identifier="GST_PAD_PROBE_TYPE_IDLE" glib:nick="idle">
|
|
<doc xml:space="preserve">probe idle pads and block while the callback is called</doc>
|
|
</member>
|
|
<member name="block" value="2" c:identifier="GST_PAD_PROBE_TYPE_BLOCK" glib:nick="block">
|
|
<doc xml:space="preserve">probe and block pads</doc>
|
|
</member>
|
|
<member name="buffer" value="16" c:identifier="GST_PAD_PROBE_TYPE_BUFFER" glib:nick="buffer">
|
|
<doc xml:space="preserve">probe buffers</doc>
|
|
</member>
|
|
<member name="buffer_list" value="32" c:identifier="GST_PAD_PROBE_TYPE_BUFFER_LIST" glib:nick="buffer-list">
|
|
<doc xml:space="preserve">probe buffer lists</doc>
|
|
</member>
|
|
<member name="event_downstream" value="64" c:identifier="GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM" glib:nick="event-downstream">
|
|
<doc xml:space="preserve">probe downstream events</doc>
|
|
</member>
|
|
<member name="event_upstream" value="128" c:identifier="GST_PAD_PROBE_TYPE_EVENT_UPSTREAM" glib:nick="event-upstream">
|
|
<doc xml:space="preserve">probe upstream events</doc>
|
|
</member>
|
|
<member name="event_flush" value="256" c:identifier="GST_PAD_PROBE_TYPE_EVENT_FLUSH" glib:nick="event-flush">
|
|
<doc xml:space="preserve">probe flush events. This probe has to be
|
|
explicitly enabled and is not included in the
|
|
@@GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM or
|
|
@@GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe types.</doc>
|
|
</member>
|
|
<member name="query_downstream" value="512" c:identifier="GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM" glib:nick="query-downstream">
|
|
<doc xml:space="preserve">probe downstream queries</doc>
|
|
</member>
|
|
<member name="query_upstream" value="1024" c:identifier="GST_PAD_PROBE_TYPE_QUERY_UPSTREAM" glib:nick="query-upstream">
|
|
<doc xml:space="preserve">probe upstream queries</doc>
|
|
</member>
|
|
<member name="push" value="4096" c:identifier="GST_PAD_PROBE_TYPE_PUSH" glib:nick="push">
|
|
<doc xml:space="preserve">probe push</doc>
|
|
</member>
|
|
<member name="pull" value="8192" c:identifier="GST_PAD_PROBE_TYPE_PULL" glib:nick="pull">
|
|
<doc xml:space="preserve">probe pull</doc>
|
|
</member>
|
|
<member name="blocking" value="3" c:identifier="GST_PAD_PROBE_TYPE_BLOCKING" glib:nick="blocking">
|
|
<doc xml:space="preserve">probe and block at the next opportunity, at data flow or when idle</doc>
|
|
</member>
|
|
<member name="data_downstream" value="112" c:identifier="GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM" glib:nick="data-downstream">
|
|
<doc xml:space="preserve">probe downstream data (buffers, buffer lists, and events)</doc>
|
|
</member>
|
|
<member name="data_upstream" value="128" c:identifier="GST_PAD_PROBE_TYPE_DATA_UPSTREAM" glib:nick="data-upstream">
|
|
<doc xml:space="preserve">probe upstream data (events)</doc>
|
|
</member>
|
|
<member name="data_both" value="240" c:identifier="GST_PAD_PROBE_TYPE_DATA_BOTH" glib:nick="data-both">
|
|
<doc xml:space="preserve">probe upstream and downstream data (buffers, buffer lists, and events)</doc>
|
|
</member>
|
|
<member name="block_downstream" value="114" c:identifier="GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM" glib:nick="block-downstream">
|
|
<doc xml:space="preserve">probe and block downstream data (buffers, buffer lists, and events)</doc>
|
|
</member>
|
|
<member name="block_upstream" value="130" c:identifier="GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM" glib:nick="block-upstream">
|
|
<doc xml:space="preserve">probe and block upstream data (events)</doc>
|
|
</member>
|
|
<member name="event_both" value="192" c:identifier="GST_PAD_PROBE_TYPE_EVENT_BOTH" glib:nick="event-both">
|
|
<doc xml:space="preserve">probe upstream and downstream events</doc>
|
|
</member>
|
|
<member name="query_both" value="1536" c:identifier="GST_PAD_PROBE_TYPE_QUERY_BOTH" glib:nick="query-both">
|
|
<doc xml:space="preserve">probe upstream and downstream queries</doc>
|
|
</member>
|
|
<member name="all_both" value="1776" c:identifier="GST_PAD_PROBE_TYPE_ALL_BOTH" glib:nick="all-both">
|
|
<doc xml:space="preserve">probe upstream events and queries and downstream buffers, buffer lists, events and queries</doc>
|
|
</member>
|
|
<member name="scheduling" value="12288" c:identifier="GST_PAD_PROBE_TYPE_SCHEDULING" glib:nick="scheduling">
|
|
<doc xml:space="preserve">probe push and pull</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="PadQueryFunction" c:type="GstPadQueryFunction">
|
|
<doc xml:space="preserve">The signature of the query function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to query.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstQuery object to execute</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PadStickyEventsForeachFunction" c:type="GstPadStickyEventsForeachFunction">
|
|
<doc xml:space="preserve">Callback used by gst_pad_sticky_events_foreach().
|
|
|
|
When this function returns %TRUE, the next event will be
|
|
returned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return.
|
|
|
|
When @event is set to %NULL, the item will be removed from the list of sticky events.
|
|
@event can be replaced by assigning a new reference to it.
|
|
This function is responsible for unreffing the old event when
|
|
removing or modifying.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the iteration should continue</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a sticky #GstEvent.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">the #gpointer to optional user data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="PadTemplate" c:symbol-prefix="pad_template" c:type="GstPadTemplate" parent="Object" glib:type-name="GstPadTemplate" glib:get-type="gst_pad_template_get_type" glib:type-struct="PadTemplateClass">
|
|
<doc xml:space="preserve">Padtemplates describe the possible media types a pad or an elementfactory can
|
|
handle. This allows for both inspection of handled types before loading the
|
|
element plugin as well as identifying pads on elements that are not yet
|
|
created (request or sometimes pads).
|
|
|
|
Pad and PadTemplates have #GstCaps attached to it to describe the media type
|
|
they are capable of dealing with. gst_pad_template_get_caps() or
|
|
GST_PAD_TEMPLATE_CAPS() are used to get the caps of a padtemplate. It's not
|
|
possible to modify the caps of a padtemplate after creation.
|
|
|
|
PadTemplates have a #GstPadPresence property which identifies the lifetime
|
|
of the pad and that can be retrieved with GST_PAD_TEMPLATE_PRESENCE(). Also
|
|
the direction of the pad can be retrieved from the #GstPadTemplate with
|
|
GST_PAD_TEMPLATE_DIRECTION().
|
|
|
|
The GST_PAD_TEMPLATE_NAME_TEMPLATE () is important for GST_PAD_REQUEST pads
|
|
because it has to be used as the name in the gst_element_get_request_pad()
|
|
call to instantiate a pad from this template.
|
|
|
|
Padtemplates can be created with gst_pad_template_new() or with
|
|
gst_static_pad_template_get (), which creates a #GstPadTemplate from a
|
|
#GstStaticPadTemplate that can be filled with the
|
|
convenient GST_STATIC_PAD_TEMPLATE() macro.
|
|
|
|
A padtemplate can be used to create a pad (see gst_pad_new_from_template()
|
|
or gst_pad_new_from_static_template ()) or to add to an element class
|
|
(see gst_element_class_add_static_pad_template ()).
|
|
|
|
The following code example shows the code to create a pad from a padtemplate.
|
|
|[<!-- language="C" -->
|
|
GstStaticPadTemplate my_template =
|
|
GST_STATIC_PAD_TEMPLATE (
|
|
"sink", // the name of the pad
|
|
GST_PAD_SINK, // the direction of the pad
|
|
GST_PAD_ALWAYS, // when this pad will be present
|
|
GST_STATIC_CAPS ( // the capabilities of the padtemplate
|
|
"audio/x-raw, "
|
|
"channels = (int) [ 1, 6 ]"
|
|
)
|
|
);
|
|
void
|
|
my_method (void)
|
|
{
|
|
GstPad *pad;
|
|
pad = gst_pad_new_from_static_template (&amp;my_template, "sink");
|
|
...
|
|
}
|
|
]|
|
|
|
|
The following example shows you how to add the padtemplate to an
|
|
element class, this is usually done in the class_init of the class:
|
|
|[<!-- language="C" -->
|
|
static void
|
|
my_element_class_init (GstMyElementClass *klass)
|
|
{
|
|
GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
|
|
|
|
gst_element_class_add_static_pad_template (gstelement_class, &amp;my_template);
|
|
}
|
|
]|</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_pad_template_new">
|
|
<doc xml:space="preserve">Creates a new pad template with a name according to the given template
|
|
and with the given arguments.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPadTemplate.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name_template" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name template.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadDirection of the template.</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</parameter>
|
|
<parameter name="presence" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadPresence of the pad.</doc>
|
|
<type name="PadPresence" c:type="GstPadPresence"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps set for the template.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_static_pad_template_with_gtype" c:identifier="gst_pad_template_new_from_static_pad_template_with_gtype" version="1.14">
|
|
<doc xml:space="preserve">Converts a #GstStaticPadTemplate into a #GstPadTemplate with a type.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPadTemplate.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad_template" transfer-ownership="none">
|
|
<doc xml:space="preserve">the static pad template</doc>
|
|
<type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="pad_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GType of the pad to create</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_with_gtype" c:identifier="gst_pad_template_new_with_gtype" version="1.14">
|
|
<doc xml:space="preserve">Creates a new pad template with a name according to the given template
|
|
and with the given arguments.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPadTemplate.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name_template" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name template.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadDirection of the template.</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</parameter>
|
|
<parameter name="presence" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPadPresence of the pad.</doc>
|
|
<type name="PadPresence" c:type="GstPadPresence"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps set for the template.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="pad_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GType of the pad to create</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<virtual-method name="pad_created" invoker="pad_created">
|
|
<doc xml:space="preserve">Emit the pad-created signal for this template when created by this pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate that has been created</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that created it</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_caps" c:identifier="gst_pad_template_get_caps">
|
|
<doc xml:space="preserve">Gets the capabilities of the pad template.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps of the pad template.
|
|
Unref after usage.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate to get capabilities of.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_documentation_caps" c:identifier="gst_pad_template_get_documentation_caps" version="1.18">
|
|
<doc xml:space="preserve">See gst_pad_template_set_documentation_caps().</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The caps to document. For convenience, this will return
|
|
gst_pad_template_get_caps() when no documentation caps were set.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad template to get documented capabilities on</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pad_created" c:identifier="gst_pad_template_pad_created">
|
|
<doc xml:space="preserve">Emit the pad-created signal for this template when created by this pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate that has been created</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that created it</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_documentation_caps" c:identifier="gst_pad_template_set_documentation_caps" version="1.18">
|
|
<doc xml:space="preserve">Certain elements will dynamically construct the caps of their
|
|
pad templates. In order not to let environment-specific information
|
|
into the documentation, element authors should use this method to
|
|
expose "stable" caps to the reader.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad template to set documented capabilities on</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the documented capabilities</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="caps" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The capabilities of the pad described by the pad template.</doc>
|
|
<type name="Caps"/>
|
|
</property>
|
|
<property name="direction" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The direction of the pad described by the pad template.</doc>
|
|
<type name="PadDirection"/>
|
|
</property>
|
|
<property name="gtype" version="1.14" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the pad described by the pad template.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</property>
|
|
<property name="name-template" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name template of the pad template.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="presence" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">When the pad described by the pad template will become available.</doc>
|
|
<type name="PadPresence"/>
|
|
</property>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="name_template">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="direction">
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</field>
|
|
<field name="presence">
|
|
<type name="PadPresence" c:type="GstPadPresence"/>
|
|
</field>
|
|
<field name="caps">
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<field name="_gst_reserved" writable="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<record name="abi" c:type="abi">
|
|
|
|
<field name="gtype" writable="1">
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="documentation_caps" writable="1">
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
</record>
|
|
</union>
|
|
<glib:signal name="pad-created" when="last">
|
|
<doc xml:space="preserve">This signal is fired when an element creates a pad from this template.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad that was created.</doc>
|
|
<type name="Pad"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="PadTemplateClass" c:type="GstPadTemplateClass" glib:is-gtype-struct-for="PadTemplate">
|
|
|
|
<field name="parent_class">
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="pad_created">
|
|
<callback name="pad_created">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadTemplate that has been created</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that created it</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<bitfield name="PadTemplateFlags" glib:type-name="GstPadTemplateFlags" glib:get-type="gst_pad_template_flags_get_type" c:type="GstPadTemplateFlags">
|
|
<doc xml:space="preserve">Flags for the padtemplate</doc>
|
|
<member name="last" value="256" c:identifier="GST_PAD_TEMPLATE_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">first flag that can be used by subclasses.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="PadUnlinkFunction" c:type="GstPadUnlinkFunction">
|
|
<doc xml:space="preserve">Function signature to handle a unlinking the pad prom its peer.
|
|
|
|
The pad's lock is already held when the unlink function is called, so most
|
|
pad functions cannot be called from within the callback.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad that is linked.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
|
|
flag is set, @parent is guaranteed to be not-%NULL and remain valid
|
|
during the execution of this function.</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="ParamArray" c:symbol-prefix="param_spec_array" version="1.12" parent="GObject.ParamSpec" glib:type-name="GstParamArray" glib:get-type="gst_param_spec_array_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a #GParamSpec for arrays of
|
|
values</doc>
|
|
</class>
|
|
<class name="ParamFraction" c:symbol-prefix="param_spec_fraction" parent="GObject.ParamSpec" glib:type-name="GstParamFraction" glib:get-type="gst_param_spec_fraction_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes a #GParamSpec for fractional
|
|
properties</doc>
|
|
</class>
|
|
<record name="ParamSpecArray" c:type="GstParamSpecArray">
|
|
<doc xml:space="preserve">A GParamSpec derived structure for arrays of values.</doc>
|
|
|
|
<field name="parent_instance" writable="1">
|
|
<doc xml:space="preserve">super class</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec"/>
|
|
</field>
|
|
<field name="element_spec" writable="1">
|
|
<doc xml:space="preserve">the #GParamSpec of the type of values in the array</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</field>
|
|
</record>
|
|
<record name="ParamSpecFraction" c:type="GstParamSpecFraction">
|
|
<doc xml:space="preserve">A GParamSpec derived structure that contains the meta data for fractional
|
|
properties.</doc>
|
|
|
|
<field name="parent_instance" writable="1">
|
|
<doc xml:space="preserve">super class</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec"/>
|
|
</field>
|
|
<field name="min_num" writable="1">
|
|
<doc xml:space="preserve">minimal numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="min_den" writable="1">
|
|
<doc xml:space="preserve">minimal denominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="max_num" writable="1">
|
|
<doc xml:space="preserve">maximal numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="max_den" writable="1">
|
|
<doc xml:space="preserve">maximal denominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="def_num" writable="1">
|
|
<doc xml:space="preserve">default numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="def_den" writable="1">
|
|
<doc xml:space="preserve">default denominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
</record>
|
|
<record name="ParentBufferMeta" c:type="GstParentBufferMeta" version="1.6">
|
|
<doc xml:space="preserve">The #GstParentBufferMeta is a #GstMeta which can be attached to a #GstBuffer
|
|
to hold a reference to another buffer that is only released when the child
|
|
#GstBuffer is released.
|
|
|
|
Typically, #GstParentBufferMeta is used when the child buffer is directly
|
|
using the #GstMemory of the parent buffer, and wants to prevent the parent
|
|
buffer from being returned to a buffer pool until the #GstMemory is available
|
|
for re-use.</doc>
|
|
|
|
<field name="parent" writable="1">
|
|
<doc xml:space="preserve">the parent #GstMeta structure</doc>
|
|
<type name="Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="buffer" writable="1">
|
|
<doc xml:space="preserve">the #GstBuffer on which a reference is being held.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_parent_buffer_meta_get_info" version="1.6">
|
|
<doc xml:space="preserve">Get the global #GstMetaInfo describing the #GstParentBufferMeta meta.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMetaInfo</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="ParseContext" c:type="GstParseContext" glib:type-name="GstParseContext" glib:get-type="gst_parse_context_get_type" c:symbol-prefix="parse_context">
|
|
<doc xml:space="preserve">Opaque structure.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_parse_context_new">
|
|
<doc xml:space="preserve">Allocates a parse context for use with gst_parse_launch_full() or
|
|
gst_parse_launchv_full().
|
|
|
|
Free-function: gst_parse_context_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly-allocated parse context. Free
|
|
with gst_parse_context_free() when no longer needed.</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_parse_context_copy" version="1.12.1">
|
|
<doc xml:space="preserve">Copies the @context.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A copied #GstParseContext</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstParseContext</doc>
|
|
<type name="ParseContext" c:type="const GstParseContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_parse_context_free">
|
|
<doc xml:space="preserve">Frees a parse context previously allocated with gst_parse_context_new().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstParseContext</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_missing_elements" c:identifier="gst_parse_context_get_missing_elements">
|
|
<doc xml:space="preserve">Retrieve missing elements from a previous run of gst_parse_launch_full()
|
|
or gst_parse_launchv_full(). Will only return results if an error code
|
|
of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a
|
|
%NULL-terminated array of element factory name strings of missing
|
|
elements. Free with g_strfreev() when no longer needed.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstParseContext</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="ParseError" glib:type-name="GstParseError" glib:get-type="gst_parse_error_get_type" c:type="GstParseError" glib:error-domain="gst_parse_error">
|
|
<doc xml:space="preserve">The different parsing errors that can occur.</doc>
|
|
<member name="syntax" value="0" c:identifier="GST_PARSE_ERROR_SYNTAX" glib:nick="syntax">
|
|
<doc xml:space="preserve">A syntax error occurred.</doc>
|
|
</member>
|
|
<member name="no_such_element" value="1" c:identifier="GST_PARSE_ERROR_NO_SUCH_ELEMENT" glib:nick="no-such-element">
|
|
<doc xml:space="preserve">The description contained an unknown element</doc>
|
|
</member>
|
|
<member name="no_such_property" value="2" c:identifier="GST_PARSE_ERROR_NO_SUCH_PROPERTY" glib:nick="no-such-property">
|
|
<doc xml:space="preserve">An element did not have a specified property</doc>
|
|
</member>
|
|
<member name="link" value="3" c:identifier="GST_PARSE_ERROR_LINK" glib:nick="link">
|
|
<doc xml:space="preserve">There was an error linking two pads.</doc>
|
|
</member>
|
|
<member name="could_not_set_property" value="4" c:identifier="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY" glib:nick="could-not-set-property">
|
|
<doc xml:space="preserve">There was an error setting a property</doc>
|
|
</member>
|
|
<member name="empty_bin" value="5" c:identifier="GST_PARSE_ERROR_EMPTY_BIN" glib:nick="empty-bin">
|
|
<doc xml:space="preserve">An empty bin was specified.</doc>
|
|
</member>
|
|
<member name="empty" value="6" c:identifier="GST_PARSE_ERROR_EMPTY" glib:nick="empty">
|
|
<doc xml:space="preserve">An empty description was specified</doc>
|
|
</member>
|
|
<member name="delayed_link" value="7" c:identifier="GST_PARSE_ERROR_DELAYED_LINK" glib:nick="delayed-link">
|
|
<doc xml:space="preserve">A delayed link did not get resolved.</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_parse_error_quark">
|
|
<doc xml:space="preserve">Get the error quark used by the parsing subsystem.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark of the parse errors.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="ParseFlags" glib:type-name="GstParseFlags" glib:get-type="gst_parse_flags_get_type" c:type="GstParseFlags">
|
|
<doc xml:space="preserve">Parsing options.</doc>
|
|
<member name="none" value="0" c:identifier="GST_PARSE_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">Do not use any special parsing options.</doc>
|
|
</member>
|
|
<member name="fatal_errors" value="1" c:identifier="GST_PARSE_FLAG_FATAL_ERRORS" glib:nick="fatal-errors">
|
|
<doc xml:space="preserve">Always return %NULL when an error occurs
|
|
(default behaviour is to return partially constructed bins or elements
|
|
in some cases)</doc>
|
|
</member>
|
|
<member name="no_single_element_bins" value="2" c:identifier="GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS" glib:nick="no-single-element-bins">
|
|
<doc xml:space="preserve">If a bin only has a single element,
|
|
just return the element.</doc>
|
|
</member>
|
|
<member name="place_in_bin" value="4" c:identifier="GST_PARSE_FLAG_PLACE_IN_BIN" glib:nick="place-in-bin">
|
|
<doc xml:space="preserve">If more than one toplevel element is described
|
|
by the pipeline description string, put them in a #GstBin instead of a
|
|
#GstPipeline. (Since: 1.10)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="Pipeline" c:symbol-prefix="pipeline" c:type="GstPipeline" parent="Bin" glib:type-name="GstPipeline" glib:get-type="gst_pipeline_get_type" glib:type-struct="PipelineClass">
|
|
<doc xml:space="preserve">A #GstPipeline is a special #GstBin used as the toplevel container for
|
|
the filter graph. The #GstPipeline will manage the selection and
|
|
distribution of a global #GstClock as well as provide a #GstBus to the
|
|
application.
|
|
|
|
gst_pipeline_new() is used to create a pipeline. when you are done with
|
|
the pipeline, use gst_object_unref() to free its resources including all
|
|
added #GstElement objects (if not otherwise referenced).
|
|
|
|
Elements are added and removed from the pipeline using the #GstBin
|
|
methods like gst_bin_add() and gst_bin_remove() (see #GstBin).
|
|
|
|
Before changing the state of the #GstPipeline (see #GstElement) a #GstBus
|
|
can be retrieved with gst_pipeline_get_bus(). This bus can then be
|
|
used to receive #GstMessage from the elements in the pipeline.
|
|
|
|
By default, a #GstPipeline will automatically flush the pending #GstBus
|
|
messages when going to the NULL state to ensure that no circular
|
|
references exist when no messages are read from the #GstBus. This
|
|
behaviour can be changed with gst_pipeline_set_auto_flush_bus().
|
|
|
|
When the #GstPipeline performs the PAUSED to PLAYING state change it will
|
|
select a clock for the elements. The clock selection algorithm will by
|
|
default select a clock provided by an element that is most upstream
|
|
(closest to the source). For live pipelines (ones that return
|
|
#GST_STATE_CHANGE_NO_PREROLL from the gst_element_set_state() call) this
|
|
will select the clock provided by the live source. For normal pipelines
|
|
this will select a clock provided by the sinks (most likely the audio
|
|
sink). If no element provides a clock, a default #GstSystemClock is used.
|
|
|
|
The clock selection can be controlled with the gst_pipeline_use_clock()
|
|
method, which will enforce a given clock on the pipeline. With
|
|
gst_pipeline_auto_clock() the default clock selection algorithm can be
|
|
restored.
|
|
|
|
A #GstPipeline maintains a running time for the elements. The running
|
|
time is defined as the difference between the current clock time and
|
|
the base time. When the pipeline goes to READY or a flushing seek is
|
|
performed on it, the running time is reset to 0. When the pipeline is
|
|
set from PLAYING to PAUSED, the current clock time is sampled and used to
|
|
configure the base time for the elements when the pipeline is set
|
|
to PLAYING again. The effect is that the running time (as the difference
|
|
between the clock time and the base time) will count how much time was spent
|
|
in the PLAYING state. This default behaviour can be changed with the
|
|
gst_element_set_start_time() method.</doc>
|
|
|
|
<implements name="ChildProxy"/>
|
|
<constructor name="new" c:identifier="gst_pipeline_new">
|
|
<doc xml:space="preserve">Create a new pipeline with the given name.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">newly created GstPipeline
|
|
|
|
MT safe.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">name of new pipeline</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="auto_clock" c:identifier="gst_pipeline_auto_clock">
|
|
<doc xml:space="preserve">Let @pipeline select a clock automatically. This is the default
|
|
behaviour.
|
|
|
|
Use this function if you previous forced a fixed clock with
|
|
gst_pipeline_use_clock() and want to restore the default
|
|
pipeline clock selection algorithm.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_auto_flush_bus" c:identifier="gst_pipeline_get_auto_flush_bus">
|
|
<doc xml:space="preserve">Check if @pipeline will automatically flush messages when going to
|
|
the NULL state.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the pipeline will automatically flush its bus when
|
|
going from READY to NULL state or not.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_bus" c:identifier="gst_pipeline_get_bus">
|
|
<doc xml:space="preserve">Gets the #GstBus of @pipeline. The bus allows applications to receive
|
|
#GstMessage packets.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstBus, unref after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Bus" c:type="GstBus*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_clock" c:identifier="gst_pipeline_get_clock" introspectable="0">
|
|
<doc xml:space="preserve">Gets the current clock used by @pipeline. Users of object
|
|
oriented languages should use gst_pipeline_get_pipeline_clock()
|
|
to avoid confusion with gst_element_get_clock() which has a different behavior.
|
|
|
|
Unlike gst_element_get_clock(), this function will always return a
|
|
clock, even if the pipeline is not in the PLAYING state.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstClock, unref after usage.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_delay" c:identifier="gst_pipeline_get_delay">
|
|
<doc xml:space="preserve">Get the configured delay (see gst_pipeline_set_delay()).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The configured delay.
|
|
|
|
MT safe.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_latency" c:identifier="gst_pipeline_get_latency" version="1.6">
|
|
<doc xml:space="preserve">Gets the latency that should be configured on the pipeline. See
|
|
gst_pipeline_set_latency().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Latency to configure on the pipeline or GST_CLOCK_TIME_NONE</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pipeline_clock" c:identifier="gst_pipeline_get_pipeline_clock" version="1.6">
|
|
<doc xml:space="preserve">Gets the current clock used by @pipeline.
|
|
|
|
Unlike gst_element_get_clock(), this function will always return a
|
|
clock, even if the pipeline is not in the PLAYING state.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstClock, unref after usage.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_auto_flush_bus" c:identifier="gst_pipeline_set_auto_flush_bus">
|
|
<doc xml:space="preserve">Usually, when a pipeline goes from READY to NULL state, it automatically
|
|
flushes all pending messages on the bus, which is done for refcounting
|
|
purposes, to break circular references.
|
|
|
|
This means that applications that update state using (async) bus messages
|
|
(e.g. do certain things when a pipeline goes from PAUSED to READY) might
|
|
not get to see messages when the pipeline is shut down, because they might
|
|
be flushed before they can be dispatched in the main thread. This behaviour
|
|
can be disabled using this function.
|
|
|
|
It is important that all messages on the bus are handled when the
|
|
automatic flushing is disabled else memory leaks will be introduced.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="auto_flush" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether or not to automatically flush the bus when
|
|
the pipeline goes from READY to NULL state</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_clock" c:identifier="gst_pipeline_set_clock" introspectable="0">
|
|
<doc xml:space="preserve">Set the clock for @pipeline. The clock will be distributed
|
|
to all the elements managed by the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the clock could be set on the pipeline. %FALSE if
|
|
some element did not accept the clock.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" transfer-ownership="none">
|
|
<doc xml:space="preserve">the clock to set</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_delay" c:identifier="gst_pipeline_set_delay">
|
|
<doc xml:space="preserve">Set the expected delay needed for all elements to perform the
|
|
PAUSED to PLAYING state change. @delay will be added to the
|
|
base time of the elements so that they wait an additional @delay
|
|
amount of time before starting to process buffers and cannot be
|
|
#GST_CLOCK_TIME_NONE.
|
|
|
|
This option is used for tuning purposes and should normally not be
|
|
used.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="delay" transfer-ownership="none">
|
|
<doc xml:space="preserve">the delay</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_latency" c:identifier="gst_pipeline_set_latency" version="1.6">
|
|
<doc xml:space="preserve">Sets the latency that should be configured on the pipeline. Setting
|
|
GST_CLOCK_TIME_NONE will restore the default behaviour of using the minimum
|
|
latency from the LATENCY query. Setting this is usually not required and
|
|
the pipeline will figure out an appropriate latency automatically.
|
|
|
|
Setting a too low latency, especially lower than the minimum latency from
|
|
the LATENCY query, will most likely cause the pipeline to fail.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">latency to configure</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="use_clock" c:identifier="gst_pipeline_use_clock">
|
|
<doc xml:space="preserve">Force @pipeline to use the given @clock. The pipeline will
|
|
always use the given clock even if new clock providers are added
|
|
to this pipeline.
|
|
|
|
If @clock is %NULL all clocking will be disabled which will make
|
|
the pipeline run as fast as possible.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pipeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPipeline</doc>
|
|
<type name="Pipeline" c:type="GstPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the clock to use</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="auto-flush-bus" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether or not to automatically flush all messages on the
|
|
pipeline's bus when going from READY to NULL state. Please see
|
|
gst_pipeline_set_auto_flush_bus() for more information on this option.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="delay" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The expected delay needed for elements to spin up to the
|
|
PLAYING state expressed in nanoseconds.
|
|
see gst_pipeline_set_delay() for more information on this option.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</property>
|
|
<property name="latency" version="1.6" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Latency to configure on the pipeline. See gst_pipeline_set_latency().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</property>
|
|
<field name="bin">
|
|
<type name="Bin" c:type="GstBin"/>
|
|
</field>
|
|
<field name="fixed_clock">
|
|
<doc xml:space="preserve">The fixed clock of the pipeline, used when
|
|
GST_PIPELINE_FLAG_FIXED_CLOCK is set.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</field>
|
|
<field name="stream_time">
|
|
<doc xml:space="preserve">The stream time of the pipeline. A better name for this
|
|
property would be the running_time, the total time spent in the
|
|
PLAYING state without being flushed. (deprecated, use the start_time
|
|
on GstElement).</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="delay">
|
|
<doc xml:space="preserve">Extra delay added to base_time to compensate for computing delays
|
|
when setting elements to PLAYING.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="PipelinePrivate" c:type="GstPipelinePrivate*"/>
|
|
</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="PipelineClass" c:type="GstPipelineClass" glib:is-gtype-struct-for="Pipeline">
|
|
|
|
<field name="parent_class">
|
|
<type name="BinClass" c:type="GstBinClass"/>
|
|
</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>
|
|
<bitfield name="PipelineFlags" glib:type-name="GstPipelineFlags" glib:get-type="gst_pipeline_flags_get_type" c:type="GstPipelineFlags">
|
|
<doc xml:space="preserve">Pipeline flags</doc>
|
|
<member name="fixed_clock" value="524288" c:identifier="GST_PIPELINE_FLAG_FIXED_CLOCK" glib:nick="fixed-clock">
|
|
<doc xml:space="preserve">this pipeline works with a fixed clock</doc>
|
|
</member>
|
|
<member name="last" value="8388608" c:identifier="GST_PIPELINE_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="PipelinePrivate" c:type="GstPipelinePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Plugin" c:symbol-prefix="plugin" c:type="GstPlugin" parent="Object" glib:type-name="GstPlugin" glib:get-type="gst_plugin_get_type" glib:type-struct="PluginClass">
|
|
<doc xml:space="preserve">GStreamer is extensible, so #GstElement instances can be loaded at runtime.
|
|
A plugin system can provide one or more of the basic GStreamer
|
|
#GstPluginFeature subclasses.
|
|
|
|
A plugin should export a symbol `gst_plugin_desc` that is a
|
|
struct of type #GstPluginDesc.
|
|
the plugin loader will check the version of the core library the plugin was
|
|
linked against and will create a new #GstPlugin. It will then call the
|
|
#GstPluginInitFunc function that was provided in the
|
|
`gst_plugin_desc`.
|
|
|
|
Once you have a handle to a #GstPlugin (e.g. from the #GstRegistry), you
|
|
can add any object that subclasses #GstPluginFeature.
|
|
|
|
Usually plugins are always automatically loaded so you don't need to call
|
|
gst_plugin_load() explicitly to bring it into memory. There are options to
|
|
statically link plugins to an app or even use GStreamer without a plugin
|
|
repository in which case gst_plugin_load() can be needed to bring the plugin
|
|
into memory.</doc>
|
|
|
|
<function name="list_free" c:identifier="gst_plugin_list_free">
|
|
<doc xml:space="preserve">Unrefs each member of @list, then frees the list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">list of #GstPlugin</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Plugin"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="load_by_name" c:identifier="gst_plugin_load_by_name">
|
|
<doc xml:space="preserve">Load the named plugin. Refs the plugin.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a reference to a loaded plugin, or
|
|
%NULL on error.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of plugin to load</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="load_file" c:identifier="gst_plugin_load_file" throws="1">
|
|
<doc xml:space="preserve">Loads the given plugin and refs it. Caller needs to unref after use.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a reference to the existing loaded GstPlugin, a
|
|
reference to the newly-loaded GstPlugin, or %NULL if an error occurred.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin filename to load</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="register_static" c:identifier="gst_plugin_register_static">
|
|
<doc xml:space="preserve">Registers a static plugin, ie. a plugin which is private to an application
|
|
or library and contained within the application or library (as opposed to
|
|
being shipped as a separate module file).
|
|
|
|
You must make sure that GStreamer has been initialised (with gst_init() or
|
|
via gst_init_get_option_group()) before calling this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the plugin was registered correctly, otherwise %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="major_version" transfer-ownership="none">
|
|
<doc xml:space="preserve">the major version number of the GStreamer core that the
|
|
plugin was compiled for, you can just use GST_VERSION_MAJOR here</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="minor_version" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minor version number of the GStreamer core that the
|
|
plugin was compiled for, you can just use GST_VERSION_MINOR here</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a unique name of the plugin (ideally prefixed with an application- or
|
|
library-specific namespace prefix in order to avoid name conflicts in
|
|
case a similar plugin with the same name ever gets added to GStreamer)</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">description of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="init_func" transfer-ownership="none" scope="call">
|
|
<doc xml:space="preserve">pointer to the init function of this plugin.</doc>
|
|
<type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
|
|
</parameter>
|
|
<parameter name="version" transfer-ownership="none">
|
|
<doc xml:space="preserve">version string of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="license" transfer-ownership="none">
|
|
<doc xml:space="preserve">effective license of plugin. Must be one of the approved licenses
|
|
(see #GstPluginDesc above) or the plugin will not be registered.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">source module plugin belongs to</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="package" transfer-ownership="none">
|
|
<doc xml:space="preserve">shipped package plugin belongs to</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="origin" transfer-ownership="none">
|
|
<doc xml:space="preserve">URL to provider of plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="register_static_full" c:identifier="gst_plugin_register_static_full">
|
|
<doc xml:space="preserve">Registers a static plugin, ie. a plugin which is private to an application
|
|
or library and contained within the application or library (as opposed to
|
|
being shipped as a separate module file) with a #GstPluginInitFullFunc
|
|
which allows user data to be passed to the callback function (useful
|
|
for bindings).
|
|
|
|
You must make sure that GStreamer has been initialised (with gst_init() or
|
|
via gst_init_get_option_group()) before calling this function.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the plugin was registered correctly, otherwise %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="major_version" transfer-ownership="none">
|
|
<doc xml:space="preserve">the major version number of the GStreamer core that the
|
|
plugin was compiled for, you can just use GST_VERSION_MAJOR here</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="minor_version" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minor version number of the GStreamer core that the
|
|
plugin was compiled for, you can just use GST_VERSION_MINOR here</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a unique name of the plugin (ideally prefixed with an application- or
|
|
library-specific namespace prefix in order to avoid name conflicts in
|
|
case a similar plugin with the same name ever gets added to GStreamer)</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">description of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="init_full_func" transfer-ownership="none" scope="call" closure="10">
|
|
<doc xml:space="preserve">pointer to the init function with user data
|
|
of this plugin.</doc>
|
|
<type name="PluginInitFullFunc" c:type="GstPluginInitFullFunc"/>
|
|
</parameter>
|
|
<parameter name="version" transfer-ownership="none">
|
|
<doc xml:space="preserve">version string of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="license" transfer-ownership="none">
|
|
<doc xml:space="preserve">effective license of plugin. Must be one of the approved licenses
|
|
(see #GstPluginDesc above) or the plugin will not be registered.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">source module plugin belongs to</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="package" transfer-ownership="none">
|
|
<doc xml:space="preserve">shipped package plugin belongs to</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="origin" transfer-ownership="none">
|
|
<doc xml:space="preserve">URL to provider of plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">gpointer to user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="add_dependency" c:identifier="gst_plugin_add_dependency">
|
|
<doc xml:space="preserve">Make GStreamer aware of external dependencies which affect the feature
|
|
set of this plugin (ie. the elements or typefinders associated with it).
|
|
|
|
GStreamer will re-inspect plugins with external dependencies whenever any
|
|
of the external dependencies change. This is useful for plugins which wrap
|
|
other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
|
|
library and makes visualisations available as GStreamer elements, or a
|
|
codec loader which exposes elements and/or caps dependent on what external
|
|
codec libraries are currently installed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPlugin</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
<parameter name="env_vars" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">%NULL-terminated array of environment variables affecting the
|
|
feature set of the plugin (e.g. an environment variable containing
|
|
paths where to look for additional modules/plugins of a library),
|
|
or %NULL. Environment variable names may be followed by a path component
|
|
which will be added to the content of the environment variable, e.g.
|
|
"HOME/.mystuff/plugins".</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="paths" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">%NULL-terminated array of directories/paths where dependent files
|
|
may be, or %NULL.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="names" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">%NULL-terminated array of file names (or file name suffixes,
|
|
depending on @flags) to be used in combination with the paths from
|
|
@paths and/or the paths extracted from the environment variables in
|
|
@env_vars, or %NULL.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE</doc>
|
|
<type name="PluginDependencyFlags" c:type="GstPluginDependencyFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_dependency_simple" c:identifier="gst_plugin_add_dependency_simple">
|
|
<doc xml:space="preserve">Make GStreamer aware of external dependencies which affect the feature
|
|
set of this plugin (ie. the elements or typefinders associated with it).
|
|
|
|
GStreamer will re-inspect plugins with external dependencies whenever any
|
|
of the external dependencies change. This is useful for plugins which wrap
|
|
other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
|
|
library and makes visualisations available as GStreamer elements, or a
|
|
codec loader which exposes elements and/or caps dependent on what external
|
|
codec libraries are currently installed.
|
|
|
|
Convenience wrapper function for gst_plugin_add_dependency() which
|
|
takes simple strings as arguments instead of string arrays, with multiple
|
|
arguments separated by predefined delimiters (see above).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPlugin</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
<parameter name="env_vars" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">one or more environment variables (separated by ':', ';' or ','),
|
|
or %NULL. Environment variable names may be followed by a path component
|
|
which will be added to the content of the environment variable, e.g.
|
|
"HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="paths" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">one ore more directory paths (separated by ':' or ';' or ','),
|
|
or %NULL. Example: "/usr/lib/mystuff/plugins"</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="names" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">one or more file names or file name suffixes (separated by commas),
|
|
or %NULL</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE</doc>
|
|
<type name="PluginDependencyFlags" c:type="GstPluginDependencyFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_cache_data" c:identifier="gst_plugin_get_cache_data">
|
|
<doc xml:space="preserve">Gets the plugin specific data cache. If it is %NULL there is no cached data
|
|
stored. This is the case when the registry is getting rebuilt.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The cached data as a
|
|
#GstStructure or %NULL.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plugin</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_description" c:identifier="gst_plugin_get_description">
|
|
<doc xml:space="preserve">Get the long descriptive name of the plugin</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the long name of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get long name of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_filename" c:identifier="gst_plugin_get_filename">
|
|
<doc xml:space="preserve">get the filename of the plugin</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the filename of the plugin</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the filename of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_license" c:identifier="gst_plugin_get_license">
|
|
<doc xml:space="preserve">get the license of the plugin</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the license of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the license of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name" c:identifier="gst_plugin_get_name">
|
|
<doc xml:space="preserve">Get the short name of the plugin</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the name of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_origin" c:identifier="gst_plugin_get_origin">
|
|
<doc xml:space="preserve">get the URL where the plugin comes from</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the origin of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the origin of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_package" c:identifier="gst_plugin_get_package">
|
|
<doc xml:space="preserve">get the package the plugin belongs to.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the package of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the package of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_release_date_string" c:identifier="gst_plugin_get_release_date_string">
|
|
<doc xml:space="preserve">Get the release date (and possibly time) in form of a string, if available.
|
|
|
|
For normal GStreamer plugin releases this will usually just be a date in
|
|
the form of "YYYY-MM-DD", while pre-releases and builds from git may contain
|
|
a time component after the date as well, in which case the string will be
|
|
formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z").
|
|
|
|
There may be plugins that do not have a valid release date set on them.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the date string of the plugin, or %NULL if not
|
|
available.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the release date of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_source" c:identifier="gst_plugin_get_source">
|
|
<doc xml:space="preserve">get the source module the plugin belongs to.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the source of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the source of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_version" c:identifier="gst_plugin_get_version">
|
|
<doc xml:space="preserve">get the version of the plugin</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the version of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to get the version of</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_loaded" c:identifier="gst_plugin_is_loaded">
|
|
<doc xml:space="preserve">queries if the plugin is loaded into memory</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE is loaded, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to query</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load" c:identifier="gst_plugin_load">
|
|
<doc xml:space="preserve">Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is
|
|
untouched. The normal use pattern of this function goes like this:
|
|
|
|
|[
|
|
GstPlugin *loaded_plugin;
|
|
loaded_plugin = gst_plugin_load (plugin);
|
|
// presumably, we're no longer interested in the potentially-unloaded plugin
|
|
gst_object_unref (plugin);
|
|
plugin = loaded_plugin;
|
|
]|</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a reference to a loaded plugin, or
|
|
%NULL on error.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">plugin to load</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_cache_data" c:identifier="gst_plugin_set_cache_data">
|
|
<doc xml:space="preserve">Adds plugin specific data to cache. Passes the ownership of the structure to
|
|
the @plugin.
|
|
|
|
The cache is flushed every time the registry is rebuilt.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plugin</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</instance-parameter>
|
|
<parameter name="cache_data" transfer-ownership="full">
|
|
<doc xml:space="preserve">a structure containing the data to cache</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<bitfield name="PluginAPIFlags" version="1.18" glib:type-name="GstPluginAPIFlags" glib:get-type="gst_plugin_api_flags_get_type" c:type="GstPluginAPIFlags">
|
|
<member name="members" value="1" c:identifier="GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS" glib:nick="members">
|
|
<doc xml:space="preserve">Ignore enum members when generating
|
|
the plugins cache. This is useful if the members of the enum are generated
|
|
dynamically, in order not to expose incorrect documentation to the end user.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="PluginClass" c:type="GstPluginClass" disguised="1" glib:is-gtype-struct-for="Plugin">
|
|
|
|
</record>
|
|
<bitfield name="PluginDependencyFlags" glib:type-name="GstPluginDependencyFlags" glib:get-type="gst_plugin_dependency_flags_get_type" c:type="GstPluginDependencyFlags">
|
|
<doc xml:space="preserve">Flags used in connection with gst_plugin_add_dependency().</doc>
|
|
<member name="none" value="0" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no special flags</doc>
|
|
</member>
|
|
<member name="recurse" value="1" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE" glib:nick="recurse">
|
|
<doc xml:space="preserve">recurse into subdirectories</doc>
|
|
</member>
|
|
<member name="paths_are_default_only" value="2" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY" glib:nick="paths-are-default-only">
|
|
<doc xml:space="preserve">use paths
|
|
argument only if none of the environment variables is set</doc>
|
|
</member>
|
|
<member name="file_name_is_suffix" value="4" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX" glib:nick="file-name-is-suffix">
|
|
<doc xml:space="preserve">interpret
|
|
filename argument as filter suffix and check all matching files in
|
|
the directory</doc>
|
|
</member>
|
|
<member name="file_name_is_prefix" value="8" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX" glib:nick="file-name-is-prefix">
|
|
<doc xml:space="preserve">interpret
|
|
filename argument as filter prefix and check all matching files in
|
|
the directory. Since: 1.8.</doc>
|
|
</member>
|
|
<member name="paths_are_relative_to_exe" value="16" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE" glib:nick="paths-are-relative-to-exe">
|
|
<doc xml:space="preserve">interpret
|
|
non-absolute paths as relative to the main executable directory. Since
|
|
1.14.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="PluginDesc" c:type="GstPluginDesc">
|
|
<doc xml:space="preserve">A plugin should export a variable of this type called plugin_desc. The plugin
|
|
loader will use the data provided there to initialize the plugin.
|
|
|
|
The @licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL,
|
|
BSD, MIT/X11, Proprietary, unknown.</doc>
|
|
|
|
<field name="major_version" writable="1">
|
|
<doc xml:space="preserve">the major version number of core that plugin was compiled for</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="minor_version" writable="1">
|
|
<doc xml:space="preserve">the minor version number of core that plugin was compiled for</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="name" writable="1">
|
|
<doc xml:space="preserve">a unique name of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="description" writable="1">
|
|
<doc xml:space="preserve">description of plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="plugin_init" writable="1">
|
|
<doc xml:space="preserve">pointer to the init function of this plugin.</doc>
|
|
<type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
|
|
</field>
|
|
<field name="version" writable="1">
|
|
<doc xml:space="preserve">version of the plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="license" writable="1">
|
|
<doc xml:space="preserve">effective license of plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="source" writable="1">
|
|
<doc xml:space="preserve">source module plugin belongs to</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="package" writable="1">
|
|
<doc xml:space="preserve">shipped package plugin belongs to</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="origin" writable="1">
|
|
<doc xml:space="preserve">URL to provider of plugin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="release_datetime" writable="1">
|
|
<doc xml:space="preserve">date time string in ISO 8601
|
|
format (or rather, a subset thereof), or %NULL. Allowed are the
|
|
following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with
|
|
'T' a separator and 'Z' indicating UTC/Zulu time). This field
|
|
should be set via the GST_PACKAGE_RELEASE_DATETIME
|
|
preprocessor macro.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</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>
|
|
<enumeration name="PluginError" glib:type-name="GstPluginError" glib:get-type="gst_plugin_error_get_type" c:type="GstPluginError" glib:error-domain="gst_plugin_error">
|
|
<doc xml:space="preserve">The plugin loading errors</doc>
|
|
<member name="module" value="0" c:identifier="GST_PLUGIN_ERROR_MODULE" glib:nick="module">
|
|
<doc xml:space="preserve">The plugin could not be loaded</doc>
|
|
</member>
|
|
<member name="dependencies" value="1" c:identifier="GST_PLUGIN_ERROR_DEPENDENCIES" glib:nick="dependencies">
|
|
<doc xml:space="preserve">The plugin has unresolved dependencies</doc>
|
|
</member>
|
|
<member name="name_mismatch" value="2" c:identifier="GST_PLUGIN_ERROR_NAME_MISMATCH" glib:nick="name-mismatch">
|
|
<doc xml:space="preserve">The plugin has already be loaded from a different file</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_plugin_error_quark">
|
|
<doc xml:space="preserve">Get the error quark.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The error quark used in GError messages</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<class name="PluginFeature" c:symbol-prefix="plugin_feature" c:type="GstPluginFeature" parent="Object" abstract="1" glib:type-name="GstPluginFeature" glib:get-type="gst_plugin_feature_get_type" glib:type-struct="PluginFeatureClass">
|
|
<doc xml:space="preserve">This is a base class for anything that can be added to a #GstPlugin.</doc>
|
|
|
|
<function name="list_copy" c:identifier="gst_plugin_feature_list_copy">
|
|
<doc xml:space="preserve">Copies the list of features. Caller should call @gst_plugin_feature_list_free
|
|
when done with the list.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a copy of @list,
|
|
with each feature's reference count incremented.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list
|
|
of #GstPluginFeature</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="list_debug" c:identifier="gst_plugin_feature_list_debug">
|
|
<doc xml:space="preserve">Debug the plugin feature names in @list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GList of
|
|
plugin features</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="list_free" c:identifier="gst_plugin_feature_list_free">
|
|
<doc xml:space="preserve">Unrefs each member of @list, then frees the list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">list
|
|
of #GstPluginFeature</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="rank_compare_func" c:identifier="gst_plugin_feature_rank_compare_func">
|
|
<doc xml:space="preserve">Compares the two given #GstPluginFeature instances. This function can be
|
|
used as a #GCompareFunc when sorting by rank and then by name.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">negative value if the rank of p1 > the rank of p2 or the ranks are
|
|
equal but the name of p1 comes before the name of p2; zero if the rank
|
|
and names are equal; positive value if the rank of p1 < the rank of p2 or the
|
|
ranks are equal but the name of p2 comes before the name of p1</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="p1" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstPluginFeature</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="p2" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstPluginFeature</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="check_version" c:identifier="gst_plugin_feature_check_version">
|
|
<doc xml:space="preserve">Checks whether the given plugin feature is at least
|
|
the required version</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the plugin feature has at least
|
|
the required version, otherwise %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_major" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum required major version</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_minor" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum required minor version</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_micro" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum required micro version</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_plugin" c:identifier="gst_plugin_feature_get_plugin">
|
|
<doc xml:space="preserve">Get the plugin that provides this feature.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the plugin that provides this
|
|
feature, or %NULL. Unref with gst_object_unref() when no
|
|
longer needed.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_plugin_name" c:identifier="gst_plugin_feature_get_plugin_name" version="1.2">
|
|
<doc xml:space="preserve">Get the name of the plugin that provides this feature.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the name of the plugin that provides this
|
|
feature, or %NULL if the feature is not associated with a
|
|
plugin.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_rank" c:identifier="gst_plugin_feature_get_rank">
|
|
<doc xml:space="preserve">Gets the rank of a plugin feature.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The rank of the feature</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">a feature</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load" c:identifier="gst_plugin_feature_load">
|
|
<doc xml:space="preserve">Loads the plugin containing @feature if it's not already loaded. @feature is
|
|
unaffected; use the return value instead.
|
|
|
|
Normally this function is used like this:
|
|
|[<!-- language="C" -->
|
|
GstPluginFeature *loaded_feature;
|
|
|
|
loaded_feature = gst_plugin_feature_load (feature);
|
|
// presumably, we're no longer interested in the potentially-unloaded feature
|
|
gst_object_unref (feature);
|
|
feature = loaded_feature;
|
|
]|</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a reference to the loaded
|
|
feature, or %NULL on error</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin feature to check</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_rank" c:identifier="gst_plugin_feature_set_rank">
|
|
<doc xml:space="preserve">Specifies a rank for a plugin feature, so that autoplugging uses
|
|
the most appropriate feature.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">feature to rank</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</instance-parameter>
|
|
<parameter name="rank" transfer-ownership="none">
|
|
<doc xml:space="preserve">rank value - higher number means more priority rank</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="PluginFeatureClass" c:type="GstPluginFeatureClass" disguised="1" glib:is-gtype-struct-for="PluginFeature">
|
|
|
|
</record>
|
|
<callback name="PluginFeatureFilter" c:type="GstPluginFeatureFilter">
|
|
<doc xml:space="preserve">A function that can be used with e.g. gst_registry_feature_filter()
|
|
to get a list of pluginfeature that match certain criteria.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for a positive match, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pluginfeature to check</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">the user_data that has been passed on e.g.
|
|
gst_registry_feature_filter()</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PluginFilter" c:type="GstPluginFilter">
|
|
<doc xml:space="preserve">A function that can be used with e.g. gst_registry_plugin_filter()
|
|
to get a list of plugins that match certain criteria.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for a positive match, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin to check</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">the user_data that has been passed on e.g. gst_registry_plugin_filter()</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<bitfield name="PluginFlags" glib:type-name="GstPluginFlags" glib:get-type="gst_plugin_flags_get_type" c:type="GstPluginFlags">
|
|
<doc xml:space="preserve">The plugin loading state</doc>
|
|
<member name="cached" value="16" c:identifier="GST_PLUGIN_FLAG_CACHED" glib:nick="cached">
|
|
<doc xml:space="preserve">Temporarily loaded plugins</doc>
|
|
</member>
|
|
<member name="blacklisted" value="32" c:identifier="GST_PLUGIN_FLAG_BLACKLISTED" glib:nick="blacklisted">
|
|
<doc xml:space="preserve">The plugin won't be scanned (again)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="PluginInitFullFunc" c:type="GstPluginInitFullFunc">
|
|
<doc xml:space="preserve">A plugin should provide a pointer to a function of either #GstPluginInitFunc
|
|
or this type in the plugin_desc struct.
|
|
The function will be called by the loader at startup. One would then
|
|
register each #GstPluginFeature. This version allows
|
|
user data to be passed to init function (useful for bindings).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if plugin initialised successfully</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">The plugin object</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">extra data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="PluginInitFunc" c:type="GstPluginInitFunc">
|
|
<doc xml:space="preserve">A plugin should provide a pointer to a function of this type in the
|
|
plugin_desc struct.
|
|
This function will be called by the loader at startup. One would then
|
|
register each #GstPluginFeature.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if plugin initialised successfully</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">The plugin object</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="Poll" c:type="GstPoll" disguised="1">
|
|
<doc xml:space="preserve">A #GstPoll keeps track of file descriptors much like fd_set (used with
|
|
select ()) or a struct pollfd array (used with poll ()). Once created with
|
|
gst_poll_new(), the set can be used to wait for file descriptors to be
|
|
readable and/or writable. It is possible to make this wait be controlled
|
|
by specifying %TRUE for the @controllable flag when creating the set (or
|
|
later calling gst_poll_set_controllable()).
|
|
|
|
New file descriptors are added to the set using gst_poll_add_fd(), and
|
|
removed using gst_poll_remove_fd(). Controlling which file descriptors
|
|
should be waited for to become readable and/or writable are done using
|
|
gst_poll_fd_ctl_read(), gst_poll_fd_ctl_write() and gst_poll_fd_ctl_pri().
|
|
|
|
Use gst_poll_wait() to wait for the file descriptors to actually become
|
|
readable and/or writable, or to timeout if no file descriptor is available
|
|
in time. The wait can be controlled by calling gst_poll_restart() and
|
|
gst_poll_set_flushing().
|
|
|
|
Once the file descriptor set has been waited for, one can use
|
|
gst_poll_fd_has_closed() to see if the file descriptor has been closed,
|
|
gst_poll_fd_has_error() to see if it has generated an error,
|
|
gst_poll_fd_can_read() to see if it is possible to read from the file
|
|
descriptor, and gst_poll_fd_can_write() to see if it is possible to
|
|
write to it.</doc>
|
|
|
|
<method name="add_fd" c:identifier="gst_poll_add_fd">
|
|
<doc xml:space="preserve">Add a file descriptor to the file descriptor set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the file descriptor was successfully added to the set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_can_read" c:identifier="gst_poll_fd_can_read">
|
|
<doc xml:space="preserve">Check if @fd in @set has data to be read.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor has data to be read.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="const GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_can_write" c:identifier="gst_poll_fd_can_write">
|
|
<doc xml:space="preserve">Check if @fd in @set can be used for writing.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor can be used for writing.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="const GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_ctl_pri" c:identifier="gst_poll_fd_ctl_pri" version="1.16">
|
|
<doc xml:space="preserve">Control whether the descriptor @fd in @set will be monitored for
|
|
exceptional conditions (POLLPRI).
|
|
|
|
Not implemented on Windows (will just return %FALSE there).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor was successfully updated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">a new status.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_ctl_read" c:identifier="gst_poll_fd_ctl_read">
|
|
<doc xml:space="preserve">Control whether the descriptor @fd in @set will be monitored for
|
|
readability.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor was successfully updated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">a new status.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_ctl_write" c:identifier="gst_poll_fd_ctl_write">
|
|
<doc xml:space="preserve">Control whether the descriptor @fd in @set will be monitored for
|
|
writability.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor was successfully updated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">a new status.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_has_closed" c:identifier="gst_poll_fd_has_closed">
|
|
<doc xml:space="preserve">Check if @fd in @set has closed the connection.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the connection was closed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="const GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_has_error" c:identifier="gst_poll_fd_has_error">
|
|
<doc xml:space="preserve">Check if @fd in @set has an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor has an error.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="const GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_has_pri" c:identifier="gst_poll_fd_has_pri" version="1.16">
|
|
<doc xml:space="preserve">Check if @fd in @set has an exceptional condition (POLLPRI).
|
|
|
|
Not implemented on Windows (will just return %FALSE there).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the descriptor has an exceptional condition.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="const GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fd_ignored" c:identifier="gst_poll_fd_ignored">
|
|
<doc xml:space="preserve">Mark @fd as ignored so that the next call to gst_poll_wait() will yield
|
|
the same result for @fd as last time. This function must be called if no
|
|
operation (read/write/recv/send/etc.) will be performed on @fd before
|
|
the next call to gst_poll_wait().
|
|
|
|
The reason why this is needed is because the underlying implementation
|
|
might not allow querying the fd more than once between calls to one of
|
|
the re-enabling operations.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_poll_free">
|
|
<doc xml:space="preserve">Free a file descriptor set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="full">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_read_gpollfd" c:identifier="gst_poll_get_read_gpollfd">
|
|
<doc xml:space="preserve">Get a GPollFD for the reading part of the control socket. This is useful when
|
|
integrating with a GSource and GMainLoop.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GPollFD</doc>
|
|
<type name="GLib.PollFD" c:type="GPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="read_control" c:identifier="gst_poll_read_control">
|
|
<doc xml:space="preserve">Read a byte from the control socket of the controllable @set.
|
|
|
|
This function only works for timer #GstPoll objects created with
|
|
gst_poll_new_timer().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success. %FALSE when when there was no byte to read or
|
|
reading the byte failed. If there was no byte to read, and only then, errno
|
|
will contain EWOULDBLOCK or EAGAIN. For all other values of errno this always signals a
|
|
critical error.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_fd" c:identifier="gst_poll_remove_fd">
|
|
<doc xml:space="preserve">Remove a file descriptor from the file descriptor set.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the file descriptor was successfully removed from the set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor set.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a file descriptor.</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="restart" c:identifier="gst_poll_restart">
|
|
<doc xml:space="preserve">Restart any gst_poll_wait() that is in progress. This function is typically
|
|
used after adding or removing descriptors to @set.
|
|
|
|
If @set is not controllable, then this call will have no effect.
|
|
|
|
This function only works for non-timer #GstPoll objects created with
|
|
gst_poll_new().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_controllable" c:identifier="gst_poll_set_controllable">
|
|
<doc xml:space="preserve">When @controllable is %TRUE, this function ensures that future calls to
|
|
gst_poll_wait() will be affected by gst_poll_restart() and
|
|
gst_poll_set_flushing().
|
|
|
|
This function only works for non-timer #GstPoll objects created with
|
|
gst_poll_new().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the controllability of @set could be updated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="controllable" transfer-ownership="none">
|
|
<doc xml:space="preserve">new controllable state.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_flushing" c:identifier="gst_poll_set_flushing">
|
|
<doc xml:space="preserve">When @flushing is %TRUE, this function ensures that current and future calls
|
|
to gst_poll_wait() will return -1, with errno set to EBUSY.
|
|
|
|
Unsetting the flushing state will restore normal operation of @set.
|
|
|
|
This function only works for non-timer #GstPoll objects created with
|
|
gst_poll_new().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="flushing" transfer-ownership="none">
|
|
<doc xml:space="preserve">new flushing state.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="wait" c:identifier="gst_poll_wait">
|
|
<doc xml:space="preserve">Wait for activity on the file descriptors in @set. This function waits up to
|
|
the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever.
|
|
|
|
For #GstPoll objects created with gst_poll_new(), this function can only be
|
|
called from a single thread at a time. If called from multiple threads,
|
|
-1 will be returned with errno set to EPERM.
|
|
|
|
This is not true for timer #GstPoll objects created with
|
|
gst_poll_new_timer(), where it is allowed to have multiple threads waiting
|
|
simultaneously.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of #GstPollFD in @set that have activity or 0 when no
|
|
activity was detected after @timeout. If an error occurs, -1 is returned
|
|
and errno is set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a timeout in nanoseconds.</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="write_control" c:identifier="gst_poll_write_control">
|
|
<doc xml:space="preserve">Write a byte to the control socket of the controllable @set.
|
|
This function is mostly useful for timer #GstPoll objects created with
|
|
gst_poll_new_timer().
|
|
|
|
It will make any current and future gst_poll_wait() function return with
|
|
1, meaning the control socket is set. After an equal amount of calls to
|
|
gst_poll_read_control() have been performed, calls to gst_poll_wait() will
|
|
block again until their timeout expired.
|
|
|
|
This function only works for timer #GstPoll objects created with
|
|
gst_poll_new_timer().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success. %FALSE when when the byte could not be written.
|
|
errno contains the detailed error code but will never be EAGAIN, EINTR or
|
|
EWOULDBLOCK. %FALSE always signals a critical error.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="set" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPoll.</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new" c:identifier="gst_poll_new" introspectable="0">
|
|
<doc xml:space="preserve">Create a new file descriptor set. If @controllable, it
|
|
is possible to restart or flush a call to gst_poll_wait() with
|
|
gst_poll_restart() and gst_poll_set_flushing() respectively.
|
|
|
|
Free-function: gst_poll_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPoll, or %NULL in
|
|
case of an error. Free with gst_poll_free().</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="controllable" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether it should be possible to control a wait.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="new_timer" c:identifier="gst_poll_new_timer" introspectable="0">
|
|
<doc xml:space="preserve">Create a new poll object that can be used for scheduling cancellable
|
|
timeouts.
|
|
|
|
A timeout is performed with gst_poll_wait(). Multiple timeouts can be
|
|
performed from different threads.
|
|
|
|
Free-function: gst_poll_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPoll, or %NULL in
|
|
case of an error. Free with gst_poll_free().</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="PollFD" c:type="GstPollFD">
|
|
<doc xml:space="preserve">A file descriptor object.</doc>
|
|
|
|
<field name="fd" writable="1">
|
|
<doc xml:space="preserve">a file descriptor</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="idx" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<method name="init" c:identifier="gst_poll_fd_init">
|
|
<doc xml:space="preserve">Initializes @fd. Alternatively you can initialize it with
|
|
#GST_POLL_FD_INIT.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fd" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPollFD</doc>
|
|
<type name="PollFD" c:type="GstPollFD*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<interface name="Preset" c:symbol-prefix="preset" c:type="GstPreset" glib:type-name="GstPreset" glib:get-type="gst_preset_get_type" glib:type-struct="PresetInterface">
|
|
<doc xml:space="preserve">This interface offers methods to query and manipulate parameter preset sets.
|
|
A preset is a bunch of property settings, together with meta data and a name.
|
|
The name of a preset serves as key for subsequent method calls to manipulate
|
|
single presets.
|
|
All instances of one type will share the list of presets. The list is created
|
|
on demand, if presets are not used, the list is not created.
|
|
|
|
The interface comes with a default implementation that serves most plugins.
|
|
Wrapper plugins will override most methods to implement support for the
|
|
native preset format of those wrapped plugins.
|
|
One method that is useful to be overridden is gst_preset_get_property_names().
|
|
With that one can control which properties are saved and in which order.
|
|
When implementing support for read-only presets, one should set the vmethods
|
|
for gst_preset_save_preset() and gst_preset_delete_preset() to %NULL.
|
|
Applications can use gst_preset_is_editable() to check for that.
|
|
|
|
The default implementation supports presets located in a system directory,
|
|
application specific directory and in the users home directory. When getting
|
|
a list of presets individual presets are read and overlaid in 1) system,
|
|
2) application and 3) user order. Whenever an earlier entry is newer, the
|
|
later entries will be updated. Since 1.8 you can also provide extra paths
|
|
where to find presets through the GST_PRESET_PATH environment variable.
|
|
Presets found in those paths will be considered as "app presets".</doc>
|
|
|
|
<function name="get_app_dir" c:identifier="gst_preset_get_app_dir">
|
|
<doc xml:space="preserve">Gets the directory for application specific presets if set by the
|
|
application.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the directory or %NULL, don't free or modify
|
|
the string</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="set_app_dir" c:identifier="gst_preset_set_app_dir">
|
|
<doc xml:space="preserve">Sets an extra directory as an absolute path that should be considered when
|
|
looking for presets. Any presets in the application dir will shadow the
|
|
system presets.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if the dir already has been set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="app_dir" transfer-ownership="none">
|
|
<doc xml:space="preserve">the application specific preset dir</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="delete_preset" invoker="delete_preset">
|
|
<doc xml:space="preserve">Delete the given preset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_meta" invoker="get_meta">
|
|
<doc xml:space="preserve">Gets the @value for an existing meta data @tag. Meta data @tag names can be
|
|
something like e.g. "comment". Returned values need to be released when done.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name
|
|
or no value for the given @tag</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">meta data item name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">value</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_preset_names" invoker="get_preset_names">
|
|
<doc xml:space="preserve">Get a copy of preset names as a %NULL terminated string array.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
list with names, use g_strfreev() after usage.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_property_names" invoker="get_property_names">
|
|
<doc xml:space="preserve">Get a the names of the GObject properties that can be used for presets.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an
|
|
array of property names which should be freed with g_strfreev() after use.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="load_preset" invoker="load_preset">
|
|
<doc xml:space="preserve">Load the given preset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to load</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="rename_preset" invoker="rename_preset">
|
|
<doc xml:space="preserve">Renames a preset. If there is already a preset by the @new_name it will be
|
|
overwritten.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="old_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">current preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="new_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">new preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="save_preset" invoker="save_preset">
|
|
<doc xml:space="preserve">Save the current object settings as a preset under the given name. If there
|
|
is already a preset by this @name it will be overwritten.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to save</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_meta" invoker="set_meta">
|
|
<doc xml:space="preserve">Sets a new @value for an existing meta data item or adds a new item. Meta
|
|
data @tag names can be something like e.g. "comment". Supplying %NULL for the
|
|
@value will unset an existing value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">meta data item name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">new value</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="delete_preset" c:identifier="gst_preset_delete_preset">
|
|
<doc xml:space="preserve">Delete the given preset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_meta" c:identifier="gst_preset_get_meta">
|
|
<doc xml:space="preserve">Gets the @value for an existing meta data @tag. Meta data @tag names can be
|
|
something like e.g. "comment". Returned values need to be released when done.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name
|
|
or no value for the given @tag</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">meta data item name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">value</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_preset_names" c:identifier="gst_preset_get_preset_names">
|
|
<doc xml:space="preserve">Get a copy of preset names as a %NULL terminated string array.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
list with names, use g_strfreev() after usage.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_property_names" c:identifier="gst_preset_get_property_names">
|
|
<doc xml:space="preserve">Get a the names of the GObject properties that can be used for presets.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an
|
|
array of property names which should be freed with g_strfreev() after use.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_editable" c:identifier="gst_preset_is_editable" version="1.6">
|
|
<doc xml:space="preserve">Check if one can add new presets, change existing ones and remove presets.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if presets are editable or %FALSE if they are static</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load_preset" c:identifier="gst_preset_load_preset">
|
|
<doc xml:space="preserve">Load the given preset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to load</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="rename_preset" c:identifier="gst_preset_rename_preset">
|
|
<doc xml:space="preserve">Renames a preset. If there is already a preset by the @new_name it will be
|
|
overwritten.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="old_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">current preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="new_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">new preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_preset" c:identifier="gst_preset_save_preset">
|
|
<doc xml:space="preserve">Save the current object settings as a preset under the given name. If there
|
|
is already a preset by this @name it will be overwritten.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to save</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_meta" c:identifier="gst_preset_set_meta">
|
|
<doc xml:space="preserve">Sets a new @value for an existing meta data item or adds a new item. Meta
|
|
data @tag names can be something like e.g. "comment". Supplying %NULL for the
|
|
@value will unset an existing value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">meta data item name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">new value</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="PresetInterface" c:type="GstPresetInterface" glib:is-gtype-struct-for="Preset">
|
|
<doc xml:space="preserve">#GstPreset interface.</doc>
|
|
|
|
<field name="parent">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="get_preset_names">
|
|
<callback name="get_preset_names">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
list with names, use g_strfreev() after usage.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_property_names">
|
|
<callback name="get_property_names">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">an
|
|
array of property names which should be freed with g_strfreev() after use.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="load_preset">
|
|
<callback name="load_preset">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to load</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="save_preset">
|
|
<callback name="save_preset">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to save</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="rename_preset">
|
|
<callback name="rename_preset">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
<parameter name="old_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">current preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="new_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">new preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="delete_preset">
|
|
<callback name="delete_preset">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_meta">
|
|
<callback name="set_meta">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">meta data item name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">new value</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_meta">
|
|
<callback name="get_meta">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name
|
|
or no value for the given @tag</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="preset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GObject that implements #GstPreset</doc>
|
|
<type name="Preset" c:type="GstPreset*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">preset name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">meta data item name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">value</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<enumeration name="ProgressType" glib:type-name="GstProgressType" glib:get-type="gst_progress_type_get_type" c:type="GstProgressType">
|
|
<doc xml:space="preserve">The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the
|
|
application of the status of asynchronous tasks.</doc>
|
|
<member name="start" value="0" c:identifier="GST_PROGRESS_TYPE_START" glib:nick="start">
|
|
<doc xml:space="preserve">A new task started.</doc>
|
|
</member>
|
|
<member name="continue" value="1" c:identifier="GST_PROGRESS_TYPE_CONTINUE" glib:nick="continue">
|
|
<doc xml:space="preserve">A task completed and a new one continues.</doc>
|
|
</member>
|
|
<member name="complete" value="2" c:identifier="GST_PROGRESS_TYPE_COMPLETE" glib:nick="complete">
|
|
<doc xml:space="preserve">A task completed.</doc>
|
|
</member>
|
|
<member name="canceled" value="3" c:identifier="GST_PROGRESS_TYPE_CANCELED" glib:nick="canceled">
|
|
<doc xml:space="preserve">A task was canceled.</doc>
|
|
</member>
|
|
<member name="error" value="4" c:identifier="GST_PROGRESS_TYPE_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">A task caused an error. An error message is also
|
|
posted on the bus.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="Promise" c:type="GstPromise" version="1.14" glib:type-name="GstPromise" glib:get-type="gst_promise_get_type" c:symbol-prefix="promise">
|
|
<doc xml:space="preserve">The #GstPromise object implements the container for values that may
|
|
be available later. i.e. a Future or a Promise in
|
|
<https://en.wikipedia.org/wiki/Futures_and_promises>.
|
|
As with all Future/Promise-like functionality, there is the concept of the
|
|
producer of the value and the consumer of the value.
|
|
|
|
A #GstPromise is created with gst_promise_new() by the consumer and passed
|
|
to the producer to avoid thread safety issues with the change callback.
|
|
A #GstPromise can be replied to with a value (or an error) by the producer
|
|
with gst_promise_reply(). The exact value returned is defined by the API
|
|
contract of the producer and %NULL may be a valid reply.
|
|
gst_promise_interrupt() is for the consumer to
|
|
indicate to the producer that the value is not needed anymore and producing
|
|
that value can stop. The @GST_PROMISE_RESULT_EXPIRED state set by a call
|
|
to gst_promise_expire() indicates to the consumer that a value will never
|
|
be produced and is intended to be called by a third party that implements
|
|
some notion of message handling such as #GstBus.
|
|
A callback can also be installed at #GstPromise creation for
|
|
result changes with gst_promise_new_with_change_func().
|
|
The change callback can be used to chain #GstPromises's together as in the
|
|
following example.
|
|
|[<!-- language="C" -->
|
|
const GstStructure *reply;
|
|
GstPromise *p;
|
|
if (gst_promise_wait (promise) != GST_PROMISE_RESULT_REPLIED)
|
|
return; // interrupted or expired value
|
|
reply = gst_promise_get_reply (promise);
|
|
if (error in reply)
|
|
return; // propagate error
|
|
p = gst_promise_new_with_change_func (another_promise_change_func, user_data, notify);
|
|
pass p to promise-using API
|
|
]|
|
|
|
|
Each #GstPromise starts out with a #GstPromiseResult of
|
|
%GST_PROMISE_RESULT_PENDING and only ever transitions once
|
|
into one of the other #GstPromiseResult's.
|
|
|
|
In order to support multi-threaded code, gst_promise_reply(),
|
|
gst_promise_interrupt() and gst_promise_expire() may all be from
|
|
different threads with some restrictions and the final result of the promise
|
|
is whichever call is made first. There are two restrictions on ordering:
|
|
|
|
1. That gst_promise_reply() and gst_promise_interrupt() cannot be called
|
|
after gst_promise_expire()
|
|
2. That gst_promise_reply() and gst_promise_interrupt()
|
|
cannot be called twice.
|
|
|
|
The change function set with gst_promise_new_with_change_func() is
|
|
called directly from either the gst_promise_reply(),
|
|
gst_promise_interrupt() or gst_promise_expire() and can be called
|
|
from an arbitrary thread. #GstPromise using APIs can restrict this to
|
|
a single thread or a subset of threads but that is entirely up to the API
|
|
that uses #GstPromise.</doc>
|
|
|
|
<field name="parent" writable="1">
|
|
<doc xml:space="preserve">parent #GstMiniObject</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_promise_new" version="1.14">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_with_change_func" c:identifier="gst_promise_new_with_change_func" version="1.14">
|
|
<doc xml:space="preserve">@func will be called exactly once when transitioning out of
|
|
%GST_PROMISE_RESULT_PENDING into any of the other #GstPromiseResult
|
|
states.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">a #GstPromiseChangeFunc to call</doc>
|
|
<type name="PromiseChangeFunc" c:type="GstPromiseChangeFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">argument to call @func with</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">notification function that @user_data is no longer needed</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="expire" c:identifier="gst_promise_expire" version="1.14">
|
|
<doc xml:space="preserve">Expire a @promise. This will wake up any waiters with
|
|
%GST_PROMISE_RESULT_EXPIRED. Called by a message loop when the parent
|
|
message is handled and/or destroyed (possibly unanswered).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="promise" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_reply" c:identifier="gst_promise_get_reply" version="1.14">
|
|
<doc xml:space="preserve">Retrieve the reply set on @promise. @promise must be in
|
|
%GST_PROMISE_RESULT_REPLIED and the returned structure is owned by @promise</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The reply set on @promise</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="promise" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="interrupt" c:identifier="gst_promise_interrupt" version="1.14">
|
|
<doc xml:space="preserve">Interrupt waiting for a @promise. This will wake up any waiters with
|
|
%GST_PROMISE_RESULT_INTERRUPTED. Called when the consumer does not want
|
|
the value produced anymore.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="promise" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="reply" c:identifier="gst_promise_reply" version="1.14">
|
|
<doc xml:space="preserve">Set a reply on @promise. This will wake up any waiters with
|
|
%GST_PROMISE_RESULT_REPLIED. Called by the producer of the value to
|
|
indicate success (or failure).
|
|
|
|
If @promise has already been interrupted by the consumer, then this reply
|
|
is not visible to the consumer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="promise" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</instance-parameter>
|
|
<parameter name="s" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstStructure with the the reply contents</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="wait" c:identifier="gst_promise_wait" version="1.14">
|
|
<doc xml:space="preserve">Wait for @promise to move out of the %GST_PROMISE_RESULT_PENDING state.
|
|
If @promise is not in %GST_PROMISE_RESULT_PENDING then it will return
|
|
immediately with the current result.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the result of the promise</doc>
|
|
<type name="PromiseResult" c:type="GstPromiseResult"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="promise" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="PromiseChangeFunc" c:type="GstPromiseChangeFunc" version="1.14">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="promise" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPromise</doc>
|
|
<type name="Promise" c:type="GstPromise*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="PromiseResult" version="1.14" glib:type-name="GstPromiseResult" glib:get-type="gst_promise_result_get_type" c:type="GstPromiseResult">
|
|
<doc xml:space="preserve">The result of a #GstPromise</doc>
|
|
<member name="pending" value="0" c:identifier="GST_PROMISE_RESULT_PENDING" glib:nick="pending">
|
|
<doc xml:space="preserve">Initial state. Waiting for transition to any
|
|
other state.</doc>
|
|
</member>
|
|
<member name="interrupted" value="1" c:identifier="GST_PROMISE_RESULT_INTERRUPTED" glib:nick="interrupted">
|
|
<doc xml:space="preserve">Interrupted by the consumer as it doesn't
|
|
want the value anymore.</doc>
|
|
</member>
|
|
<member name="replied" value="2" c:identifier="GST_PROMISE_RESULT_REPLIED" glib:nick="replied">
|
|
<doc xml:space="preserve">A producer marked a reply</doc>
|
|
</member>
|
|
<member name="expired" value="3" c:identifier="GST_PROMISE_RESULT_EXPIRED" glib:nick="expired">
|
|
<doc xml:space="preserve">The promise expired (the carrying object
|
|
lost all refs) and the promise will never be fulfilled.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="ProtectionMeta" c:type="GstProtectionMeta" version="1.6">
|
|
<doc xml:space="preserve">Metadata type that holds information about a sample from a protection-protected
|
|
track, including the information needed to decrypt it (if it is encrypted).</doc>
|
|
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">the parent #GstMeta.</doc>
|
|
<type name="Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">the cryptographic information needed to decrypt the sample.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_protection_meta_get_info">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<class name="ProxyPad" c:symbol-prefix="proxy_pad" c:type="GstProxyPad" parent="Pad" glib:type-name="GstProxyPad" glib:get-type="gst_proxy_pad_get_type" glib:type-struct="ProxyPadClass">
|
|
|
|
<function name="chain_default" c:identifier="gst_proxy_pad_chain_default">
|
|
<doc xml:space="preserve">Invoke the default chain function of the proxy pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the pad.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBuffer to send, return GST_FLOW_ERROR
|
|
if not.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="chain_list_default" c:identifier="gst_proxy_pad_chain_list_default">
|
|
<doc xml:space="preserve">Invoke the default chain list function of the proxy pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the pad.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="list" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstBufferList to send, return GST_FLOW_ERROR
|
|
if not.</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="getrange_default" c:identifier="gst_proxy_pad_getrange_default">
|
|
<doc xml:space="preserve">Invoke the default getrange function of the proxy pad.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn from the pad.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a src #GstPad, returns #GST_FLOW_ERROR if not.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the parent of @pad</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The start offset of the buffer</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">The length of the buffer</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to hold the #GstBuffer,
|
|
returns #GST_FLOW_ERROR if %NULL.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="iterate_internal_links_default" c:identifier="gst_proxy_pad_iterate_internal_links_default">
|
|
<doc xml:space="preserve">Invoke the default iterate internal links function of the proxy pad.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a #GstIterator of #GstPad, or %NULL if @pad
|
|
has no parent. Unref each returned pad with gst_object_unref().</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstPad to get the internal links of.</doc>
|
|
<type name="Pad" c:type="GstPad*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the parent of @pad or %NULL</doc>
|
|
<type name="Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="get_internal" c:identifier="gst_proxy_pad_get_internal">
|
|
<doc xml:space="preserve">Get the internal pad of @pad. Unref target pad after usage.
|
|
|
|
The internal pad of a #GstGhostPad is the internally used
|
|
pad of opposite direction, which is used to link to the target.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the target #GstProxyPad, can
|
|
be %NULL. Unref target pad after usage.</doc>
|
|
<type name="ProxyPad" c:type="GstProxyPad*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstProxyPad</doc>
|
|
<type name="ProxyPad" c:type="GstProxyPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="pad">
|
|
<type name="Pad" c:type="GstPad"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ProxyPadPrivate" c:type="GstProxyPadPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="ProxyPadClass" c:type="GstProxyPadClass" glib:is-gtype-struct-for="ProxyPad">
|
|
|
|
<field name="parent_class">
|
|
<type name="PadClass" c:type="GstPadClass"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="ProxyPadPrivate" c:type="GstProxyPadPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="QOSType" glib:type-name="GstQOSType" glib:get-type="gst_qos_type_get_type" c:type="GstQOSType">
|
|
<doc xml:space="preserve">The different types of QoS events that can be given to the
|
|
gst_event_new_qos() method.</doc>
|
|
<member name="overflow" value="0" c:identifier="GST_QOS_TYPE_OVERFLOW" glib:nick="overflow">
|
|
<doc xml:space="preserve">The QoS event type that is produced when upstream
|
|
elements are producing data too quickly and the element can't keep up
|
|
processing the data. Upstream should reduce their production rate. This
|
|
type is also used when buffers arrive early or in time.</doc>
|
|
</member>
|
|
<member name="underflow" value="1" c:identifier="GST_QOS_TYPE_UNDERFLOW" glib:nick="underflow">
|
|
<doc xml:space="preserve">The QoS event type that is produced when upstream
|
|
elements are producing data too slowly and need to speed up their
|
|
production rate.</doc>
|
|
</member>
|
|
<member name="throttle" value="2" c:identifier="GST_QOS_TYPE_THROTTLE" glib:nick="throttle">
|
|
<doc xml:space="preserve">The QoS event type that is produced when the
|
|
application enabled throttling to limit the data rate.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="QUERY" c:identifier="GST_QUERY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="QUERY_CAST" c:identifier="GST_QUERY_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="QUERY_IS_DOWNSTREAM" c:identifier="GST_QUERY_IS_DOWNSTREAM" introspectable="0">
|
|
<doc xml:space="preserve">Check if an query can travel downstream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the query to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="QUERY_IS_SERIALIZED" c:identifier="GST_QUERY_IS_SERIALIZED" introspectable="0">
|
|
<doc xml:space="preserve">Check if an query is serialized with the data stream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the query to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="QUERY_IS_UPSTREAM" c:identifier="GST_QUERY_IS_UPSTREAM" introspectable="0">
|
|
<doc xml:space="preserve">Check if an query can travel upstream.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">the query to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="QUERY_MAKE_TYPE" c:identifier="GST_QUERY_MAKE_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">when making custom query types, use this macro with the num and
|
|
the given flags</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">the query number to create</doc>
|
|
</parameter>
|
|
<parameter name="flags">
|
|
<doc xml:space="preserve">the query flags</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="QUERY_NUM_SHIFT" value="8" c:type="GST_QUERY_NUM_SHIFT">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="QUERY_TYPE" c:identifier="GST_QUERY_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">Get the #GstQueryType of the query.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="query">
|
|
<doc xml:space="preserve">the query to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="QUERY_TYPE_BOTH" value="3" c:type="GST_QUERY_TYPE_BOTH">
|
|
<doc xml:space="preserve">The same thing as #GST_QUERY_TYPE_UPSTREAM | #GST_QUERY_TYPE_DOWNSTREAM.</doc>
|
|
|
|
<type name="QueryTypeFlags" c:type="GstQueryTypeFlags"/>
|
|
</constant>
|
|
<function-macro name="QUERY_TYPE_NAME" c:identifier="GST_QUERY_TYPE_NAME" introspectable="0">
|
|
<doc xml:space="preserve">Get a constant string representation of the #GstQueryType of the query.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="query">
|
|
<doc xml:space="preserve">the query to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Query" c:type="GstQuery" glib:type-name="GstQuery" glib:get-type="gst_query_get_type" c:symbol-prefix="query">
|
|
<doc xml:space="preserve">Queries can be performed on pads (gst_pad_query()) and elements
|
|
(gst_element_query()). Please note that some queries might need a running
|
|
pipeline to work.
|
|
|
|
Queries can be created using the gst_query_new_*() functions.
|
|
Query values can be set using gst_query_set_*(), and parsed using
|
|
gst_query_parse_*() helpers.
|
|
|
|
The following example shows how to query the duration of a pipeline:
|
|
|[<!-- language="C" -->
|
|
GstQuery *query;
|
|
gboolean res;
|
|
query = gst_query_new_duration (GST_FORMAT_TIME);
|
|
res = gst_element_query (pipeline, query);
|
|
if (res) {
|
|
gint64 duration;
|
|
gst_query_parse_duration (query, NULL, &amp;duration);
|
|
g_print ("duration = %"GST_TIME_FORMAT, GST_TIME_ARGS (duration));
|
|
} else {
|
|
g_print ("duration query failed...");
|
|
}
|
|
gst_query_unref (query);
|
|
]|</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">The parent #GstMiniObject type</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the #GstQueryType</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</field>
|
|
<constructor name="new_accept_caps" c:identifier="gst_query_new_accept_caps">
|
|
<doc xml:space="preserve">Constructs a new query object for querying if @caps are accepted.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a fixed #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_allocation" c:identifier="gst_query_new_allocation">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the allocation properties.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the negotiated caps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="need_pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">return a pool</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_bitrate" c:identifier="gst_query_new_bitrate" version="1.16">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the bitrate.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_buffering" c:identifier="gst_query_new_buffering">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the buffering status of
|
|
a stream.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the default #GstFormat for the new query</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_caps" c:identifier="gst_query_new_caps">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the caps.
|
|
|
|
The CAPS query should return the allowable caps for a pad in the context
|
|
of the element's state, its link to other elements, and the devices or files
|
|
it has opened. These caps must be a subset of the pad template caps. In the
|
|
NULL state with no links, the CAPS query should ideally return the same caps
|
|
as the pad template. In rare circumstances, an object property can affect
|
|
the caps returned by the CAPS query, but this is discouraged.
|
|
|
|
For most filters, the caps returned by CAPS query is directly affected by the
|
|
allowed caps on other pads. For demuxers and decoders, the caps returned by
|
|
the srcpad's getcaps function is directly related to the stream data. Again,
|
|
the CAPS query should return the most specific caps it reasonably can, since this
|
|
helps with autoplugging.
|
|
|
|
The @filter is used to restrict the result caps, only the caps matching
|
|
@filter should be returned from the CAPS query. Specifying a filter might
|
|
greatly reduce the amount of processing an element needs to do.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a filter</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_context" c:identifier="gst_query_new_context" version="1.2">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the pipeline-local context.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Context type to query</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_convert" c:identifier="gst_query_new_convert">
|
|
<doc xml:space="preserve">Constructs a new convert query object. Use gst_query_unref()
|
|
when done with it. A convert query is used to ask for a conversion between
|
|
one format and another.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstFormat for the new query</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to convert</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the target #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_custom" c:identifier="gst_query_new_custom">
|
|
<doc xml:space="preserve">Constructs a new custom query object. Use gst_query_unref()
|
|
when done with it.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the query type</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a structure for the query</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_drain" c:identifier="gst_query_new_drain">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the drain state.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_duration" c:identifier="gst_query_new_duration">
|
|
<doc xml:space="preserve">Constructs a new stream duration query object to query in the given format.
|
|
Use gst_query_unref() when done with it. A duration query will give the
|
|
total length of the stream.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat for this duration query</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_formats" c:identifier="gst_query_new_formats">
|
|
<doc xml:space="preserve">Constructs a new query object for querying formats of
|
|
the stream.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_latency" c:identifier="gst_query_new_latency">
|
|
<doc xml:space="preserve">Constructs a new latency query object.
|
|
Use gst_query_unref() when done with it. A latency query is usually performed
|
|
by sinks to compensate for additional latency introduced by elements in the
|
|
pipeline.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_position" c:identifier="gst_query_new_position">
|
|
<doc xml:space="preserve">Constructs a new query stream position query object. Use gst_query_unref()
|
|
when done with it. A position query is used to query the current position
|
|
of playback in the streams, in some format.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the default #GstFormat for the new query</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_scheduling" c:identifier="gst_query_new_scheduling">
|
|
<doc xml:space="preserve">Constructs a new query object for querying the scheduling properties.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_seeking" c:identifier="gst_query_new_seeking">
|
|
<doc xml:space="preserve">Constructs a new query object for querying seeking properties of
|
|
the stream.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the default #GstFormat for the new query</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_segment" c:identifier="gst_query_new_segment">
|
|
<doc xml:space="preserve">Constructs a new segment query object. Use gst_query_unref()
|
|
when done with it. A segment query is used to discover information about the
|
|
currently configured segment for playback.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat for the new query</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_uri" c:identifier="gst_query_new_uri">
|
|
<doc xml:space="preserve">Constructs a new query URI query object. Use gst_query_unref()
|
|
when done with it. An URI query is used to query the current URI
|
|
that is used by the source or sink.
|
|
|
|
Free-function: gst_query_unref()</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="add_allocation_meta" c:identifier="gst_query_add_allocation_meta">
|
|
<doc xml:space="preserve">Add @api with @params as one of the supported metadata API to @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">the metadata API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">API specific parameters</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_allocation_param" c:identifier="gst_query_add_allocation_param">
|
|
<doc xml:space="preserve">Add @allocator and its @params as a supported memory allocator.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the memory allocator</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstAllocationParams</doc>
|
|
<type name="AllocationParams" c:type="const GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_allocation_pool" c:identifier="gst_query_add_allocation_pool">
|
|
<doc xml:space="preserve">Set the pool parameters in @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_ALLOCATION.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="pool" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the buffer size</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the min buffers</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="max_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the max buffers</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_buffering_range" c:identifier="gst_query_add_buffering_range">
|
|
<doc xml:space="preserve">Set the buffering-ranges array field in @query. The current last
|
|
start position of the array should be inferior to @start.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if the range was added or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_BUFFERING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">start position of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">stop position of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_scheduling_mode" c:identifier="gst_query_add_scheduling_mode">
|
|
<doc xml:space="preserve">Add @mode as one of the supported scheduling modes to @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadMode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_query_copy" introspectable="0">
|
|
<doc xml:space="preserve">Copies the given query using the copy function of the parent #GstStructure.
|
|
|
|
Free-function: gst_query_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @q.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="q" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery to copy.</doc>
|
|
<type name="Query" c:type="const GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_allocation_meta" c:identifier="gst_query_find_allocation_meta">
|
|
<doc xml:space="preserve">Check if @query has metadata @api set. When this function returns %TRUE,
|
|
@index will contain the index where the requested API and the parameters
|
|
can be found.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @api is in the list of metadata.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">the metadata API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="index" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the index</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_allocation_metas" c:identifier="gst_query_get_n_allocation_metas">
|
|
<doc xml:space="preserve">Retrieve the number of values currently stored in the
|
|
meta API array of the query's structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the metadata API array size as a #guint.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_allocation_params" c:identifier="gst_query_get_n_allocation_params">
|
|
<doc xml:space="preserve">Retrieve the number of values currently stored in the
|
|
allocator params array of the query's structure.
|
|
|
|
If no memory allocator is specified, the downstream element can handle
|
|
the default memory allocator. The first memory allocator in the query
|
|
should be generic and allow mapping to system memory, all following
|
|
allocators should be ordered by preference with the preferred one first.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the allocator array size as a #guint.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_allocation_pools" c:identifier="gst_query_get_n_allocation_pools">
|
|
<doc xml:space="preserve">Retrieve the number of values currently stored in the
|
|
pool array of the query's structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the pool array size as a #guint.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_buffering_ranges" c:identifier="gst_query_get_n_buffering_ranges">
|
|
<doc xml:space="preserve">Retrieve the number of values currently stored in the
|
|
buffered-ranges array of the query's structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the range array size as a #guint.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_BUFFERING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_n_scheduling_modes" c:identifier="gst_query_get_n_scheduling_modes">
|
|
<doc xml:space="preserve">Retrieve the number of values currently stored in the
|
|
scheduling mode array of the query's structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the scheduling mode array size as a #guint.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_structure" c:identifier="gst_query_get_structure">
|
|
<doc xml:space="preserve">Get the structure of a query.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstStructure of the query. The
|
|
structure is still owned by the query and will therefore be freed when the
|
|
query is unreffed.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_scheduling_mode" c:identifier="gst_query_has_scheduling_mode">
|
|
<doc xml:space="preserve">Check if @query has scheduling mode set.
|
|
|
|
> When checking if upstream supports pull mode, it is usually not
|
|
> enough to just check for GST_PAD_MODE_PULL with this function, you
|
|
> also want to check whether the scheduling flags returned by
|
|
> gst_query_parse_scheduling() have the seeking flag set (meaning
|
|
> random access is supported, not only sequential pulls).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @mode is in the list of scheduling modes.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scheduling mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_scheduling_mode_with_flags" c:identifier="gst_query_has_scheduling_mode_with_flags">
|
|
<doc xml:space="preserve">Check if @query has scheduling mode set and @flags is set in
|
|
query scheduling flags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @mode is in the list of scheduling modes
|
|
and @flags are compatible with query flags.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scheduling mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstSchedulingFlags</doc>
|
|
<type name="SchedulingFlags" c:type="GstSchedulingFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_accept_caps" c:identifier="gst_query_parse_accept_caps">
|
|
<doc xml:space="preserve">Get the caps from @query. The caps remains valid as long as @query remains
|
|
valid.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to parse</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the caps</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_accept_caps_result" c:identifier="gst_query_parse_accept_caps_result">
|
|
<doc xml:space="preserve">Parse the result from @query and store in @result.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ACCEPT_CAPS type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="result" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_allocation" c:identifier="gst_query_parse_allocation">
|
|
<doc xml:space="preserve">Parse an allocation query, writing the requested caps in @caps and
|
|
whether a pool is needed in @need_pool, if the respective parameters
|
|
are non-%NULL.
|
|
|
|
Pool details can be retrieved using gst_query_get_n_allocation_pools() and
|
|
gst_query_parse_nth_allocation_pool().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
<parameter name="need_pool" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Whether a #GstBufferPool is needed</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_bitrate" c:identifier="gst_query_parse_bitrate" version="1.16">
|
|
<doc xml:space="preserve">Get the results of a bitrate query. See also gst_query_set_bitrate().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_BITRATE type #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="nominal_bitrate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The resulting bitrate in bits per second</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_buffering_percent" c:identifier="gst_query_parse_buffering_percent">
|
|
<doc xml:space="preserve">Get the percentage of buffered data. This is a value between 0 and 100.
|
|
The @busy indicator is %TRUE when the buffering is in progress.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="busy" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">if buffering is busy, or %NULL</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="percent" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a buffering percent, or %NULL</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_buffering_range" c:identifier="gst_query_parse_buffering_range">
|
|
<doc xml:space="preserve">Parse an available query, writing the format into @format, and
|
|
other results into the passed parameters, if the respective parameters
|
|
are non-%NULL</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_BUFFERING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the format to set for the @segment_start
|
|
and @segment_end values, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="start" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the start to set, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="stop" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the stop to set, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="estimated_total" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">estimated total amount of download
|
|
time remaining in milliseconds, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_buffering_stats" c:identifier="gst_query_parse_buffering_stats">
|
|
<doc xml:space="preserve">Extracts the buffering stats values from @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a buffering mode, or %NULL</doc>
|
|
<type name="BufferingMode" c:type="GstBufferingMode*"/>
|
|
</parameter>
|
|
<parameter name="avg_in" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the average input rate, or %NULL</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="avg_out" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the average output rat, or %NULL</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="buffering_left" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">amount of buffering time left in
|
|
milliseconds, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_caps" c:identifier="gst_query_parse_caps">
|
|
<doc xml:space="preserve">Get the filter from the caps @query. The caps remains valid as long as
|
|
@query remains valid.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to parse</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the caps filter</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_caps_result" c:identifier="gst_query_parse_caps_result">
|
|
<doc xml:space="preserve">Get the caps result from @query. The caps remains valid as long as
|
|
@query remains valid.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to parse</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the caps</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_context" c:identifier="gst_query_parse_context" version="1.2">
|
|
<doc xml:space="preserve">Get the context from the context @query. The context remains valid as long as
|
|
@query remains valid.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to parse</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to store the #GstContext</doc>
|
|
<type name="Context" c:type="GstContext**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_context_type" c:identifier="gst_query_parse_context_type" version="1.2">
|
|
<doc xml:space="preserve">Parse a context type from an existing GST_QUERY_CONTEXT query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if the parsing succeeded.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_CONTEXT type query</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="context_type" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the context type, or %NULL</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_convert" c:identifier="gst_query_parse_convert">
|
|
<doc xml:space="preserve">Parse a convert query answer. Any of @src_format, @src_value, @dest_format,
|
|
and @dest_value may be %NULL, in which case that value is omitted.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the #GstFormat of the
|
|
source value, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="src_value" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the source value, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="dest_format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the #GstFormat of the
|
|
destination value, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="dest_value" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the destination value,
|
|
or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_duration" c:identifier="gst_query_parse_duration">
|
|
<doc xml:space="preserve">Parse a duration query answer. Write the format of the duration into @format,
|
|
and the value into @duration, if the respective variables are non-%NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the #GstFormat of the duration
|
|
value, or %NULL.</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="duration" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the total duration, or %NULL.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_latency" c:identifier="gst_query_parse_latency">
|
|
<doc xml:space="preserve">Parse a latency query answer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="live" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">storage for live or %NULL</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="min_latency" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the min latency or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="max_latency" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the max latency or %NULL</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_n_formats" c:identifier="gst_query_parse_n_formats">
|
|
<doc xml:space="preserve">Parse the number of formats in the formats @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_formats" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the number of formats in this query.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_nth_allocation_meta" c:identifier="gst_query_parse_nth_allocation_meta">
|
|
<doc xml:space="preserve">Parse an available query and get the metadata API
|
|
at @index of the metadata API array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GType of the metadata API at @index.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the metadata API array to read</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="params" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">API specific parameters</doc>
|
|
<type name="Structure" c:type="const GstStructure**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_nth_allocation_param" c:identifier="gst_query_parse_nth_allocation_param">
|
|
<doc xml:space="preserve">Parse an available query and get the allocator and its params
|
|
at @index of the allocator array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the allocator array to read</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="allocator" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">variable to hold the result</doc>
|
|
<type name="Allocator" c:type="GstAllocator**"/>
|
|
</parameter>
|
|
<parameter name="params" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">parameters for the allocator</doc>
|
|
<type name="AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_nth_allocation_pool" c:identifier="gst_query_parse_nth_allocation_pool">
|
|
<doc xml:space="preserve">Get the pool parameters in @query.
|
|
|
|
Unref @pool with gst_object_unref() when it's not needed any more.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_ALLOCATION.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">index to parse</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="pool" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool**"/>
|
|
</parameter>
|
|
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the buffer size</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="min_buffers" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the min buffers</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="max_buffers" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the max buffers</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_nth_buffering_range" c:identifier="gst_query_parse_nth_buffering_range">
|
|
<doc xml:space="preserve">Parse an available query and get the start and stop values stored
|
|
at the @index of the buffered ranges array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if the parsing succeeded.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_BUFFERING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the buffered-ranges array to read</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="start" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the start position to set, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="stop" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the stop position to set, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_nth_format" c:identifier="gst_query_parse_nth_format">
|
|
<doc xml:space="preserve">Parse the format query and retrieve the @nth format from it into
|
|
@format. If the list contains less elements than @nth, @format will be
|
|
set to GST_FORMAT_UNDEFINED.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="nth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nth format to retrieve.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the nth format</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_nth_scheduling_mode" c:identifier="gst_query_parse_nth_scheduling_mode">
|
|
<doc xml:space="preserve">Parse an available query and get the scheduling mode
|
|
at @index of the scheduling modes array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPadMode of the scheduling mode at @index.</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the scheduling modes array to read</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_position" c:identifier="gst_query_parse_position">
|
|
<doc xml:space="preserve">Parse a position query, writing the format into @format, and the position
|
|
into @cur, if the respective parameters are non-%NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the #GstFormat of the
|
|
position values (may be %NULL)</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="cur" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the current position (may be %NULL)</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_scheduling" c:identifier="gst_query_parse_scheduling">
|
|
<doc xml:space="preserve">Set the scheduling properties.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_SCHEDULING.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">#GstSchedulingFlags</doc>
|
|
<type name="SchedulingFlags" c:type="GstSchedulingFlags*"/>
|
|
</parameter>
|
|
<parameter name="minsize" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the suggested minimum size of pull requests</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="maxsize" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the suggested maximum size of pull requests:</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="align" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the suggested alignment of pull requests</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_seeking" c:identifier="gst_query_parse_seeking">
|
|
<doc xml:space="preserve">Parse a seeking query, writing the format into @format, and
|
|
other results into the passed parameters, if the respective parameters
|
|
are non-%NULL</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_SEEKING type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the format to set for the @segment_start
|
|
and @segment_end values, or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="seekable" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the seekable flag to set, or %NULL</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="segment_start" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the segment_start to set, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="segment_end" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the segment_end to set, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_segment" c:identifier="gst_query_parse_segment">
|
|
<doc xml:space="preserve">Parse a segment query answer. Any of @rate, @format, @start_value, and
|
|
@stop_value may be %NULL, which will cause this value to be omitted.
|
|
|
|
See gst_query_set_segment() for an explanation of the function arguments.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the rate of the segment, or %NULL</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="format" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the #GstFormat of the values,
|
|
or %NULL</doc>
|
|
<type name="Format" c:type="GstFormat*"/>
|
|
</parameter>
|
|
<parameter name="start_value" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the start value, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="stop_value" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the stop value, or %NULL</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_uri" c:identifier="gst_query_parse_uri">
|
|
<doc xml:space="preserve">Parse an URI query, writing the URI into @uri as a newly
|
|
allocated string, if the respective parameters are non-%NULL.
|
|
Free the string with g_free() after usage.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the current URI
|
|
(may be %NULL)</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_uri_redirection" c:identifier="gst_query_parse_uri_redirection" version="1.2">
|
|
<doc xml:space="preserve">Parse an URI query, writing the URI into @uri as a newly
|
|
allocated string, if the respective parameters are non-%NULL.
|
|
Free the string with g_free() after usage.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the redirect URI
|
|
(may be %NULL)</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_uri_redirection_permanent" c:identifier="gst_query_parse_uri_redirection_permanent" version="1.4">
|
|
<doc xml:space="preserve">Parse an URI query, and set @permanent to %TRUE if there is a redirection
|
|
and it should be considered permanent. If a redirection is permanent,
|
|
applications should update their internal storage of the URI, otherwise
|
|
they should make all future requests to the original URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="permanent" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">if the URI redirection is permanent
|
|
(may be %NULL)</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_nth_allocation_meta" c:identifier="gst_query_remove_nth_allocation_meta">
|
|
<doc xml:space="preserve">Remove the metadata API at @index of the metadata API array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the metadata API array to remove</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_nth_allocation_param" c:identifier="gst_query_remove_nth_allocation_param" version="1.2">
|
|
<doc xml:space="preserve">Remove the allocation param at @index of the allocation param array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the allocation param array to remove</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_nth_allocation_pool" c:identifier="gst_query_remove_nth_allocation_pool" version="1.2">
|
|
<doc xml:space="preserve">Remove the allocation pool at @index of the allocation pool array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the allocation pool array to remove</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_accept_caps_result" c:identifier="gst_query_set_accept_caps_result">
|
|
<doc xml:space="preserve">Set @result as the result for the @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ACCEPT_CAPS type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="result" transfer-ownership="none">
|
|
<doc xml:space="preserve">the result to set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_bitrate" c:identifier="gst_query_set_bitrate" version="1.16">
|
|
<doc xml:space="preserve">Set the results of a bitrate query. The nominal bitrate is the average
|
|
bitrate expected over the length of the stream as advertised in file
|
|
headers (or similar).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_BITRATE type #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="nominal_bitrate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nominal bitrate in bits per second</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_buffering_percent" c:identifier="gst_query_set_buffering_percent">
|
|
<doc xml:space="preserve">Set the percentage of buffered data. This is a value between 0 and 100.
|
|
The @busy indicator is %TRUE when the buffering is in progress.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="busy" transfer-ownership="none">
|
|
<doc xml:space="preserve">if buffering is busy</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="percent" transfer-ownership="none">
|
|
<doc xml:space="preserve">a buffering percent</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_buffering_range" c:identifier="gst_query_set_buffering_range">
|
|
<doc xml:space="preserve">Set the available query result fields in @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format to set for the @start and @stop values</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start to set</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stop to set</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="estimated_total" transfer-ownership="none">
|
|
<doc xml:space="preserve">estimated total amount of download time remaining in
|
|
milliseconds</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_buffering_stats" c:identifier="gst_query_set_buffering_stats">
|
|
<doc xml:space="preserve">Configures the buffering stats values in @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a buffering mode</doc>
|
|
<type name="BufferingMode" c:type="GstBufferingMode"/>
|
|
</parameter>
|
|
<parameter name="avg_in" transfer-ownership="none">
|
|
<doc xml:space="preserve">the average input rate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="avg_out" transfer-ownership="none">
|
|
<doc xml:space="preserve">the average output rate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="buffering_left" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount of buffering time left in milliseconds</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_caps_result" c:identifier="gst_query_set_caps_result">
|
|
<doc xml:space="preserve">Set the @caps result in @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to use</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">A pointer to the caps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_context" c:identifier="gst_query_set_context" version="1.2">
|
|
<doc xml:space="preserve">Answer a context query by setting the requested context.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery with query type GST_QUERY_CONTEXT</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested #GstContext</doc>
|
|
<type name="Context" c:type="GstContext*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_convert" c:identifier="gst_query_set_convert">
|
|
<doc xml:space="preserve">Answer a convert query by setting the requested values.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="src_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source value</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the destination #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="dest_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the destination value</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_duration" c:identifier="gst_query_set_duration">
|
|
<doc xml:space="preserve">Answer a duration query by setting the requested value in the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat for the duration</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">the duration of the stream</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_formats" c:identifier="gst_query_set_formats" introspectable="0">
|
|
<doc xml:space="preserve">Set the formats query result fields in @query. The number of formats passed
|
|
must be equal to @n_formats.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_formats" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of formats to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">A number of @GstFormats equal to @n_formats.</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_formatsv" c:identifier="gst_query_set_formatsv">
|
|
<doc xml:space="preserve">Set the formats query result fields in @query. The number of formats passed
|
|
in the @formats array must be equal to @n_formats.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_formats" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of formats to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="formats" transfer-ownership="none">
|
|
<doc xml:space="preserve">an array containing @n_formats
|
|
@GstFormat values.</doc>
|
|
<array length="0" zero-terminated="0" c:type="const GstFormat*">
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_latency" c:identifier="gst_query_set_latency">
|
|
<doc xml:space="preserve">Answer a latency query by setting the requested values in the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="live" transfer-ownership="none">
|
|
<doc xml:space="preserve">if there is a live element upstream</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="min_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimal latency of the upstream elements</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="max_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximal latency of the upstream elements</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_nth_allocation_param" c:identifier="gst_query_set_nth_allocation_param">
|
|
<doc xml:space="preserve">Parse an available query and get the allocator and its params
|
|
at @index of the allocator array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">position in the allocator array to set</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="allocator" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">new allocator to set</doc>
|
|
<type name="Allocator" c:type="GstAllocator*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">parameters for the allocator</doc>
|
|
<type name="AllocationParams" c:type="const GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_nth_allocation_pool" c:identifier="gst_query_set_nth_allocation_pool">
|
|
<doc xml:space="preserve">Set the pool parameters in @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_ALLOCATION.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">index to modify</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="pool" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstBufferPool</doc>
|
|
<type name="BufferPool" c:type="GstBufferPool*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the buffer size</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the min buffers</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="max_buffers" transfer-ownership="none">
|
|
<doc xml:space="preserve">the max buffers</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_position" c:identifier="gst_query_set_position">
|
|
<doc xml:space="preserve">Answer a position query by setting the requested value in the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery with query type GST_QUERY_POSITION</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the requested #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="cur" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position to set</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_scheduling" c:identifier="gst_query_set_scheduling">
|
|
<doc xml:space="preserve">Set the scheduling properties.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstQuery of type GST_QUERY_SCHEDULING.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstSchedulingFlags</doc>
|
|
<type name="SchedulingFlags" c:type="GstSchedulingFlags"/>
|
|
</parameter>
|
|
<parameter name="minsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested minimum size of pull requests</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="maxsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested maximum size of pull requests</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested alignment of pull requests</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_seeking" c:identifier="gst_query_set_seeking">
|
|
<doc xml:space="preserve">Set the seeking query result fields in @query.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format to set for the @segment_start and @segment_end values</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="seekable" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seekable flag to set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="segment_start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the segment_start to set</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="segment_end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the segment_end to set</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_segment" c:identifier="gst_query_set_segment">
|
|
<doc xml:space="preserve">Answer a segment query by setting the requested values. The normal
|
|
playback segment of a pipeline is 0 to duration at the default rate of
|
|
1.0. If a seek was performed on the pipeline to play a different
|
|
segment, this query will return the range specified in the last seek.
|
|
|
|
@start_value and @stop_value will respectively contain the configured
|
|
playback range start and stop values expressed in @format.
|
|
The values are always between 0 and the duration of the media and
|
|
@start_value <= @stop_value. @rate will contain the playback rate. For
|
|
negative rates, playback will actually happen from @stop_value to
|
|
@start_value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the rate of the segment</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstFormat of the segment values (@start_value and @stop_value)</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="start_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start value</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="stop_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stop value</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_uri" c:identifier="gst_query_set_uri">
|
|
<doc xml:space="preserve">Answer a URI query by setting the requested URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery with query type GST_QUERY_URI</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">the URI to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_uri_redirection" c:identifier="gst_query_set_uri_redirection" version="1.2">
|
|
<doc xml:space="preserve">Answer a URI query by setting the requested URI redirection.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery with query type GST_QUERY_URI</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">the URI to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_uri_redirection_permanent" c:identifier="gst_query_set_uri_redirection_permanent" version="1.4">
|
|
<doc xml:space="preserve">Answer a URI query by setting the requested URI redirection
|
|
to permanent or not.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery with query type %GST_QUERY_URI</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
<parameter name="permanent" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the redirect is permanent or not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_query_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decreases the refcount of the query. If the refcount reaches 0, the query
|
|
will be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="q" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery to decrease the refcount of.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="writable_structure" c:identifier="gst_query_writable_structure">
|
|
<doc xml:space="preserve">Get the structure of a query. This method should be called with a writable
|
|
@query so that the returned structure is guaranteed to be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStructure of the query. The structure is
|
|
still owned by the query and will therefore be freed when the query
|
|
is unreffed.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="replace" c:identifier="gst_query_replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstQuery to point to a different #GstQuery. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
query is unreffed, the new one is reffed).
|
|
|
|
Either @new_query or the #GstQuery pointed to by @old_query may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_query was different from @old_query</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_query" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer to a
|
|
#GstQuery to be replaced.</doc>
|
|
<type name="Query" c:type="GstQuery**"/>
|
|
</parameter>
|
|
<parameter name="new_query" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstQuery that will
|
|
replace the query pointed to by @old_query.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<enumeration name="QueryType" glib:type-name="GstQueryType" glib:get-type="gst_query_type_get_type" c:type="GstQueryType">
|
|
<doc xml:space="preserve">Standard predefined Query types</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_QUERY_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown query type</doc>
|
|
</member>
|
|
<member name="position" value="2563" c:identifier="GST_QUERY_POSITION" glib:nick="position">
|
|
<doc xml:space="preserve">current position in stream</doc>
|
|
</member>
|
|
<member name="duration" value="5123" c:identifier="GST_QUERY_DURATION" glib:nick="duration">
|
|
<doc xml:space="preserve">total duration of the stream</doc>
|
|
</member>
|
|
<member name="latency" value="7683" c:identifier="GST_QUERY_LATENCY" glib:nick="latency">
|
|
<doc xml:space="preserve">latency of stream</doc>
|
|
</member>
|
|
<member name="jitter" value="10243" c:identifier="GST_QUERY_JITTER" glib:nick="jitter">
|
|
<doc xml:space="preserve">current jitter of stream</doc>
|
|
</member>
|
|
<member name="rate" value="12803" c:identifier="GST_QUERY_RATE" glib:nick="rate">
|
|
<doc xml:space="preserve">current rate of the stream</doc>
|
|
</member>
|
|
<member name="seeking" value="15363" c:identifier="GST_QUERY_SEEKING" glib:nick="seeking">
|
|
<doc xml:space="preserve">seeking capabilities</doc>
|
|
</member>
|
|
<member name="segment" value="17923" c:identifier="GST_QUERY_SEGMENT" glib:nick="segment">
|
|
<doc xml:space="preserve">segment start/stop positions</doc>
|
|
</member>
|
|
<member name="convert" value="20483" c:identifier="GST_QUERY_CONVERT" glib:nick="convert">
|
|
<doc xml:space="preserve">convert values between formats</doc>
|
|
</member>
|
|
<member name="formats" value="23043" c:identifier="GST_QUERY_FORMATS" glib:nick="formats">
|
|
<doc xml:space="preserve">query supported formats for convert</doc>
|
|
</member>
|
|
<member name="buffering" value="28163" c:identifier="GST_QUERY_BUFFERING" glib:nick="buffering">
|
|
<doc xml:space="preserve">query available media for efficient seeking.</doc>
|
|
</member>
|
|
<member name="custom" value="30723" c:identifier="GST_QUERY_CUSTOM" glib:nick="custom">
|
|
<doc xml:space="preserve">a custom application or element defined query.</doc>
|
|
</member>
|
|
<member name="uri" value="33283" c:identifier="GST_QUERY_URI" glib:nick="uri">
|
|
<doc xml:space="preserve">query the URI of the source or sink.</doc>
|
|
</member>
|
|
<member name="allocation" value="35846" c:identifier="GST_QUERY_ALLOCATION" glib:nick="allocation">
|
|
<doc xml:space="preserve">the buffer allocation properties</doc>
|
|
</member>
|
|
<member name="scheduling" value="38401" c:identifier="GST_QUERY_SCHEDULING" glib:nick="scheduling">
|
|
<doc xml:space="preserve">the scheduling properties</doc>
|
|
</member>
|
|
<member name="accept_caps" value="40963" c:identifier="GST_QUERY_ACCEPT_CAPS" glib:nick="accept-caps">
|
|
<doc xml:space="preserve">the accept caps query</doc>
|
|
</member>
|
|
<member name="caps" value="43523" c:identifier="GST_QUERY_CAPS" glib:nick="caps">
|
|
<doc xml:space="preserve">the caps query</doc>
|
|
</member>
|
|
<member name="drain" value="46086" c:identifier="GST_QUERY_DRAIN" glib:nick="drain">
|
|
<doc xml:space="preserve">wait till all serialized data is consumed downstream</doc>
|
|
</member>
|
|
<member name="context" value="48643" c:identifier="GST_QUERY_CONTEXT" glib:nick="context">
|
|
<doc xml:space="preserve">query the pipeline-local context from
|
|
downstream or upstream (since 1.2)</doc>
|
|
</member>
|
|
<member name="bitrate" value="51202" c:identifier="GST_QUERY_BITRATE" glib:nick="bitrate">
|
|
<doc xml:space="preserve">the bitrate query (since 1.16)</doc>
|
|
</member>
|
|
<function name="get_flags" c:identifier="gst_query_type_get_flags">
|
|
<doc xml:space="preserve">Gets the #GstQueryTypeFlags associated with @type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQueryTypeFlags.</doc>
|
|
<type name="QueryTypeFlags" c:type="GstQueryTypeFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQueryType</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_name" c:identifier="gst_query_type_get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given query type. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference to the static name of the query.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the query type</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_quark" c:identifier="gst_query_type_to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given query type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the query type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the query type</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="QueryTypeFlags" glib:type-name="GstQueryTypeFlags" glib:get-type="gst_query_type_flags_get_type" c:type="GstQueryTypeFlags">
|
|
<doc xml:space="preserve">#GstQueryTypeFlags indicate the aspects of the different #GstQueryType
|
|
values. You can get the type flags of a #GstQueryType with the
|
|
gst_query_type_get_flags() function.</doc>
|
|
<member name="upstream" value="1" c:identifier="GST_QUERY_TYPE_UPSTREAM" glib:nick="upstream">
|
|
<doc xml:space="preserve">Set if the query can travel upstream.</doc>
|
|
</member>
|
|
<member name="downstream" value="2" c:identifier="GST_QUERY_TYPE_DOWNSTREAM" glib:nick="downstream">
|
|
<doc xml:space="preserve">Set if the query can travel downstream.</doc>
|
|
</member>
|
|
<member name="serialized" value="4" c:identifier="GST_QUERY_TYPE_SERIALIZED" glib:nick="serialized">
|
|
<doc xml:space="preserve">Set if the query should be serialized with data
|
|
flow.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<function-macro name="READ_UINT16_BE" c:identifier="GST_READ_UINT16_BE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 16 bit unsigned integer value in big endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT16_LE" c:identifier="GST_READ_UINT16_LE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 16 bit unsigned integer value in little endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT24_BE" c:identifier="GST_READ_UINT24_BE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 24 bit unsigned integer value in big endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT24_LE" c:identifier="GST_READ_UINT24_LE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 24 bit unsigned integer value in little endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT32_BE" c:identifier="GST_READ_UINT32_BE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 32 bit unsigned integer value in big endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT32_LE" c:identifier="GST_READ_UINT32_LE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 32 bit unsigned integer value in little endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT64_BE" c:identifier="GST_READ_UINT64_BE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 64 bit unsigned integer value in big endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT64_LE" c:identifier="GST_READ_UINT64_LE" introspectable="0">
|
|
<doc xml:space="preserve">Read a 64 bit unsigned integer value in little endian format from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="READ_UINT8" c:identifier="GST_READ_UINT8" introspectable="0">
|
|
<doc xml:space="preserve">Read an 8 bit unsigned integer value from the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="REGISTRY" c:identifier="GST_REGISTRY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="REGISTRY_CLASS" c:identifier="GST_REGISTRY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="REGISTRY_GET_CLASS" c:identifier="GST_REGISTRY_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_128" c:identifier="GST_ROUND_DOWN_128" version="1.4" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 128.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_16" c:identifier="GST_ROUND_DOWN_16" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 16.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_2" c:identifier="GST_ROUND_DOWN_2" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 2.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_32" c:identifier="GST_ROUND_DOWN_32" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 32.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_4" c:identifier="GST_ROUND_DOWN_4" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 4.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_64" c:identifier="GST_ROUND_DOWN_64" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 64.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_8" c:identifier="GST_ROUND_DOWN_8" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of 8.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round down</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_DOWN_N" c:identifier="GST_ROUND_DOWN_N" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value down to the next multiple of @align. @align MUST be a
|
|
power of two.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integrer value to round down</doc>
|
|
</parameter>
|
|
<parameter name="align">
|
|
<doc xml:space="preserve">a power of two to round down to</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_128" c:identifier="GST_ROUND_UP_128" version="1.4" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 128.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_16" c:identifier="GST_ROUND_UP_16" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 16.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_2" c:identifier="GST_ROUND_UP_2" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 2.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_32" c:identifier="GST_ROUND_UP_32" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 32.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_4" c:identifier="GST_ROUND_UP_4" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 4.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_64" c:identifier="GST_ROUND_UP_64" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 64.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_8" c:identifier="GST_ROUND_UP_8" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of 8.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integer value to round up</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="ROUND_UP_N" c:identifier="GST_ROUND_UP_N" introspectable="0">
|
|
<doc xml:space="preserve">Rounds an integer value up to the next multiple of @align. @align MUST be a
|
|
power of two.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">integrer value to round up</doc>
|
|
</parameter>
|
|
<parameter name="align">
|
|
<doc xml:space="preserve">a power of two to round up to</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="Rank" glib:type-name="GstRank" glib:get-type="gst_rank_get_type" c:type="GstRank">
|
|
<doc xml:space="preserve">Element priority ranks. Defines the order in which the autoplugger (or
|
|
similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri())
|
|
will choose this element over an alternative one with the same function.
|
|
|
|
These constants serve as a rough guidance for defining the rank of a
|
|
#GstPluginFeature. Any value is valid, including values bigger than
|
|
@GST_RANK_PRIMARY.</doc>
|
|
<member name="none" value="0" c:identifier="GST_RANK_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">will be chosen last or not at all</doc>
|
|
</member>
|
|
<member name="marginal" value="64" c:identifier="GST_RANK_MARGINAL" glib:nick="marginal">
|
|
<doc xml:space="preserve">unlikely to be chosen</doc>
|
|
</member>
|
|
<member name="secondary" value="128" c:identifier="GST_RANK_SECONDARY" glib:nick="secondary">
|
|
<doc xml:space="preserve">likely to be chosen</doc>
|
|
</member>
|
|
<member name="primary" value="256" c:identifier="GST_RANK_PRIMARY" glib:nick="primary">
|
|
<doc xml:space="preserve">will be chosen first</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="ReferenceTimestampMeta" c:type="GstReferenceTimestampMeta" version="1.14">
|
|
<doc xml:space="preserve">#GstReferenceTimestampMeta can be used to attach alternative timestamps and
|
|
possibly durations to a #GstBuffer. These are generally not according to
|
|
the pipeline clock and could be e.g. the NTP timestamp when the media was
|
|
captured.
|
|
|
|
The reference is stored as a #GstCaps in @reference. Examples of valid
|
|
references would be "timestamp/x-drivername-stream" for timestamps that are locally
|
|
generated by some driver named "drivername" when generating the stream,
|
|
e.g. based on a frame counter, or "timestamp/x-ntp, host=pool.ntp.org,
|
|
port=123" for timestamps based on a specific NTP server.</doc>
|
|
|
|
<field name="parent" writable="1">
|
|
<doc xml:space="preserve">the parent #GstMeta structure</doc>
|
|
<type name="Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="reference" writable="1">
|
|
<doc xml:space="preserve">identifier for the timestamp reference.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<field name="timestamp" writable="1">
|
|
<doc xml:space="preserve">timestamp</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="duration" writable="1">
|
|
<doc xml:space="preserve">duration, or %GST_CLOCK_TIME_NONE</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_reference_timestamp_meta_get_info" version="1.14">
|
|
<doc xml:space="preserve">Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMetaInfo</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<class name="Registry" c:symbol-prefix="registry" c:type="GstRegistry" parent="Object" glib:type-name="GstRegistry" glib:get-type="gst_registry_get_type" glib:type-struct="RegistryClass">
|
|
<doc xml:space="preserve">One registry holds the metadata of a set of plugins.
|
|
|
|
<emphasis role="bold">Design:</emphasis>
|
|
|
|
The #GstRegistry object is a list of plugins and some functions for dealing
|
|
with them. Each #GstPlugin is matched 1-1 with a file on disk, and may or may
|
|
not be loaded at a given time.
|
|
|
|
The primary source, at all times, of plugin information is each plugin file
|
|
itself. Thus, if an application wants information about a particular plugin,
|
|
or wants to search for a feature that satisfies given criteria, the primary
|
|
means of doing so is to load every plugin and look at the resulting
|
|
information that is gathered in the default registry. Clearly, this is a time
|
|
consuming process, so we cache information in the registry file. The format
|
|
and location of the cache file is internal to gstreamer.
|
|
|
|
On startup, plugins are searched for in the plugin search path. The following
|
|
locations are checked in this order:
|
|
|
|
* location from --gst-plugin-path commandline option.
|
|
* the GST_PLUGIN_PATH environment variable.
|
|
* the GST_PLUGIN_SYSTEM_PATH environment variable.
|
|
* default locations (if GST_PLUGIN_SYSTEM_PATH is not set).
|
|
Those default locations are:
|
|
`$XDG_DATA_HOME/gstreamer-$GST_API_VERSION/plugins/`
|
|
and `$prefix/libs/gstreamer-$GST_API_VERSION/`.
|
|
[$XDG_DATA_HOME](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) defaults to
|
|
`$HOME/.local/share`.
|
|
|
|
The registry cache file is loaded from
|
|
`$XDG_CACHE_HOME/gstreamer-$GST_API_VERSION/registry-$ARCH.bin`
|
|
(where $XDG_CACHE_HOME defaults to `$HOME/.cache`) or the file listed in the `GST_REGISTRY`
|
|
env var. One reason to change the registry location is for testing.
|
|
|
|
For each plugin that is found in the plugin search path, there could be 3
|
|
possibilities for cached information:
|
|
|
|
* the cache may not contain information about a given file.
|
|
* the cache may have stale information.
|
|
* the cache may have current information.
|
|
|
|
In the first two cases, the plugin is loaded and the cache updated. In
|
|
addition to these cases, the cache may have entries for plugins that are not
|
|
relevant to the current process. These are marked as not available to the
|
|
current process. If the cache is updated for whatever reason, it is marked
|
|
dirty.
|
|
|
|
A dirty cache is written out at the end of initialization. Each entry is
|
|
checked to make sure the information is minimally valid. If not, the entry is
|
|
simply dropped.
|
|
|
|
## Implementation notes:
|
|
|
|
The "cache" and "registry" are different concepts and can represent
|
|
different sets of plugins. For various reasons, at init time, the cache is
|
|
stored in the default registry, and plugins not relevant to the current
|
|
process are marked with the %GST_PLUGIN_FLAG_CACHED bit. These plugins are
|
|
removed at the end of initialization.</doc>
|
|
|
|
<function name="fork_is_enabled" c:identifier="gst_registry_fork_is_enabled">
|
|
<doc xml:space="preserve">By default GStreamer will perform scanning and rebuilding of the
|
|
registry file using a helper child process.
|
|
|
|
Applications might want to disable this behaviour with the
|
|
gst_registry_fork_set_enabled() function, in which case new plugins
|
|
are scanned (and loaded) into the application process.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if GStreamer will use the child helper process when
|
|
rebuilding the registry.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="fork_set_enabled" c:identifier="gst_registry_fork_set_enabled">
|
|
<doc xml:space="preserve">Applications might want to disable/enable spawning of a child helper process
|
|
when rebuilding the registry. See gst_registry_fork_is_enabled() for more
|
|
information.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether rebuilding the registry can use a temporary child helper process.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get" c:identifier="gst_registry_get">
|
|
<doc xml:space="preserve">Retrieves the singleton plugin registry. The caller does not own a
|
|
reference on the registry, as it is alive as long as GStreamer is
|
|
initialized.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstRegistry.</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</return-value>
|
|
</function>
|
|
<method name="add_feature" c:identifier="gst_registry_add_feature">
|
|
<doc xml:space="preserve">Add the feature to the registry. The feature-added signal will be emitted.
|
|
|
|
@feature's reference count will be incremented, and any floating
|
|
reference will be removed (see gst_object_ref_sink())</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to add the plugin to</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">the feature to add</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_plugin" c:identifier="gst_registry_add_plugin">
|
|
<doc xml:space="preserve">Add the plugin to the registry. The plugin-added signal will be emitted.
|
|
|
|
@plugin's reference count will be incremented, and any floating
|
|
reference will be removed (see gst_object_ref_sink())</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to add the plugin to</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin to add</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="check_feature_version" c:identifier="gst_registry_check_feature_version">
|
|
<doc xml:space="preserve">Checks whether a plugin feature by the given name exists in
|
|
@registry and whether its version is at least the
|
|
version required.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the feature could be found and the version is
|
|
the same as the required version or newer, and %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstRegistry</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the feature (e.g. "oggdemux")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="min_major" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum major version number</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_minor" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum minor version number</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="min_micro" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum micro version number</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="feature_filter" c:identifier="gst_registry_feature_filter">
|
|
<doc xml:space="preserve">Runs a filter against all features of the plugins in the registry
|
|
and returns a GList with the results.
|
|
If the first flag is set, only the first match is
|
|
returned (as a list with a single object).</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstPluginFeature. Use gst_plugin_feature_list_free() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">registry to query</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none" scope="call" closure="2">
|
|
<doc xml:space="preserve">the filter to use</doc>
|
|
<type name="PluginFeatureFilter" c:type="GstPluginFeatureFilter"/>
|
|
</parameter>
|
|
<parameter name="first" transfer-ownership="none">
|
|
<doc xml:space="preserve">only return first match</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the filter function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_feature" c:identifier="gst_registry_find_feature">
|
|
<doc xml:space="preserve">Find the pluginfeature with the given name and type in the registry.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the pluginfeature with the
|
|
given name and type or %NULL if the plugin was not
|
|
found. gst_object_unref() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to search</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pluginfeature name to find</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pluginfeature type to find</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_plugin" c:identifier="gst_registry_find_plugin">
|
|
<doc xml:space="preserve">Find the plugin with the given name in the registry.
|
|
The plugin will be reffed; caller is responsible for unreffing.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the plugin with the given name
|
|
or %NULL if the plugin was not found. gst_object_unref() after
|
|
usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to search</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin name to find</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_feature_list" c:identifier="gst_registry_get_feature_list">
|
|
<doc xml:space="preserve">Retrieves a #GList of #GstPluginFeature of @type.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use
|
|
|
|
MT safe.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstRegistry</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GType.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_feature_list_by_plugin" c:identifier="gst_registry_get_feature_list_by_plugin">
|
|
<doc xml:space="preserve">Retrieves a #GList of features of the plugin with name @name.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of
|
|
#GstPluginFeature. Use gst_plugin_feature_list_free() after usage.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="PluginFeature"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstRegistry.</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plugin name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_feature_list_cookie" c:identifier="gst_registry_get_feature_list_cookie">
|
|
<doc xml:space="preserve">Returns the registry's feature list cookie. This changes
|
|
every time a feature is added or removed from the registry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the feature list cookie.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_plugin_list" c:identifier="gst_registry_get_plugin_list">
|
|
<doc xml:space="preserve">Get a copy of all plugins registered in the given registry. The refcount
|
|
of each element in the list in incremented.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of #GstPlugin.
|
|
Use gst_plugin_list_free() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Plugin"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to search</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="lookup" c:identifier="gst_registry_lookup">
|
|
<doc xml:space="preserve">Look up a plugin in the given registry with the given filename.
|
|
If found, plugin is reffed.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GstPlugin if found, or
|
|
%NULL if not. gst_object_unref() after usage.</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to look up in</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the file to look up</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="lookup_feature" c:identifier="gst_registry_lookup_feature">
|
|
<doc xml:space="preserve">Find a #GstPluginFeature with @name in @registry.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstPluginFeature with its refcount incremented,
|
|
use gst_object_unref() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstRegistry</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstPluginFeature name</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="plugin_filter" c:identifier="gst_registry_plugin_filter">
|
|
<doc xml:space="preserve">Runs a filter against all plugins in the registry and returns a #GList with
|
|
the results. If the first flag is set, only the first match is
|
|
returned (as a list with a single object).
|
|
Every plugin is reffed; use gst_plugin_list_free() after use, which
|
|
will unref again.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GList of #GstPlugin.
|
|
Use gst_plugin_list_free() after usage.
|
|
|
|
MT safe.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Plugin"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">registry to query</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none" scope="call" closure="2">
|
|
<doc xml:space="preserve">the filter to use</doc>
|
|
<type name="PluginFilter" c:type="GstPluginFilter"/>
|
|
</parameter>
|
|
<parameter name="first" transfer-ownership="none">
|
|
<doc xml:space="preserve">only return first match</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to the filter function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_feature" c:identifier="gst_registry_remove_feature">
|
|
<doc xml:space="preserve">Remove the feature from the registry.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to remove the feature from</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">the feature to remove</doc>
|
|
<type name="PluginFeature" c:type="GstPluginFeature*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_plugin" c:identifier="gst_registry_remove_plugin">
|
|
<doc xml:space="preserve">Remove the plugin from the registry.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to remove the plugin from</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin to remove</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="scan_path" c:identifier="gst_registry_scan_path">
|
|
<doc xml:space="preserve">Scan the given path for plugins to add to the registry. The syntax of the
|
|
path is specific to the registry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if registry changed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="registry" transfer-ownership="none">
|
|
<doc xml:space="preserve">the registry to add found plugins to</doc>
|
|
<type name="Registry" c:type="GstRegistry*"/>
|
|
</instance-parameter>
|
|
<parameter name="path" transfer-ownership="none">
|
|
<doc xml:space="preserve">the path to scan</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="RegistryPrivate" c:type="GstRegistryPrivate*"/>
|
|
</field>
|
|
<glib:signal name="feature-added" when="last">
|
|
<doc xml:space="preserve">Signals that a feature has been added to the registry (possibly
|
|
replacing a previously-added one by the same name)</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="feature" transfer-ownership="none">
|
|
<doc xml:space="preserve">the feature that has been added</doc>
|
|
<type name="PluginFeature"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="plugin-added" when="last">
|
|
<doc xml:space="preserve">Signals that a plugin has been added to the registry (possibly
|
|
replacing a previously-added one by the same name)</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the plugin that has been added</doc>
|
|
<type name="Plugin"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="RegistryClass" c:type="GstRegistryClass" glib:is-gtype-struct-for="Registry">
|
|
|
|
<field name="parent_class">
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
</record>
|
|
<record name="RegistryPrivate" c:type="GstRegistryPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="ResourceError" glib:type-name="GstResourceError" glib:get-type="gst_resource_error_get_type" c:type="GstResourceError" glib:error-domain="gst-resource-error-quark">
|
|
<doc xml:space="preserve">Resource errors are for any resource used by an element:
|
|
memory, files, network connections, process space, ...
|
|
They're typically used by source and sink elements.</doc>
|
|
<member name="failed" value="1" c:identifier="GST_RESOURCE_ERROR_FAILED" glib:nick="failed">
|
|
<doc xml:space="preserve">a general error which doesn't fit in any other
|
|
category. Make sure you add a custom message to the error call.</doc>
|
|
</member>
|
|
<member name="too_lazy" value="2" c:identifier="GST_RESOURCE_ERROR_TOO_LAZY" glib:nick="too-lazy">
|
|
<doc xml:space="preserve">do not use this except as a placeholder for
|
|
deciding where to go while developing code.</doc>
|
|
</member>
|
|
<member name="not_found" value="3" c:identifier="GST_RESOURCE_ERROR_NOT_FOUND" glib:nick="not-found">
|
|
<doc xml:space="preserve">used when the resource could not be found.</doc>
|
|
</member>
|
|
<member name="busy" value="4" c:identifier="GST_RESOURCE_ERROR_BUSY" glib:nick="busy">
|
|
<doc xml:space="preserve">used when resource is busy.</doc>
|
|
</member>
|
|
<member name="open_read" value="5" c:identifier="GST_RESOURCE_ERROR_OPEN_READ" glib:nick="open-read">
|
|
<doc xml:space="preserve">used when resource fails to open for reading.</doc>
|
|
</member>
|
|
<member name="open_write" value="6" c:identifier="GST_RESOURCE_ERROR_OPEN_WRITE" glib:nick="open-write">
|
|
<doc xml:space="preserve">used when resource fails to open for writing.</doc>
|
|
</member>
|
|
<member name="open_read_write" value="7" c:identifier="GST_RESOURCE_ERROR_OPEN_READ_WRITE" glib:nick="open-read-write">
|
|
<doc xml:space="preserve">used when resource cannot be opened for
|
|
both reading and writing, or either (but unspecified which).</doc>
|
|
</member>
|
|
<member name="close" value="8" c:identifier="GST_RESOURCE_ERROR_CLOSE" glib:nick="close">
|
|
<doc xml:space="preserve">used when the resource can't be closed.</doc>
|
|
</member>
|
|
<member name="read" value="9" c:identifier="GST_RESOURCE_ERROR_READ" glib:nick="read">
|
|
<doc xml:space="preserve">used when the resource can't be read from.</doc>
|
|
</member>
|
|
<member name="write" value="10" c:identifier="GST_RESOURCE_ERROR_WRITE" glib:nick="write">
|
|
<doc xml:space="preserve">used when the resource can't be written to.</doc>
|
|
</member>
|
|
<member name="seek" value="11" c:identifier="GST_RESOURCE_ERROR_SEEK" glib:nick="seek">
|
|
<doc xml:space="preserve">used when a seek on the resource fails.</doc>
|
|
</member>
|
|
<member name="sync" value="12" c:identifier="GST_RESOURCE_ERROR_SYNC" glib:nick="sync">
|
|
<doc xml:space="preserve">used when a synchronize on the resource fails.</doc>
|
|
</member>
|
|
<member name="settings" value="13" c:identifier="GST_RESOURCE_ERROR_SETTINGS" glib:nick="settings">
|
|
<doc xml:space="preserve">used when settings can't be manipulated on.</doc>
|
|
</member>
|
|
<member name="no_space_left" value="14" c:identifier="GST_RESOURCE_ERROR_NO_SPACE_LEFT" glib:nick="no-space-left">
|
|
<doc xml:space="preserve">used when the resource has no space left.</doc>
|
|
</member>
|
|
<member name="not_authorized" value="15" c:identifier="GST_RESOURCE_ERROR_NOT_AUTHORIZED" glib:nick="not-authorized">
|
|
<doc xml:space="preserve">used when the resource can't be opened
|
|
due to missing authorization.
|
|
(Since: 1.2.4)</doc>
|
|
</member>
|
|
<member name="num_errors" value="16" c:identifier="GST_RESOURCE_ERROR_NUM_ERRORS" glib:nick="num-errors">
|
|
<doc xml:space="preserve">the number of resource error types.</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_resource_error_quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<function-macro name="SAMPLE" c:identifier="GST_SAMPLE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="SAMPLE_CAST" c:identifier="GST_SAMPLE_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="SECOND" value="1000000000" c:type="GST_SECOND">
|
|
<doc xml:space="preserve">Constant that defines one GStreamer second.</doc>
|
|
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</constant>
|
|
<constant name="SEGMENT_FORMAT" value="paB" c:type="GST_SEGMENT_FORMAT" introspectable="0">
|
|
<doc xml:space="preserve">printf format type used to debug GStreamer segments. You can use this in
|
|
combination with GStreamer's debug logging system as well as the functions
|
|
gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf()
|
|
to pretty-print #GstSegment structures.
|
|
This can only be used on pointers to GstSegment structures.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="SEGMENT_INSTANT_FLAGS" value="912" c:type="GST_SEGMENT_INSTANT_FLAGS">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="SEQNUM_INVALID" value="0" c:type="GST_SEQNUM_INVALID" version="1.14">
|
|
<doc xml:space="preserve">A value which is guaranteed to never be returned by
|
|
gst_util_seqnum_next().
|
|
|
|
Can be used as a default value in variables used to store seqnum.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="STATE" c:identifier="GST_STATE" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the current #GstState of the element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to return state for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_BROADCAST" c:identifier="GST_STATE_BROADCAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_GET_COND" c:identifier="GST_STATE_GET_COND" introspectable="0">
|
|
<doc xml:space="preserve">Get the conditional used to signal the completion of a state change.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_GET_LOCK" c:identifier="GST_STATE_GET_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Get a reference to the state lock of @elem.
|
|
This lock is used by the core. It is taken while getting or setting
|
|
the state, during state changes, and while finalizing.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_GET_NEXT" c:identifier="GST_STATE_GET_NEXT" introspectable="0">
|
|
<doc xml:space="preserve">Given a current state @cur and a target state @pending, calculate the next (intermediate)
|
|
#GstState.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cur">
|
|
<doc xml:space="preserve">A starting #GstState</doc>
|
|
</parameter>
|
|
<parameter name="pending">
|
|
<doc xml:space="preserve">A target #GstState</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_LOCK" c:identifier="GST_STATE_LOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_NEXT" c:identifier="GST_STATE_NEXT" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the next #GstState of the element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to return the next state for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_PENDING" c:identifier="GST_STATE_PENDING" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the currently pending #GstState of the element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to return the pending state for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_RETURN" c:identifier="GST_STATE_RETURN" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the last #GstStateChangeReturn value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to return the last state result for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_SIGNAL" c:identifier="GST_STATE_SIGNAL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_TARGET" c:identifier="GST_STATE_TARGET" introspectable="0">
|
|
<doc xml:space="preserve">This macro returns the target #GstState of the element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to return the target state for.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_TRANSITION" c:identifier="GST_STATE_TRANSITION" introspectable="0">
|
|
<doc xml:space="preserve">Given a current state @cur and a next state @next, calculate the associated
|
|
#GstStateChange transition.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="cur">
|
|
<doc xml:space="preserve">A current state</doc>
|
|
</parameter>
|
|
<parameter name="next">
|
|
<doc xml:space="preserve">A next state</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_TRANSITION_CURRENT" c:identifier="GST_STATE_TRANSITION_CURRENT" introspectable="0">
|
|
<doc xml:space="preserve">Given a state transition @trans, extract the current #GstState.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="trans">
|
|
<doc xml:space="preserve">A #GstStateChange</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_TRANSITION_NEXT" c:identifier="GST_STATE_TRANSITION_NEXT" introspectable="0">
|
|
<doc xml:space="preserve">Given a state transition @trans, extract the next #GstState.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="trans">
|
|
<doc xml:space="preserve">A #GstStateChange</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_TRYLOCK" c:identifier="GST_STATE_TRYLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_UNLOCK" c:identifier="GST_STATE_UNLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_WAIT" c:identifier="GST_STATE_WAIT" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATE_WAIT_UNTIL" c:identifier="GST_STATE_WAIT_UNTIL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
</parameter>
|
|
<parameter name="end_time">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATIC_CAPS" c:identifier="GST_STATIC_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstCaps static caps from an input string.
|
|
This can be used in pad templates.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="string">
|
|
<doc xml:space="preserve">the string describing the caps</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STATIC_PAD_TEMPLATE" c:identifier="GST_STATIC_PAD_TEMPLATE" introspectable="0">
|
|
<doc xml:space="preserve">Convenience macro to fill the values of a #GstStaticPadTemplate
|
|
structure.
|
|
Example:
|
|
|[<!-- language="C" -->
|
|
static GstStaticPadTemplate my_src_template = * GST_STATIC_PAD_TEMPLATE("src", GST_PAD_SRC, GST_PAD_ALWAYS,
|
|
,
|
|
GST_STATIC_CAPS_ANY);
|
|
]|</doc>
|
|
|
|
<parameters>
|
|
<parameter name="padname">
|
|
<doc xml:space="preserve">the name template of the pad</doc>
|
|
</parameter>
|
|
<parameter name="dir">
|
|
<doc xml:space="preserve">the GstPadDirection of the pad</doc>
|
|
</parameter>
|
|
<parameter name="pres">
|
|
<doc xml:space="preserve">the GstPadPresence of the pad</doc>
|
|
</parameter>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">the GstStaticCaps of the pad</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="STIMEP_FORMAT" value="paS" c:type="GST_STIMEP_FORMAT" version="1.18" introspectable="0">
|
|
<doc xml:space="preserve">printf format type used to debug GStreamer signed time value pointers. You
|
|
can use this in combination with GStreamer's debug logging system as well as
|
|
the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and
|
|
gst_info_strdup_printf() to pretty-print signed time (pointers to
|
|
#GstClockTimeDiff or #gint64).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="STIME_ARGS" c:identifier="GST_STIME_ARGS" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Format @t for the #GST_STIME_FORMAT format string. Note: @t will be
|
|
evaluated more than once.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="t">
|
|
<doc xml:space="preserve">a #GstClockTimeDiff or #gint64</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="STIME_FORMAT" value="c%" c:type="GST_STIME_FORMAT" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">A string that can be used in printf-like format strings to display a signed
|
|
#GstClockTimeDiff or #gint64 value in h:m:s format. Use GST_TIME_ARGS() to
|
|
construct the matching arguments.
|
|
|
|
Example:
|
|
|[
|
|
printf("%" GST_STIME_FORMAT "\n", GST_STIME_ARGS(ts));
|
|
]|</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="STREAM" c:identifier="GST_STREAM" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_CAST" c:identifier="GST_STREAM_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_CLASS" c:identifier="GST_STREAM_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_COLLECTION" c:identifier="GST_STREAM_COLLECTION" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_COLLECTION_CAST" c:identifier="GST_STREAM_COLLECTION_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_COLLECTION_CLASS" c:identifier="GST_STREAM_COLLECTION_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_COLLECTION_GET_CLASS" c:identifier="GST_STREAM_COLLECTION_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STREAM_GET_CLASS" c:identifier="GST_STREAM_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STRUCTURE" c:identifier="GST_STRUCTURE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STRUCTURE_CAST" c:identifier="GST_STRUCTURE_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STR_FOURCC" c:identifier="GST_STR_FOURCC" introspectable="0">
|
|
<doc xml:space="preserve">Transform an input string into a #guint32 fourcc value with host
|
|
endianness.
|
|
Caller is responsible for ensuring the input string consists of at least
|
|
four characters.
|
|
|
|
|[
|
|
guint32 fourcc = GST_STR_FOURCC ("MJPG");
|
|
]|</doc>
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">a string with at least four characters</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="STR_NULL" c:identifier="GST_STR_NULL" introspectable="0">
|
|
<doc xml:space="preserve">Macro to use when a string must not be %NULL, but may be %NULL. If the string
|
|
is %NULL, "(NULL)" is printed instead.
|
|
In GStreamer printf string arguments may not be %NULL, because on some
|
|
platforms (ie Solaris) the libc crashes in that case. This includes debugging
|
|
strings.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="str">
|
|
<doc xml:space="preserve">The string to check.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="SYSTEM_CLOCK" c:identifier="GST_SYSTEM_CLOCK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="SYSTEM_CLOCK_CAST" c:identifier="GST_SYSTEM_CLOCK_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="SYSTEM_CLOCK_CLASS" c:identifier="GST_SYSTEM_CLOCK_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="SYSTEM_CLOCK_GET_CLASS" c:identifier="GST_SYSTEM_CLOCK_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Sample" c:type="GstSample" glib:type-name="GstSample" glib:get-type="gst_sample_get_type" c:symbol-prefix="sample">
|
|
<doc xml:space="preserve">A #GstSample is a small object containing data, a type, timing and
|
|
extra arbitrary information.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_sample_new">
|
|
<doc xml:space="preserve">Create a new #GstSample with the provided details.
|
|
|
|
Free-function: gst_sample_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstSample. gst_sample_unref()
|
|
after usage.</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstBuffer, or %NULL</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstCaps, or %NULL</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="segment" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstSegment, or %NULL</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstStructure, or %NULL</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_sample_copy" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Create a copy of the given sample. This will also make a newly allocated
|
|
copy of the data the source sample contains.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new copy of @buf.</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample.</doc>
|
|
<type name="Sample" c:type="const GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_buffer" c:identifier="gst_sample_get_buffer">
|
|
<doc xml:space="preserve">Get the buffer associated with @sample</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the buffer of @sample or %NULL
|
|
when there is no buffer. The buffer remains valid as long as
|
|
@sample is valid. If you need to hold on to it for longer than
|
|
that, take a ref to the buffer with gst_buffer_ref().</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_buffer_list" c:identifier="gst_sample_get_buffer_list" version="1.6">
|
|
<doc xml:space="preserve">Get the buffer list associated with @sample</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the buffer list of @sample or %NULL
|
|
when there is no buffer list. The buffer list remains valid as long as
|
|
@sample is valid. If you need to hold on to it for longer than
|
|
that, take a ref to the buffer list with gst_mini_object_ref ().</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_caps" c:identifier="gst_sample_get_caps">
|
|
<doc xml:space="preserve">Get the caps associated with @sample</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the caps of @sample or %NULL
|
|
when there is no caps. The caps remain valid as long as @sample is
|
|
valid. If you need to hold on to the caps for longer than that,
|
|
take a ref to the caps with gst_caps_ref().</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_info" c:identifier="gst_sample_get_info">
|
|
<doc xml:space="preserve">Get extra information associated with @sample.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the extra info of @sample.
|
|
The info remains valid as long as @sample is valid.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_segment" c:identifier="gst_sample_get_segment">
|
|
<doc xml:space="preserve">Get the segment associated with @sample</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the segment of @sample.
|
|
The segment remains valid as long as @sample is valid.</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_sample_ref" introspectable="0">
|
|
<doc xml:space="preserve">Increases the refcount of the given sample by one.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@sample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_buffer" c:identifier="gst_sample_set_buffer" version="1.16">
|
|
<doc xml:space="preserve">Set the buffer associated with @sample. @sample must be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstBuffer</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_buffer_list" c:identifier="gst_sample_set_buffer_list" version="1.6">
|
|
<doc xml:space="preserve">Set the buffer list associated with @sample. @sample must be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
<parameter name="buffer_list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
<type name="BufferList" c:type="GstBufferList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_caps" c:identifier="gst_sample_set_caps" version="1.16">
|
|
<doc xml:space="preserve">Set the caps associated with @sample. @sample must be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_info" c:identifier="gst_sample_set_info" version="1.16">
|
|
<doc xml:space="preserve">Set the info structure associated with @sample. @sample must be writable,
|
|
and @info must not have a parent set already.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="full">
|
|
<doc xml:space="preserve">A #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_segment" c:identifier="gst_sample_set_segment" version="1.16">
|
|
<doc xml:space="preserve">Set the segment associated with @sample. @sample must be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
<parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstSegment</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_sample_unref" introspectable="0">
|
|
<doc xml:space="preserve">Decreases the refcount of the sample. If the refcount reaches 0, the
|
|
sample will be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="sample" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Sample" c:type="GstSample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="SchedulingFlags" glib:type-name="GstSchedulingFlags" glib:get-type="gst_scheduling_flags_get_type" c:type="GstSchedulingFlags">
|
|
<doc xml:space="preserve">The different scheduling flags.</doc>
|
|
<member name="seekable" value="1" c:identifier="GST_SCHEDULING_FLAG_SEEKABLE" glib:nick="seekable">
|
|
<doc xml:space="preserve">if seeking is possible</doc>
|
|
</member>
|
|
<member name="sequential" value="2" c:identifier="GST_SCHEDULING_FLAG_SEQUENTIAL" glib:nick="sequential">
|
|
<doc xml:space="preserve">if sequential access is recommended</doc>
|
|
</member>
|
|
<member name="bandwidth_limited" value="4" c:identifier="GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED" glib:nick="bandwidth-limited">
|
|
<doc xml:space="preserve">if bandwidth is limited and buffering possible (since 1.2)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="SearchMode" glib:type-name="GstSearchMode" glib:get-type="gst_search_mode_get_type" c:type="GstSearchMode">
|
|
<doc xml:space="preserve">The different search modes.</doc>
|
|
<member name="exact" value="0" c:identifier="GST_SEARCH_MODE_EXACT" glib:nick="exact">
|
|
<doc xml:space="preserve">Only search for exact matches.</doc>
|
|
</member>
|
|
<member name="before" value="1" c:identifier="GST_SEARCH_MODE_BEFORE" glib:nick="before">
|
|
<doc xml:space="preserve">Search for an exact match or the element just before.</doc>
|
|
</member>
|
|
<member name="after" value="2" c:identifier="GST_SEARCH_MODE_AFTER" glib:nick="after">
|
|
<doc xml:space="preserve">Search for an exact match or the element just after.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<bitfield name="SeekFlags" glib:type-name="GstSeekFlags" glib:get-type="gst_seek_flags_get_type" c:type="GstSeekFlags">
|
|
<doc xml:space="preserve">Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags
|
|
can be used together.
|
|
|
|
A non flushing seek might take some time to perform as the currently
|
|
playing data in the pipeline will not be cleared.
|
|
|
|
An accurate seek might be slower for formats that don't have any indexes
|
|
or timestamp markers in the stream. Specifying this flag might require a
|
|
complete scan of the file in those cases.
|
|
|
|
When performing a segment seek: after the playback of the segment completes,
|
|
no EOS will be emitted by the element that performed the seek, but a
|
|
%GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element.
|
|
When this message is posted, it is possible to send a new seek event to
|
|
continue playback. With this seek method it is possible to perform seamless
|
|
looping or simple linear editing.
|
|
|
|
When only changing the playback rate and not the direction, the
|
|
%GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag can be used for a non-flushing seek
|
|
to signal that the rate change should be applied immediately. This requires
|
|
special support in the seek handlers (e.g. demuxers) and any elements
|
|
synchronizing to the clock, and in general can't work in all cases (for example
|
|
UDP streaming where the delivery rate is controlled by a remote server). The
|
|
instant-rate-change mode supports changing the trickmode-related GST_SEEK_ flags,
|
|
but can't be used in conjunction with other seek flags that affect the new
|
|
playback position - as the playback position will not be changing.
|
|
|
|
When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode
|
|
playback, the %GST_SEEK_FLAG_TRICKMODE flag can be used to instruct decoders
|
|
and demuxers to adjust the playback rate by skipping frames. This can improve
|
|
performance and decrease CPU usage because not all frames need to be decoded.
|
|
|
|
Beyond that, the %GST_SEEK_FLAG_TRICKMODE_KEY_UNITS flag can be used to
|
|
request that decoders skip all frames except key units, and
|
|
%GST_SEEK_FLAG_TRICKMODE_NO_AUDIO flags can be used to request that audio
|
|
decoders do no decoding at all, and simple output silence.
|
|
|
|
The %GST_SEEK_FLAG_SNAP_BEFORE flag can be used to snap to the previous
|
|
relevant location, and the %GST_SEEK_FLAG_SNAP_AFTER flag can be used to
|
|
select the next relevant location. If %GST_SEEK_FLAG_KEY_UNIT is specified,
|
|
the relevant location is a keyframe. If both flags are specified, the nearest
|
|
of these locations will be selected. If none are specified, the implementation is
|
|
free to select whichever it wants.
|
|
|
|
The before and after here are in running time, so when playing backwards,
|
|
the next location refers to the one that will played in next, and not the
|
|
one that is located after in the actual source stream.
|
|
|
|
Also see part-seeking.txt in the GStreamer design documentation for more
|
|
details on the meaning of these flags and the behaviour expected of
|
|
elements that handle them.</doc>
|
|
<member name="none" value="0" c:identifier="GST_SEEK_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flag</doc>
|
|
</member>
|
|
<member name="flush" value="1" c:identifier="GST_SEEK_FLAG_FLUSH" glib:nick="flush">
|
|
<doc xml:space="preserve">flush pipeline</doc>
|
|
</member>
|
|
<member name="accurate" value="2" c:identifier="GST_SEEK_FLAG_ACCURATE" glib:nick="accurate">
|
|
<doc xml:space="preserve">accurate position is requested, this might
|
|
be considerably slower for some formats.</doc>
|
|
</member>
|
|
<member name="key_unit" value="4" c:identifier="GST_SEEK_FLAG_KEY_UNIT" glib:nick="key-unit">
|
|
<doc xml:space="preserve">seek to the nearest keyframe. This might be
|
|
faster but less accurate.</doc>
|
|
</member>
|
|
<member name="segment" value="8" c:identifier="GST_SEEK_FLAG_SEGMENT" glib:nick="segment">
|
|
<doc xml:space="preserve">perform a segment seek.</doc>
|
|
</member>
|
|
<member name="trickmode" value="16" c:identifier="GST_SEEK_FLAG_TRICKMODE" glib:nick="trickmode">
|
|
<doc xml:space="preserve">when doing fast forward or fast reverse playback, allow
|
|
elements to skip frames instead of generating all
|
|
frames. (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="skip" value="16" c:identifier="GST_SEEK_FLAG_SKIP" glib:nick="skip">
|
|
<doc xml:space="preserve">Deprecated backward compatibility flag, replaced
|
|
by %GST_SEEK_FLAG_TRICKMODE</doc>
|
|
</member>
|
|
<member name="snap_before" value="32" c:identifier="GST_SEEK_FLAG_SNAP_BEFORE" glib:nick="snap-before">
|
|
<doc xml:space="preserve">go to a location before the requested position,
|
|
if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at or before
|
|
the requested position the one at or before the seek target.</doc>
|
|
</member>
|
|
<member name="snap_after" value="64" c:identifier="GST_SEEK_FLAG_SNAP_AFTER" glib:nick="snap-after">
|
|
<doc xml:space="preserve">go to a location after the requested position,
|
|
if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at of after the
|
|
requested position.</doc>
|
|
</member>
|
|
<member name="snap_nearest" value="96" c:identifier="GST_SEEK_FLAG_SNAP_NEAREST" glib:nick="snap-nearest">
|
|
<doc xml:space="preserve">go to a position near the requested position,
|
|
if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe closest
|
|
to the requested position, if both keyframes are at an equal
|
|
distance, behaves like %GST_SEEK_FLAG_SNAP_BEFORE.</doc>
|
|
</member>
|
|
<member name="trickmode_key_units" value="128" c:identifier="GST_SEEK_FLAG_TRICKMODE_KEY_UNITS" glib:nick="trickmode-key-units">
|
|
<doc xml:space="preserve">when doing fast forward or fast reverse
|
|
playback, request that elements only decode keyframes
|
|
and skip all other content, for formats that have
|
|
keyframes. (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="trickmode_no_audio" value="256" c:identifier="GST_SEEK_FLAG_TRICKMODE_NO_AUDIO" glib:nick="trickmode-no-audio">
|
|
<doc xml:space="preserve">when doing fast forward or fast reverse
|
|
playback, request that audio decoder elements skip
|
|
decoding and output only gap events or silence. (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="trickmode_forward_predicted" value="512" c:identifier="GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED" glib:nick="trickmode-forward-predicted">
|
|
<doc xml:space="preserve">When doing fast forward or fast reverse
|
|
playback, request that elements only decode keyframes and
|
|
forward predicted frames and skip all other content (for example
|
|
B-Frames), for formats that have keyframes and forward predicted
|
|
frames. (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="instant_rate_change" value="1024" c:identifier="GST_SEEK_FLAG_INSTANT_RATE_CHANGE" glib:nick="instant-rate-change">
|
|
<doc xml:space="preserve">Signals that a rate change should be
|
|
applied immediately. Only valid if start/stop position
|
|
are GST_CLOCK_TIME_NONE, the playback direction does not change
|
|
and the seek is not flushing. (Since: 1.18)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="SeekType" glib:type-name="GstSeekType" glib:get-type="gst_seek_type_get_type" c:type="GstSeekType">
|
|
<doc xml:space="preserve">The different types of seek events. When constructing a seek event with
|
|
gst_event_new_seek() or when doing gst_segment_do_seek ().</doc>
|
|
<member name="none" value="0" c:identifier="GST_SEEK_TYPE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no change in position is required</doc>
|
|
</member>
|
|
<member name="set" value="1" c:identifier="GST_SEEK_TYPE_SET" glib:nick="set">
|
|
<doc xml:space="preserve">absolute position is requested</doc>
|
|
</member>
|
|
<member name="end" value="2" c:identifier="GST_SEEK_TYPE_END" glib:nick="end">
|
|
<doc xml:space="preserve">relative position to duration is requested</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="Segment" c:type="GstSegment" glib:type-name="GstSegment" glib:get-type="gst_segment_get_type" c:symbol-prefix="segment">
|
|
<doc xml:space="preserve">This helper structure holds the relevant values for tracking the region of
|
|
interest in a media file, called a segment.
|
|
|
|
The structure can be used for two purposes:
|
|
|
|
* performing seeks (handling seek events)
|
|
* tracking playback regions (handling newsegment events)
|
|
|
|
The segment is usually configured by the application with a seek event which
|
|
is propagated upstream and eventually handled by an element that performs the seek.
|
|
|
|
The configured segment is then propagated back downstream with a newsegment event.
|
|
This information is then used to clip media to the segment boundaries.
|
|
|
|
A segment structure is initialized with gst_segment_init(), which takes a #GstFormat
|
|
that will be used as the format of the segment values. The segment will be configured
|
|
with a start value of 0 and a stop/duration of -1, which is undefined. The default
|
|
rate and applied_rate is 1.0.
|
|
|
|
The public duration field contains the duration of the segment. When using
|
|
the segment for seeking, the start and time members should normally be left
|
|
to their default 0 value. The stop position is left to -1 unless explicitly
|
|
configured to a different value after a seek event.
|
|
|
|
The current position in the segment should be set by changing the position
|
|
member in the structure.
|
|
|
|
For elements that perform seeks, the current segment should be updated with the
|
|
gst_segment_do_seek() and the values from the seek event. This method will update
|
|
all the segment fields. The position field will contain the new playback position.
|
|
If the start_type was different from GST_SEEK_TYPE_NONE, playback continues from
|
|
the position position, possibly with updated flags or rate.
|
|
|
|
For elements that want to use #GstSegment to track the playback region,
|
|
update the segment fields with the information from the newsegment event.
|
|
The gst_segment_clip() method can be used to check and clip
|
|
the media data to the segment boundaries.
|
|
|
|
For elements that want to synchronize to the pipeline clock, gst_segment_to_running_time()
|
|
can be used to convert a timestamp to a value that can be used to synchronize
|
|
to the clock. This function takes into account the base as well as
|
|
any rate or applied_rate conversions.
|
|
|
|
For elements that need to perform operations on media data in stream_time,
|
|
gst_segment_to_stream_time() can be used to convert a timestamp and the segment
|
|
info to stream time (which is always between 0 and the duration of the stream).</doc>
|
|
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">flags for this segment</doc>
|
|
<type name="SegmentFlags" c:type="GstSegmentFlags"/>
|
|
</field>
|
|
<field name="rate" writable="1">
|
|
<doc xml:space="preserve">the playback rate of the segment is set in response to a seek
|
|
event and, without any seek, the value should be `1.0`. This
|
|
value is used by elements that synchronize buffer [running
|
|
times](additional/design/synchronisation.md#running-time) on
|
|
the clock (usually the sink elements), leading to consuming
|
|
buffers faster (for a value `> 1.0`) or slower (for `0.0 <
|
|
value < 1.0`) than normal playback speed. The rate also
|
|
defines the playback direction, meaning that when the value is
|
|
lower than `0.0`, the playback happens in reverse, and the
|
|
[stream-time](additional/design/synchronisation.md#stream-time)
|
|
is going backward. The `rate` value should never be `0.0`.</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="applied_rate" writable="1">
|
|
<doc xml:space="preserve">The applied rate is the rate that has been applied to the stream.
|
|
The effective/resulting playback rate of a stream is
|
|
`rate * applied_rate`.
|
|
The applied rate can be set by source elements when a server is
|
|
sending the stream with an already modified playback speed
|
|
rate. Filter elements that modify the stream in a way that
|
|
modifies the playback speed should also modify the applied
|
|
rate. For example the #videorate element when its
|
|
#videorate:rate property is set will set the applied rate of
|
|
the segment it pushed downstream. Also #scaletempo applies the
|
|
input segment rate to the stream and outputs a segment with
|
|
rate=1.0 and applied_rate=<inputsegment.rate>.</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="format" writable="1">
|
|
<doc xml:space="preserve">the unit used for all of the segment's values.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</field>
|
|
<field name="base" writable="1">
|
|
<doc xml:space="preserve">the running time (plus elapsed time, see offset) of the
|
|
segment [start](GstSegment.start) ([stop](GstSegment.stop) if
|
|
rate < 0.0).</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">the offset expresses the elapsed time (in buffer timestamps)
|
|
before a seek with its start (stop if rate < 0.0) seek type
|
|
set to #GST_SEEK_TYPE_NONE, the value is set to the position
|
|
of the segment at the time of the seek.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="start" writable="1">
|
|
<doc xml:space="preserve">the start time of the segment (in buffer timestamps)
|
|
[(PTS)](GstBuffer.pts), that is the timestamp of the first
|
|
buffer to output inside the segment (last one during
|
|
reverse playback). For example decoders will
|
|
[clip](gst_segment_clip) out the buffers before the start
|
|
time.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="stop" writable="1">
|
|
<doc xml:space="preserve">the stop time of the segment (in buffer timestamps)
|
|
[(PTS)](GstBuffer.pts), that is the timestamp of the last
|
|
buffer to output inside the segment (first one during
|
|
reverse playback). For example decoders will
|
|
[clip](gst_segment_clip) out buffers after the stop time.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="time" writable="1">
|
|
<doc xml:space="preserve">the stream time of the segment [start](GstSegment.start)
|
|
([stop](GstSegment.stop) if rate < 0.0).</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="position" writable="1">
|
|
<doc xml:space="preserve">the buffer timestamp position in the segment is supposed to be
|
|
updated by elements such as sources, demuxers or parsers to
|
|
track progress by setting it to the last pushed buffer' end time
|
|
([timestamp](GstBuffer.pts) + #GstBuffer.duration) for that
|
|
specific segment. The position is used when reconfiguring the
|
|
segment with #gst_segment_do_seek when the seek is only
|
|
updating the segment (see [offset](GstSegment.offset)).</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="duration" writable="1">
|
|
<doc xml:space="preserve">the duration of the segment is the maximum absolute difference
|
|
between #GstSegment.start and #GstSegment.stop if stop is not
|
|
set, otherwise it should be the difference between those
|
|
two values. This should be set by elements that know the
|
|
overall stream duration (like demuxers) and will be used when
|
|
seeking with #GST_SEEK_TYPE_END.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_segment_new">
|
|
<doc xml:space="preserve">Allocate a new #GstSegment structure and initialize it using
|
|
gst_segment_init().
|
|
|
|
Free-function: gst_segment_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstSegment, free with gst_segment_free().</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="clip" c:identifier="gst_segment_clip">
|
|
<doc xml:space="preserve">Clip the given @start and @stop values to the segment boundaries given
|
|
in @segment. @start and @stop are compared and clipped to @segment
|
|
start and stop values.
|
|
|
|
If the function returns %FALSE, @start and @stop are known to fall
|
|
outside of @segment and @clip_start and @clip_stop are not updated.
|
|
|
|
When the function returns %TRUE, @clip_start and @clip_stop will be
|
|
updated. If @clip_start or @clip_stop are different from @start or @stop
|
|
respectively, the region fell partially in the segment.
|
|
|
|
Note that when @stop is -1, @clip_stop will be set to the end of the
|
|
segment. Depending on the use case, this may or may not be what you want.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the given @start and @stop times fall partially or
|
|
completely in @segment, %FALSE if the values are completely outside
|
|
of the segment.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start position in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stop position in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="clip_start" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the clipped start position in the segment</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
<parameter name="clip_stop" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the clipped stop position in the segment</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_segment_copy">
|
|
<doc xml:space="preserve">Create a copy of given @segment.
|
|
|
|
Free-function: gst_segment_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstSegment, free with gst_segment_free().</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_into" c:identifier="gst_segment_copy_into">
|
|
<doc xml:space="preserve">Copy the contents of @src into @dest.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="do_seek" c:identifier="gst_segment_do_seek">
|
|
<doc xml:space="preserve">Update the segment structure with the field values of a seek event (see
|
|
gst_event_new_seek()).
|
|
|
|
After calling this method, the segment field position and time will
|
|
contain the requested new position in the segment. The new requested
|
|
position in the segment depends on @rate and @start_type and @stop_type.
|
|
|
|
For positive @rate, the new position in the segment is the new @segment
|
|
start field when it was updated with a @start_type different from
|
|
#GST_SEEK_TYPE_NONE. If no update was performed on @segment start position
|
|
(#GST_SEEK_TYPE_NONE), @start is ignored and @segment position is
|
|
unmodified.
|
|
|
|
For negative @rate, the new position in the segment is the new @segment
|
|
stop field when it was updated with a @stop_type different from
|
|
#GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the
|
|
duration of the segment will be used to update the stop position.
|
|
If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE),
|
|
@stop is ignored and @segment position is unmodified.
|
|
|
|
The applied rate of the segment will be set to 1.0 by default.
|
|
If the caller can apply a rate change, it should update @segment
|
|
rate and applied_rate after calling this function.
|
|
|
|
@update will be set to %TRUE if a seek should be performed to the segment
|
|
position field. This field can be %FALSE if, for example, only the @rate
|
|
has been changed but not the playback position.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the seek could be performed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="rate" transfer-ownership="none">
|
|
<doc xml:space="preserve">the rate of the segment.</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the segment flags for the segment</doc>
|
|
<type name="SeekFlags" c:type="GstSeekFlags"/>
|
|
</parameter>
|
|
<parameter name="start_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seek method</doc>
|
|
<type name="SeekType" c:type="GstSeekType"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seek start value</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="stop_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seek method</doc>
|
|
<type name="SeekType" c:type="GstSeekType"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seek stop value</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="update" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">boolean holding whether position was updated.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_segment_free">
|
|
<doc xml:space="preserve">Free the allocated segment @segment.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstSegment</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_segment_init">
|
|
<doc xml:space="preserve">The start/position fields are set to 0 and the stop/duration
|
|
fields are set to -1 (unknown). The default rate of 1.0 and no
|
|
flags are set.
|
|
|
|
Initialize @segment to its default values.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_segment_is_equal" version="1.6">
|
|
<doc xml:space="preserve">Checks for two segments being equal. Equality here is defined
|
|
as perfect equality, including floating point values.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the segments are equal, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="s0" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="s1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="offset_running_time" c:identifier="gst_segment_offset_running_time" version="1.2.3">
|
|
<doc xml:space="preserve">Adjust the values in @segment so that @offset is applied to all
|
|
future running-time calculations.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the segment could be updated successfully. If %FALSE is
|
|
returned, @offset is not in @segment.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the offset to apply in the segment</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="position_from_running_time" c:identifier="gst_segment_position_from_running_time" version="1.8">
|
|
<doc xml:space="preserve">Convert @running_time into a position in the segment so that
|
|
gst_segment_to_running_time() with that position returns @running_time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment for @running_time. This function returns
|
|
-1 when @running_time is -1 or when it is not inside @segment.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="position_from_running_time_full" c:identifier="gst_segment_position_from_running_time_full" version="1.8">
|
|
<doc xml:space="preserve">Translate @running_time to the segment position using the currently configured
|
|
segment. Compared to gst_segment_position_from_running_time() this function can
|
|
return negative segment position.
|
|
|
|
This function is typically used by elements that need to synchronize buffers
|
|
against the clock or each other.
|
|
|
|
@running_time can be any value and the result of this function for values
|
|
outside of the segment is extrapolated.
|
|
|
|
When 1 is returned, @running_time resulted in a positive position returned
|
|
in @position.
|
|
|
|
When this function returns -1, the returned @position was < 0, and the value
|
|
in the position variable should be negated to get the real negative segment
|
|
position.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a 1 or -1 on success, 0 on failure.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running-time</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the resulting position in the segment</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="position_from_stream_time" c:identifier="gst_segment_position_from_stream_time" version="1.8">
|
|
<doc xml:space="preserve">Convert @stream_time into a position in the segment so that
|
|
gst_segment_to_stream_time() with that position returns @stream_time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment for @stream_time. This function returns
|
|
-1 when @stream_time is -1 or when it is not inside @segment.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="stream_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream_time in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="position_from_stream_time_full" c:identifier="gst_segment_position_from_stream_time_full" version="1.8">
|
|
<doc xml:space="preserve">Translate @stream_time to the segment position using the currently configured
|
|
segment. Compared to gst_segment_position_from_stream_time() this function can
|
|
return negative segment position.
|
|
|
|
This function is typically used by elements that need to synchronize buffers
|
|
against the clock or each other.
|
|
|
|
@stream_time can be any value and the result of this function for values outside
|
|
of the segment is extrapolated.
|
|
|
|
When 1 is returned, @stream_time resulted in a positive position returned
|
|
in @position.
|
|
|
|
When this function returns -1, the returned @position should be negated
|
|
to get the real negative segment position.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a 1 or -1 on success, 0 on failure.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="stream_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream-time</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the resulting position in the segment</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_running_time" c:identifier="gst_segment_set_running_time">
|
|
<doc xml:space="preserve">Adjust the start/stop and base values of @segment such that the next valid
|
|
buffer will be one with @running_time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the segment could be updated successfully. If %FALSE is
|
|
returned, @running_time is -1 or not in @segment.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_position" c:identifier="gst_segment_to_position" deprecated="1">
|
|
<doc xml:space="preserve">Convert @running_time into a position in the segment so that
|
|
gst_segment_to_running_time() with that position returns @running_time.</doc>
|
|
<doc-deprecated xml:space="preserve">Use gst_segment_position_from_running_time() instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment for @running_time. This function returns
|
|
-1 when @running_time is -1 or when it is not inside @segment.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_running_time" c:identifier="gst_segment_to_running_time">
|
|
<doc xml:space="preserve">Translate @position to the total running time using the currently configured
|
|
segment. Position is a value between @segment start and stop time.
|
|
|
|
This function is typically used by elements that need to synchronize to the
|
|
global clock in a pipeline. The running time is a constantly increasing value
|
|
starting from 0. When gst_segment_init() is called, this value will reset to
|
|
0.
|
|
|
|
This function returns -1 if the position is outside of @segment start and stop.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the position as the total running time or -1 when an invalid position
|
|
was given.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_running_time_full" c:identifier="gst_segment_to_running_time_full" version="1.6">
|
|
<doc xml:space="preserve">Translate @position to the total running time using the currently configured
|
|
segment. Compared to gst_segment_to_running_time() this function can return
|
|
negative running-time.
|
|
|
|
This function is typically used by elements that need to synchronize buffers
|
|
against the clock or each other.
|
|
|
|
@position can be any value and the result of this function for values outside
|
|
of the segment is extrapolated.
|
|
|
|
When 1 is returned, @position resulted in a positive running-time returned
|
|
in @running_time.
|
|
|
|
When this function returns -1, the returned @running_time should be negated
|
|
to get the real negative running time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a 1 or -1 on success, 0 on failure.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">result running-time</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_stream_time" c:identifier="gst_segment_to_stream_time" version="1.8">
|
|
<doc xml:space="preserve">Translate @position to stream time using the currently configured
|
|
segment. The @position value must be between @segment start and
|
|
stop value.
|
|
|
|
This function is typically used by elements that need to operate on
|
|
the stream time of the buffers it receives, such as effect plugins.
|
|
In those use cases, @position is typically the buffer timestamp or
|
|
clock time that one wants to convert to the stream time.
|
|
The stream time is always between 0 and the total duration of the
|
|
media stream.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in stream_time or -1 when an invalid position
|
|
was given.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_stream_time_full" c:identifier="gst_segment_to_stream_time_full" version="1.8">
|
|
<doc xml:space="preserve">Translate @position to the total stream time using the currently configured
|
|
segment. Compared to gst_segment_to_stream_time() this function can return
|
|
negative stream-time.
|
|
|
|
This function is typically used by elements that need to synchronize buffers
|
|
against the clock or each other.
|
|
|
|
@position can be any value and the result of this function for values outside
|
|
of the segment is extrapolated.
|
|
|
|
When 1 is returned, @position resulted in a positive stream-time returned
|
|
in @stream_time.
|
|
|
|
When this function returns -1, the returned @stream_time should be negated
|
|
to get the real negative stream time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a 1 or -1 on success, 0 on failure.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSegment structure.</doc>
|
|
<type name="Segment" c:type="const GstSegment*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format of the segment.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in the segment</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="stream_time" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result stream-time</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="SegmentFlags" glib:type-name="GstSegmentFlags" glib:get-type="gst_segment_flags_get_type" c:type="GstSegmentFlags">
|
|
<doc xml:space="preserve">Flags for the GstSegment structure. Currently mapped to the corresponding
|
|
values of the seek flags.</doc>
|
|
<member name="none" value="0" c:identifier="GST_SEGMENT_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="reset" value="1" c:identifier="GST_SEGMENT_FLAG_RESET" glib:nick="reset">
|
|
<doc xml:space="preserve">reset the pipeline running_time to the segment
|
|
running_time</doc>
|
|
</member>
|
|
<member name="trickmode" value="16" c:identifier="GST_SEGMENT_FLAG_TRICKMODE" glib:nick="trickmode">
|
|
<doc xml:space="preserve">perform skip playback (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="skip" value="16" c:identifier="GST_SEGMENT_FLAG_SKIP" glib:nick="skip">
|
|
<doc xml:space="preserve">Deprecated backward compatibility flag, replaced
|
|
by @GST_SEGMENT_FLAG_TRICKMODE</doc>
|
|
</member>
|
|
<member name="segment" value="8" c:identifier="GST_SEGMENT_FLAG_SEGMENT" glib:nick="segment">
|
|
<doc xml:space="preserve">send SEGMENT_DONE instead of EOS</doc>
|
|
</member>
|
|
<member name="trickmode_key_units" value="128" c:identifier="GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS" glib:nick="trickmode-key-units">
|
|
<doc xml:space="preserve">Decode only keyframes, where
|
|
possible (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="trickmode_forward_predicted" value="512" c:identifier="GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED" glib:nick="trickmode-forward-predicted">
|
|
<doc xml:space="preserve">Decode only keyframes or forward
|
|
predicted frames, where possible (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="trickmode_no_audio" value="256" c:identifier="GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO" glib:nick="trickmode-no-audio">
|
|
<doc xml:space="preserve">Do not decode any audio, where
|
|
possible (Since: 1.6)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<bitfield name="StackTraceFlags" version="1.12" glib:type-name="GstStackTraceFlags" glib:get-type="gst_stack_trace_flags_get_type" c:type="GstStackTraceFlags">
|
|
<member name="none" value="0" c:identifier="GST_STACK_TRACE_SHOW_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">Try to retrieve the minimum information
|
|
available, which may be none on some platforms
|
|
(Since: 1.18)</doc>
|
|
</member>
|
|
<member name="full" value="1" c:identifier="GST_STACK_TRACE_SHOW_FULL" glib:nick="full">
|
|
<doc xml:space="preserve">Try to retrieve as much information as possible,
|
|
including source information when getting the
|
|
stack trace</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="State" glib:type-name="GstState" glib:get-type="gst_state_get_type" c:type="GstState">
|
|
<doc xml:space="preserve">The possible states an element can be in. States can be changed using
|
|
gst_element_set_state() and checked using gst_element_get_state().</doc>
|
|
<member name="void_pending" value="0" c:identifier="GST_STATE_VOID_PENDING" glib:nick="void-pending">
|
|
<doc xml:space="preserve">no pending state.</doc>
|
|
</member>
|
|
<member name="null" value="1" c:identifier="GST_STATE_NULL" glib:nick="null">
|
|
<doc xml:space="preserve">the NULL state or initial state of an element.</doc>
|
|
</member>
|
|
<member name="ready" value="2" c:identifier="GST_STATE_READY" glib:nick="ready">
|
|
<doc xml:space="preserve">the element is ready to go to PAUSED.</doc>
|
|
</member>
|
|
<member name="paused" value="3" c:identifier="GST_STATE_PAUSED" glib:nick="paused">
|
|
<doc xml:space="preserve">the element is PAUSED, it is ready to accept and
|
|
process data. Sink elements however only accept one
|
|
buffer and then block.</doc>
|
|
</member>
|
|
<member name="playing" value="4" c:identifier="GST_STATE_PLAYING" glib:nick="playing">
|
|
<doc xml:space="preserve">the element is PLAYING, the #GstClock is running and
|
|
the data is flowing.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="StateChange" glib:type-name="GstStateChange" glib:get-type="gst_state_change_get_type" c:type="GstStateChange">
|
|
<doc xml:space="preserve">These are the different state changes an element goes through.
|
|
%GST_STATE_NULL &rArr; %GST_STATE_PLAYING is called an upwards state change
|
|
and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change.</doc>
|
|
<member name="null_to_ready" value="10" c:identifier="GST_STATE_CHANGE_NULL_TO_READY" glib:nick="null-to-ready">
|
|
<doc xml:space="preserve">state change from NULL to READY.
|
|
* The element must check if the resources it needs are available. Device
|
|
sinks and -sources typically try to probe the device to constrain their
|
|
caps.
|
|
* The element opens the device (in case feature need to be probed).</doc>
|
|
</member>
|
|
<member name="ready_to_paused" value="19" c:identifier="GST_STATE_CHANGE_READY_TO_PAUSED" glib:nick="ready-to-paused">
|
|
<doc xml:space="preserve">state change from READY to PAUSED.
|
|
* The element pads are activated in order to receive data in PAUSED.
|
|
Streaming threads are started.
|
|
* Some elements might need to return %GST_STATE_CHANGE_ASYNC and complete
|
|
the state change when they have enough information. It is a requirement
|
|
for sinks to return %GST_STATE_CHANGE_ASYNC and complete the state change
|
|
when they receive the first buffer or %GST_EVENT_EOS (preroll).
|
|
Sinks also block the dataflow when in PAUSED.
|
|
* A pipeline resets the running_time to 0.
|
|
* Live sources return %GST_STATE_CHANGE_NO_PREROLL and don't generate data.</doc>
|
|
</member>
|
|
<member name="paused_to_playing" value="28" c:identifier="GST_STATE_CHANGE_PAUSED_TO_PLAYING" glib:nick="paused-to-playing">
|
|
<doc xml:space="preserve">state change from PAUSED to PLAYING.
|
|
* Most elements ignore this state change.
|
|
* The pipeline selects a #GstClock and distributes this to all the children
|
|
before setting them to PLAYING. This means that it is only allowed to
|
|
synchronize on the #GstClock in the PLAYING state.
|
|
* The pipeline uses the #GstClock and the running_time to calculate the
|
|
base_time. The base_time is distributed to all children when performing
|
|
the state change.
|
|
* Sink elements stop blocking on the preroll buffer or event and start
|
|
rendering the data.
|
|
* Sinks can post %GST_MESSAGE_EOS in the PLAYING state. It is not allowed
|
|
to post %GST_MESSAGE_EOS when not in the PLAYING state.
|
|
* While streaming in PAUSED or PLAYING elements can create and remove
|
|
sometimes pads.
|
|
* Live sources start generating data and return %GST_STATE_CHANGE_SUCCESS.</doc>
|
|
</member>
|
|
<member name="playing_to_paused" value="35" c:identifier="GST_STATE_CHANGE_PLAYING_TO_PAUSED" glib:nick="playing-to-paused">
|
|
<doc xml:space="preserve">state change from PLAYING to PAUSED.
|
|
* Most elements ignore this state change.
|
|
* The pipeline calculates the running_time based on the last selected
|
|
#GstClock and the base_time. It stores this information to continue
|
|
playback when going back to the PLAYING state.
|
|
* Sinks unblock any #GstClock wait calls.
|
|
* When a sink does not have a pending buffer to play, it returns
|
|
#GST_STATE_CHANGE_ASYNC from this state change and completes the state
|
|
change when it receives a new buffer or an %GST_EVENT_EOS.
|
|
* Any queued %GST_MESSAGE_EOS items are removed since they will be reposted
|
|
when going back to the PLAYING state. The EOS messages are queued in
|
|
#GstBin containers.
|
|
* Live sources stop generating data and return %GST_STATE_CHANGE_NO_PREROLL.</doc>
|
|
</member>
|
|
<member name="paused_to_ready" value="26" c:identifier="GST_STATE_CHANGE_PAUSED_TO_READY" glib:nick="paused-to-ready">
|
|
<doc xml:space="preserve">state change from PAUSED to READY.
|
|
* Sinks unblock any waits in the preroll.
|
|
* Elements unblock any waits on devices
|
|
* Chain or get_range functions return %GST_FLOW_FLUSHING.
|
|
* The element pads are deactivated so that streaming becomes impossible and
|
|
all streaming threads are stopped.
|
|
* The sink forgets all negotiated formats
|
|
* Elements remove all sometimes pads</doc>
|
|
</member>
|
|
<member name="ready_to_null" value="17" c:identifier="GST_STATE_CHANGE_READY_TO_NULL" glib:nick="ready-to-null">
|
|
<doc xml:space="preserve">state change from READY to NULL.
|
|
* Elements close devices
|
|
* Elements reset any internal state.</doc>
|
|
</member>
|
|
<member name="null_to_null" value="9" c:identifier="GST_STATE_CHANGE_NULL_TO_NULL" glib:nick="null-to-null">
|
|
<doc xml:space="preserve">state change from NULL to NULL. (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="ready_to_ready" value="18" c:identifier="GST_STATE_CHANGE_READY_TO_READY" glib:nick="ready-to-ready">
|
|
<doc xml:space="preserve">state change from READY to READY,
|
|
This might happen when going to PAUSED asynchronously failed, in that case
|
|
elements should make sure they are in a proper, coherent READY state. (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="paused_to_paused" value="27" c:identifier="GST_STATE_CHANGE_PAUSED_TO_PAUSED" glib:nick="paused-to-paused">
|
|
<doc xml:space="preserve">state change from PAUSED to PAUSED.
|
|
This might happen when elements were in PLAYING state and 'lost state',
|
|
they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="playing_to_playing" value="36" c:identifier="GST_STATE_CHANGE_PLAYING_TO_PLAYING" glib:nick="playing-to-playing">
|
|
<doc xml:space="preserve">state change from PLAYING to PLAYING. (Since: 1.14)</doc>
|
|
</member>
|
|
<function name="get_name" c:identifier="gst_state_change_get_name" version="1.14">
|
|
<doc xml:space="preserve">Gets a string representing the given state transition.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a string with the name of the state
|
|
result.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStateChange to get the name of.</doc>
|
|
<type name="StateChange" c:type="GstStateChange"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="StateChangeReturn" glib:type-name="GstStateChangeReturn" glib:get-type="gst_state_change_return_get_type" c:type="GstStateChangeReturn">
|
|
<doc xml:space="preserve">The possible return values from a state change function such as
|
|
gst_element_set_state(). Only @GST_STATE_CHANGE_FAILURE is a real failure.</doc>
|
|
<member name="failure" value="0" c:identifier="GST_STATE_CHANGE_FAILURE" glib:nick="failure">
|
|
<doc xml:space="preserve">the state change failed</doc>
|
|
</member>
|
|
<member name="success" value="1" c:identifier="GST_STATE_CHANGE_SUCCESS" glib:nick="success">
|
|
<doc xml:space="preserve">the state change succeeded</doc>
|
|
</member>
|
|
<member name="async" value="2" c:identifier="GST_STATE_CHANGE_ASYNC" glib:nick="async">
|
|
<doc xml:space="preserve">the state change will happen asynchronously</doc>
|
|
</member>
|
|
<member name="no_preroll" value="3" c:identifier="GST_STATE_CHANGE_NO_PREROLL" glib:nick="no-preroll">
|
|
<doc xml:space="preserve">the state change succeeded but the element
|
|
cannot produce data in %GST_STATE_PAUSED.
|
|
This typically happens with live sources.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="StaticCaps" c:type="GstStaticCaps">
|
|
<doc xml:space="preserve">Datastructure to initialize #GstCaps from a string description usually
|
|
used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
|
|
instantiate a #GstCaps.</doc>
|
|
|
|
<field name="caps" writable="1">
|
|
<doc xml:space="preserve">the cached #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<field name="string" writable="1">
|
|
<doc xml:space="preserve">a string describing a caps</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="cleanup" c:identifier="gst_static_caps_cleanup">
|
|
<doc xml:space="preserve">Clean up the cached caps contained in @static_caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="static_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStaticCaps to clean</doc>
|
|
<type name="StaticCaps" c:type="GstStaticCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get" c:identifier="gst_static_caps_get">
|
|
<doc xml:space="preserve">Converts a #GstStaticCaps to a #GstCaps.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a pointer to the #GstCaps. Unref
|
|
after usage. Since the core holds an additional ref to the
|
|
returned caps, use gst_caps_make_writable() on the returned caps
|
|
to modify it.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="static_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStaticCaps to convert</doc>
|
|
<type name="StaticCaps" c:type="GstStaticCaps*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="StaticPadTemplate" c:type="GstStaticPadTemplate">
|
|
<doc xml:space="preserve">Structure describing the #GstStaticPadTemplate.</doc>
|
|
|
|
<field name="name_template" writable="1">
|
|
<doc xml:space="preserve">the name of the template</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="direction" writable="1">
|
|
<doc xml:space="preserve">the direction of the template</doc>
|
|
<type name="PadDirection" c:type="GstPadDirection"/>
|
|
</field>
|
|
<field name="presence" writable="1">
|
|
<doc xml:space="preserve">the presence of the template</doc>
|
|
<type name="PadPresence" c:type="GstPadPresence"/>
|
|
</field>
|
|
<field name="static_caps" writable="1">
|
|
<doc xml:space="preserve">the caps of the template.</doc>
|
|
<type name="StaticCaps" c:type="GstStaticCaps"/>
|
|
</field>
|
|
<method name="get" c:identifier="gst_static_pad_template_get">
|
|
<doc xml:space="preserve">Converts a #GstStaticPadTemplate into a #GstPadTemplate.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPadTemplate.</doc>
|
|
<type name="PadTemplate" c:type="GstPadTemplate*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad_template" transfer-ownership="none">
|
|
<doc xml:space="preserve">the static pad template</doc>
|
|
<type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_caps" c:identifier="gst_static_pad_template_get_caps">
|
|
<doc xml:space="preserve">Gets the capabilities of the static pad template.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps of the static pad template.
|
|
Unref after usage. Since the core holds an additional
|
|
ref to the returned caps, use gst_caps_make_writable()
|
|
on the returned caps to modify it.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="templ" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStaticPadTemplate to get capabilities of.</doc>
|
|
<type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="Stream" c:symbol-prefix="stream" c:type="GstStream" version="1.10" parent="Object" glib:type-name="GstStream" glib:get-type="gst_stream_get_type" glib:type-struct="StreamClass">
|
|
<doc xml:space="preserve">A high-level object representing a single stream. It might be backed, or
|
|
not, by an actual flow of data in a pipeline (#GstPad).
|
|
|
|
A #GstStream does not care about data changes (such as decoding, encoding,
|
|
parsing,...) as long as the underlying data flow corresponds to the same
|
|
high-level flow (ex: a certain audio track).
|
|
|
|
A #GstStream contains all the information pertinent to a stream, such as
|
|
stream-id, tags, caps, type, ...
|
|
|
|
Elements can subclass a #GstStream for internal usage (to contain information
|
|
pertinent to streams of data).</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_stream_new" version="1.10">
|
|
<doc xml:space="preserve">Create a new #GstStream for the given @stream_id, @caps, @type
|
|
and @flags</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream_id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the id for the new stream. If %NULL,
|
|
a new one will be automatically generated</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCaps of the stream</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStreamType of the stream</doc>
|
|
<type name="StreamType" c:type="GstStreamType"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstStreamFlags of the stream</doc>
|
|
<type name="StreamFlags" c:type="GstStreamFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="get_caps" c:identifier="gst_stream_get_caps" version="1.10">
|
|
<doc xml:space="preserve">Retrieve the caps for @stream, if any</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The #GstCaps for @stream</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream_flags" c:identifier="gst_stream_get_stream_flags" version="1.10">
|
|
<doc xml:space="preserve">Retrieve the current stream flags for @stream</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstStreamFlags for @stream</doc>
|
|
<type name="StreamFlags" c:type="GstStreamFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream_id" c:identifier="gst_stream_get_stream_id" version="1.10">
|
|
<doc xml:space="preserve">Returns the stream ID of @stream.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the stream ID of @stream. Only valid
|
|
during the lifetime of @stream.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream_type" c:identifier="gst_stream_get_stream_type" version="1.10">
|
|
<doc xml:space="preserve">Retrieve the stream type for @stream</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstStreamType for @stream</doc>
|
|
<type name="StreamType" c:type="GstStreamType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tags" c:identifier="gst_stream_get_tags" version="1.10">
|
|
<doc xml:space="preserve">Retrieve the tags for @stream, if any</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The #GstTagList for @stream</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_caps" c:identifier="gst_stream_set_caps" version="1.10">
|
|
<doc xml:space="preserve">Set the caps for the #GstStream</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_stream_flags" c:identifier="gst_stream_set_stream_flags" version="1.10">
|
|
<doc xml:space="preserve">Set the @flags for the @stream.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">the flags to set on @stream</doc>
|
|
<type name="StreamFlags" c:type="GstStreamFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_stream_type" c:identifier="gst_stream_set_stream_type" version="1.10">
|
|
<doc xml:space="preserve">Set the stream type of @stream</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type to set on @stream</doc>
|
|
<type name="StreamType" c:type="GstStreamType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_tags" c:identifier="gst_stream_set_tags" version="1.10">
|
|
<doc xml:space="preserve">Set the tags for the #GstStream</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="stream" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="caps" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstCaps of the #GstStream.</doc>
|
|
<type name="Caps"/>
|
|
</property>
|
|
<property name="stream-flags" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="StreamFlags"/>
|
|
</property>
|
|
<property name="stream-id" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The unique identifier of the #GstStream. Can only be set at construction
|
|
time.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="stream-type" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstStreamType of the #GstStream. Can only be set at construction time.</doc>
|
|
<type name="StreamType"/>
|
|
</property>
|
|
<property name="tags" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTagList of the #GstStream.</doc>
|
|
<type name="TagList"/>
|
|
</property>
|
|
<field name="object" readable="0" private="1">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="stream_id">
|
|
<doc xml:space="preserve">The Stream Identifier for this #GstStream</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="StreamPrivate" c:type="GstStreamPrivate*"/>
|
|
</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="StreamClass" c:type="GstStreamClass" glib:is-gtype-struct-for="Stream">
|
|
<doc xml:space="preserve">GstStream class structure</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</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>
|
|
<class name="StreamCollection" c:symbol-prefix="stream_collection" c:type="GstStreamCollection" version="1.10" parent="Object" glib:type-name="GstStreamCollection" glib:get-type="gst_stream_collection_get_type" glib:type-struct="StreamCollectionClass">
|
|
<doc xml:space="preserve">A collection of #GstStream that are available.
|
|
|
|
A #GstStreamCollection will be provided by elements that can make those
|
|
streams available. Applications can use the collection to show the user
|
|
what streams are available by using %gst_stream_collection_get_stream()
|
|
|
|
Once posted, a #GstStreamCollection is immutable. Updates are made by sending
|
|
a new #GstStreamCollection message, which may or may not share some of
|
|
the #GstStream objects from the collection it replaces. The receiver can check
|
|
the sender of a stream collection message to know which collection is
|
|
obsoleted.
|
|
|
|
Several elements in a pipeline can provide #GstStreamCollection.
|
|
|
|
Applications can activate streams from a collection by using the
|
|
#GST_EVENT_SELECT_STREAMS event on a pipeline, bin or element.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_stream_collection_new" version="1.10">
|
|
<doc xml:space="preserve">Create a new #GstStreamCollection.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstStreamCollection.</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="upstream_id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The stream id of the parent stream</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<virtual-method name="stream_notify">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="collection" transfer-ownership="none">
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_stream" c:identifier="gst_stream_collection_add_stream" version="1.10">
|
|
<doc xml:space="preserve">Add the given @stream to the @collection.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the @stream was properly added, else %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStreamCollection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</instance-parameter>
|
|
<parameter name="stream" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstStream to add</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="gst_stream_collection_get_size" version="1.10">
|
|
<doc xml:space="preserve">Get the number of streams this collection contains</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of streams that @collection contains</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStreamCollection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stream" c:identifier="gst_stream_collection_get_stream" version="1.10">
|
|
<doc xml:space="preserve">Retrieve the #GstStream with index @index from the collection.
|
|
|
|
The caller should not modify the returned #GstStream</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">A #GstStream</doc>
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStreamCollection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">Index of the stream to retrieve</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_upstream_id" c:identifier="gst_stream_collection_get_upstream_id" version="1.10">
|
|
<doc xml:space="preserve">Returns the upstream id of the @collection.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The upstream id</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="collection" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStreamCollection</doc>
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="upstream-id" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="object" readable="0" private="1">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="upstream_id" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="StreamCollectionPrivate" c:type="GstStreamCollectionPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="stream-notify" when="first" no-recurse="1" detailed="1" no-hooks="1">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="Stream"/>
|
|
</parameter>
|
|
<parameter name="p0" transfer-ownership="none">
|
|
<type name="GObject.ParamSpec"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="StreamCollectionClass" c:type="GstStreamCollectionClass" glib:is-gtype-struct-for="StreamCollection">
|
|
<doc xml:space="preserve">GstStreamCollection class structure</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="stream_notify">
|
|
<callback name="stream_notify">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="collection" transfer-ownership="none">
|
|
<type name="StreamCollection" c:type="GstStreamCollection*"/>
|
|
</parameter>
|
|
<parameter name="stream" transfer-ownership="none">
|
|
<type name="Stream" c:type="GstStream*"/>
|
|
</parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<record name="StreamCollectionPrivate" c:type="GstStreamCollectionPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="StreamError" glib:type-name="GstStreamError" glib:get-type="gst_stream_error_get_type" c:type="GstStreamError" glib:error-domain="gst-stream-error-quark">
|
|
<doc xml:space="preserve">Stream errors are for anything related to the stream being processed:
|
|
format errors, media type errors, ...
|
|
They're typically used by decoders, demuxers, converters, ...</doc>
|
|
<member name="failed" value="1" c:identifier="GST_STREAM_ERROR_FAILED" glib:nick="failed">
|
|
<doc xml:space="preserve">a general error which doesn't fit in any other
|
|
category. Make sure you add a custom message to the error call.</doc>
|
|
</member>
|
|
<member name="too_lazy" value="2" c:identifier="GST_STREAM_ERROR_TOO_LAZY" glib:nick="too-lazy">
|
|
<doc xml:space="preserve">do not use this except as a placeholder for
|
|
deciding where to go while developing code.</doc>
|
|
</member>
|
|
<member name="not_implemented" value="3" c:identifier="GST_STREAM_ERROR_NOT_IMPLEMENTED" glib:nick="not-implemented">
|
|
<doc xml:space="preserve">use this when you do not want to implement
|
|
this functionality yet.</doc>
|
|
</member>
|
|
<member name="type_not_found" value="4" c:identifier="GST_STREAM_ERROR_TYPE_NOT_FOUND" glib:nick="type-not-found">
|
|
<doc xml:space="preserve">used when the element doesn't know the
|
|
stream's type.</doc>
|
|
</member>
|
|
<member name="wrong_type" value="5" c:identifier="GST_STREAM_ERROR_WRONG_TYPE" glib:nick="wrong-type">
|
|
<doc xml:space="preserve">used when the element doesn't handle this type
|
|
of stream.</doc>
|
|
</member>
|
|
<member name="codec_not_found" value="6" c:identifier="GST_STREAM_ERROR_CODEC_NOT_FOUND" glib:nick="codec-not-found">
|
|
<doc xml:space="preserve">used when there's no codec to handle the
|
|
stream's type.</doc>
|
|
</member>
|
|
<member name="decode" value="7" c:identifier="GST_STREAM_ERROR_DECODE" glib:nick="decode">
|
|
<doc xml:space="preserve">used when decoding fails.</doc>
|
|
</member>
|
|
<member name="encode" value="8" c:identifier="GST_STREAM_ERROR_ENCODE" glib:nick="encode">
|
|
<doc xml:space="preserve">used when encoding fails.</doc>
|
|
</member>
|
|
<member name="demux" value="9" c:identifier="GST_STREAM_ERROR_DEMUX" glib:nick="demux">
|
|
<doc xml:space="preserve">used when demuxing fails.</doc>
|
|
</member>
|
|
<member name="mux" value="10" c:identifier="GST_STREAM_ERROR_MUX" glib:nick="mux">
|
|
<doc xml:space="preserve">used when muxing fails.</doc>
|
|
</member>
|
|
<member name="format" value="11" c:identifier="GST_STREAM_ERROR_FORMAT" glib:nick="format">
|
|
<doc xml:space="preserve">used when the stream is of the wrong format
|
|
(for example, wrong caps).</doc>
|
|
</member>
|
|
<member name="decrypt" value="12" c:identifier="GST_STREAM_ERROR_DECRYPT" glib:nick="decrypt">
|
|
<doc xml:space="preserve">used when the stream is encrypted and can't be
|
|
decrypted because this is not supported by the element.</doc>
|
|
</member>
|
|
<member name="decrypt_nokey" value="13" c:identifier="GST_STREAM_ERROR_DECRYPT_NOKEY" glib:nick="decrypt-nokey">
|
|
<doc xml:space="preserve">used when the stream is encrypted and
|
|
can't be decrypted because no suitable key is available.</doc>
|
|
</member>
|
|
<member name="num_errors" value="14" c:identifier="GST_STREAM_ERROR_NUM_ERRORS" glib:nick="num-errors">
|
|
<doc xml:space="preserve">the number of stream error types.</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_stream_error_quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="StreamFlags" version="1.2" glib:type-name="GstStreamFlags" glib:get-type="gst_stream_flags_get_type" c:type="GstStreamFlags">
|
|
<member name="none" value="0" c:identifier="GST_STREAM_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">This stream has no special attributes</doc>
|
|
</member>
|
|
<member name="sparse" value="1" c:identifier="GST_STREAM_FLAG_SPARSE" glib:nick="sparse">
|
|
<doc xml:space="preserve">This stream is a sparse stream (e.g. a subtitle
|
|
stream), data may flow only in irregular intervals with large gaps in
|
|
between.</doc>
|
|
</member>
|
|
<member name="select" value="2" c:identifier="GST_STREAM_FLAG_SELECT" glib:nick="select">
|
|
<doc xml:space="preserve">This stream should be selected by default. This
|
|
flag may be used by demuxers to signal that a stream should be selected
|
|
by default in a playback scenario.</doc>
|
|
</member>
|
|
<member name="unselect" value="4" c:identifier="GST_STREAM_FLAG_UNSELECT" glib:nick="unselect">
|
|
<doc xml:space="preserve">This stream should not be selected by default.
|
|
This flag may be used by demuxers to signal that a stream should not
|
|
be selected by default in a playback scenario, but only if explicitly
|
|
selected by the user (e.g. an audio track for the hard of hearing or
|
|
a director's commentary track).</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="StreamPrivate" c:type="GstStreamPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="StreamStatusType" glib:type-name="GstStreamStatusType" glib:get-type="gst_stream_status_type_get_type" c:type="GstStreamStatusType">
|
|
<doc xml:space="preserve">The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the
|
|
application of new streaming threads and their status.</doc>
|
|
<member name="create" value="0" c:identifier="GST_STREAM_STATUS_TYPE_CREATE" glib:nick="create">
|
|
<doc xml:space="preserve">A new thread need to be created.</doc>
|
|
</member>
|
|
<member name="enter" value="1" c:identifier="GST_STREAM_STATUS_TYPE_ENTER" glib:nick="enter">
|
|
<doc xml:space="preserve">a thread entered its loop function</doc>
|
|
</member>
|
|
<member name="leave" value="2" c:identifier="GST_STREAM_STATUS_TYPE_LEAVE" glib:nick="leave">
|
|
<doc xml:space="preserve">a thread left its loop function</doc>
|
|
</member>
|
|
<member name="destroy" value="3" c:identifier="GST_STREAM_STATUS_TYPE_DESTROY" glib:nick="destroy">
|
|
<doc xml:space="preserve">a thread is destroyed</doc>
|
|
</member>
|
|
<member name="start" value="8" c:identifier="GST_STREAM_STATUS_TYPE_START" glib:nick="start">
|
|
<doc xml:space="preserve">a thread is started</doc>
|
|
</member>
|
|
<member name="pause" value="9" c:identifier="GST_STREAM_STATUS_TYPE_PAUSE" glib:nick="pause">
|
|
<doc xml:space="preserve">a thread is paused</doc>
|
|
</member>
|
|
<member name="stop" value="10" c:identifier="GST_STREAM_STATUS_TYPE_STOP" glib:nick="stop">
|
|
<doc xml:space="preserve">a thread is stopped</doc>
|
|
</member>
|
|
</enumeration>
|
|
<bitfield name="StreamType" version="1.10" glib:type-name="GstStreamType" glib:get-type="gst_stream_type_get_type" c:type="GstStreamType">
|
|
<doc xml:space="preserve">#GstStreamType describes a high level classification set for
|
|
flows of data in #GstStream objects.
|
|
|
|
Note that this is a flag, and therefore users should not assume it
|
|
will be a single value. Do not use the equality operator for checking
|
|
whether a stream is of a certain type.</doc>
|
|
<member name="unknown" value="1" c:identifier="GST_STREAM_TYPE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">The stream is of unknown (unclassified) type.</doc>
|
|
</member>
|
|
<member name="audio" value="2" c:identifier="GST_STREAM_TYPE_AUDIO" glib:nick="audio">
|
|
<doc xml:space="preserve">The stream is of audio data</doc>
|
|
</member>
|
|
<member name="video" value="4" c:identifier="GST_STREAM_TYPE_VIDEO" glib:nick="video">
|
|
<doc xml:space="preserve">The stream carries video data</doc>
|
|
</member>
|
|
<member name="container" value="8" c:identifier="GST_STREAM_TYPE_CONTAINER" glib:nick="container">
|
|
<doc xml:space="preserve">The stream is a muxed container type</doc>
|
|
</member>
|
|
<member name="text" value="16" c:identifier="GST_STREAM_TYPE_TEXT" glib:nick="text">
|
|
<doc xml:space="preserve">The stream contains subtitle / subpicture data.</doc>
|
|
</member>
|
|
<function name="get_name" c:identifier="gst_stream_type_get_name" version="1.10">
|
|
<doc xml:space="preserve">Get a descriptive string for a given #GstStreamType</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">A string describing the stream type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stype" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStreamType</doc>
|
|
<type name="StreamType" c:type="GstStreamType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</bitfield>
|
|
<record name="Structure" c:type="GstStructure" glib:type-name="GstStructure" glib:get-type="gst_structure_get_type" c:symbol-prefix="structure">
|
|
<doc xml:space="preserve">A #GstStructure is a collection of key/value pairs. The keys are expressed as
|
|
GQuarks and the values can be of any GType.
|
|
|
|
In addition to the key/value pairs, a #GstStructure also has a name. The name
|
|
starts with a letter and can be filled by letters, numbers and any of
|
|
"/-_.:".
|
|
|
|
#GstStructure is used by various GStreamer subsystems to store information in
|
|
a flexible and extensible way. A #GstStructure does not have a refcount
|
|
because it usually is part of a higher level object such as #GstCaps,
|
|
#GstMessage, #GstEvent, #GstQuery. It provides a means to enforce mutability
|
|
using the refcount of the parent with the gst_structure_set_parent_refcount()
|
|
method.
|
|
|
|
A #GstStructure can be created with gst_structure_new_empty() or
|
|
gst_structure_new(), which both take a name and an optional set of key/value
|
|
pairs along with the types of the values.
|
|
|
|
Field values can be changed with gst_structure_set_value() or
|
|
gst_structure_set().
|
|
|
|
Field values can be retrieved with gst_structure_get_value() or the more
|
|
convenient gst_structure_get_*() functions.
|
|
|
|
Fields can be removed with gst_structure_remove_field() or
|
|
gst_structure_remove_fields().
|
|
|
|
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not
|
|
allowed. Strings may be %NULL however.
|
|
|
|
## The serialization format
|
|
|
|
GstStructure serialization format serialize the GstStructure name,
|
|
keys/GType/values in a comma separated list with the structure name as first
|
|
field without value followed by separated key/value pairs in the form
|
|
`key=value`, for example:
|
|
|
|
```
|
|
a-structure, key=value
|
|
````
|
|
|
|
The values type will be inferred if not explicitly specified with the
|
|
`(GTypeName)value` syntax, for example the following struct will have one
|
|
field called 'is-string' which has the string 'true' as a value:
|
|
|
|
```
|
|
a-struct, field-is-string=(string)true, field-is-boolean=true
|
|
```
|
|
|
|
*Note*: without specifying `(string), `field-is-string` type would have been
|
|
inferred as boolean.
|
|
|
|
*Note*: we specified `(string)` as a type even if `gchararray` is the actual
|
|
GType name as for convenience some well known types have been aliased or
|
|
abbreviated.
|
|
|
|
To avoid specifying the type, you can give some hints to the "type system".
|
|
For example to specify a value as a double, you should add a decimal (ie. `1`
|
|
is an `int` while `1.0` is a `double`).
|
|
|
|
*Note*: when a structure is serialized with #gst_structure_to_string, all
|
|
values are explicitly typed.
|
|
|
|
Some types have special delimiters:
|
|
|
|
- [GstValueArray](GST_TYPE_ARRAY) are inside curly brackets (`{` and `}`).
|
|
For example `a-structure, array={1, 2, 3}`
|
|
- Ranges are inside brackets (`[` and `]`). For example `a-structure,
|
|
range=[1, 6, 2]` 1 being the min value, 6 the maximum and 2 the step. To
|
|
specify a #GST_TYPE_INT64_RANGE you need to explicitly specify it like:
|
|
`a-structure, a-int64-range=(gint64) [1, 5]`
|
|
- [GstValueList](GST_TYPE_LIST) are inside "less and greater than" (`<` and
|
|
`>`). For example `a-structure, list=<1, 2, 3>
|
|
|
|
Structures are delimited either by a null character `\0` or a semicolumn `;`
|
|
the latter allowing to store multiple structures in the same string (see
|
|
#GstCaps).
|
|
|
|
Quotes are used as "default" delimiters and can be used around any types that
|
|
don't use other delimiters (for example `a-struct, i=(int)"1"`). They are use
|
|
to allow adding spaces or special characters (such as delimiters,
|
|
semicolumns, etc..) inside strings and you can use backslashes `\` to escape
|
|
characters inside them, for example:
|
|
|
|
```
|
|
a-struct, special="\"{[(;)]}\" can be used inside quotes"
|
|
```
|
|
|
|
They also allow for nested structure, such as:
|
|
|
|
```
|
|
a-struct, nested=(GstStructure)"nested-struct, nested=true"
|
|
```
|
|
|
|
> *Note*: Be aware that the current #GstCaps / #GstStructure serialization
|
|
> into string has limited support for nested #GstCaps / #GstStructure fields.
|
|
> It can only support one level of nesting. Using more levels will lead to
|
|
> unexpected behavior when using serialization features, such as
|
|
> gst_caps_to_string() or gst_value_serialize() and their counterparts.</doc>
|
|
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the GType of a structure</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="name" readable="0" private="1">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</field>
|
|
<constructor name="from_string" c:identifier="gst_structure_from_string">
|
|
<doc xml:space="preserve">Creates a #GstStructure from a string representation.
|
|
If end is not %NULL, a pointer to the place inside the given string
|
|
where parsing ended will be returned.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstStructure or %NULL
|
|
when the string could not be parsed. Free with
|
|
gst_structure_free() after use.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="string" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representation of a #GstStructure.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="end" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1" skip="1">
|
|
<doc xml:space="preserve">pointer to store the end of the string in.</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new" c:identifier="gst_structure_new" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstStructure with the given name. Parses the
|
|
list of variable arguments and sets fields to the values listed.
|
|
Variable arguments should be passed as field name, field type,
|
|
and value. Last variable argument should be %NULL.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of new structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="firstfield" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_empty" c:identifier="gst_structure_new_empty">
|
|
<doc xml:space="preserve">Creates a new, empty #GstStructure with the given @name.
|
|
|
|
See gst_structure_set_name() for constraints on the @name parameter.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of new structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_string" c:identifier="gst_structure_new_from_string" version="1.2">
|
|
<doc xml:space="preserve">Creates a #GstStructure from a string representation.
|
|
If end is not %NULL, a pointer to the place inside the given string
|
|
where parsing ended will be returned.
|
|
|
|
The current implementation of serialization will lead to unexpected results
|
|
when there are nested #GstCaps / #GstStructure deeper than one level.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstStructure or %NULL
|
|
when the string could not be parsed. Free with
|
|
gst_structure_free() after use.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="string" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representation of a #GstStructure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_id" c:identifier="gst_structure_new_id" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstStructure with the given name as a GQuark, followed by
|
|
fieldname quark, GType, argument(s) "triplets" in the same format as
|
|
gst_structure_id_set(). Basically a convenience wrapper around
|
|
gst_structure_new_id_empty() and gst_structure_id_set().
|
|
|
|
The last variable argument must be %NULL (or 0).
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name_quark" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of new structure</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="field_quark" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GQuark for the name of the field to set</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_id_empty" c:identifier="gst_structure_new_id_empty">
|
|
<doc xml:space="preserve">Creates a new, empty #GstStructure with the given name as a GQuark.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new, empty #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="quark" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of new structure</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_valist" c:identifier="gst_structure_new_valist" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new #GstStructure with the given @name. Structure fields
|
|
are set according to the varargs in a manner similar to
|
|
gst_structure_new().
|
|
|
|
See gst_structure_set_name() for constraints on the @name parameter.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of new structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="firstfield" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable argument list</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="can_intersect" c:identifier="gst_structure_can_intersect">
|
|
<doc xml:space="preserve">Tries intersecting @struct1 and @struct2 and reports whether the result
|
|
would not be empty.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if intersection would not be empty</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="struct1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="struct2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_structure_copy">
|
|
<doc xml:space="preserve">Duplicates a #GstStructure and all its fields and values.
|
|
|
|
Free-function: gst_structure_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstStructure.</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure to duplicate</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="filter_and_map_in_place" c:identifier="gst_structure_filter_and_map_in_place" version="1.6">
|
|
<doc xml:space="preserve">Calls the provided function once for each field in the #GstStructure. In
|
|
contrast to gst_structure_foreach(), the function may modify the fields.
|
|
In contrast to gst_structure_map_in_place(), the field is removed from
|
|
the structure if %FALSE is returned from the function.
|
|
The structure must be mutable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function to call for each field</doc>
|
|
<type name="StructureFilterMapFunc" c:type="GstStructureFilterMapFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate" c:identifier="gst_structure_fixate">
|
|
<doc xml:space="preserve">Fixate all values in @structure using gst_value_fixate().
|
|
@structure will be modified in-place and should be writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate_field" c:identifier="gst_structure_fixate_field">
|
|
<doc xml:space="preserve">Fixates a #GstStructure by changing the given field with its fixated value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure field could be fixated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field in @structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate_field_boolean" c:identifier="gst_structure_fixate_field_boolean">
|
|
<doc xml:space="preserve">Fixates a #GstStructure by changing the given @field_name field to the given
|
|
@target boolean if that field is not fixed yet.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure could be fixated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field in @structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="target" transfer-ownership="none">
|
|
<doc xml:space="preserve">the target value of the fixation</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate_field_nearest_double" c:identifier="gst_structure_fixate_field_nearest_double">
|
|
<doc xml:space="preserve">Fixates a #GstStructure by changing the given field to the nearest
|
|
double to @target that is a subset of the existing field.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure could be fixated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field in @structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="target" transfer-ownership="none">
|
|
<doc xml:space="preserve">the target value of the fixation</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate_field_nearest_fraction" c:identifier="gst_structure_fixate_field_nearest_fraction">
|
|
<doc xml:space="preserve">Fixates a #GstStructure by changing the given field to the nearest
|
|
fraction to @target_numerator/@target_denominator that is a subset
|
|
of the existing field.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure could be fixated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field in @structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="target_numerator" transfer-ownership="none">
|
|
<doc xml:space="preserve">The numerator of the target value of the fixation</doc>
|
|
<type name="gint" c:type="const gint"/>
|
|
</parameter>
|
|
<parameter name="target_denominator" transfer-ownership="none">
|
|
<doc xml:space="preserve">The denominator of the target value of the fixation</doc>
|
|
<type name="gint" c:type="const gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate_field_nearest_int" c:identifier="gst_structure_fixate_field_nearest_int">
|
|
<doc xml:space="preserve">Fixates a #GstStructure by changing the given field to the nearest
|
|
integer to @target that is a subset of the existing field.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure could be fixated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field in @structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="target" transfer-ownership="none">
|
|
<doc xml:space="preserve">the target value of the fixation</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="fixate_field_string" c:identifier="gst_structure_fixate_field_string">
|
|
<doc xml:space="preserve">Fixates a #GstStructure by changing the given @field_name field to the given
|
|
@target string if that field is not fixed yet.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure could be fixated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field in @structure</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="target" transfer-ownership="none">
|
|
<doc xml:space="preserve">the target value of the fixation</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach" c:identifier="gst_structure_foreach">
|
|
<doc xml:space="preserve">Calls the provided function once for each field in the #GstStructure. The
|
|
function must not modify the fields. Also see gst_structure_map_in_place()
|
|
and gst_structure_filter_and_map_in_place().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the supplied function returns %TRUE For each of the fields,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function to call for each field</doc>
|
|
<type name="StructureForeachFunc" c:type="GstStructureForeachFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_structure_free">
|
|
<doc xml:space="preserve">Frees a #GstStructure and all its fields and values. The structure must not
|
|
have a parent when this function is called.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstStructure to free</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get" c:identifier="gst_structure_get" introspectable="0">
|
|
<doc xml:space="preserve">Parses the variable arguments and reads fields from @structure accordingly.
|
|
Variable arguments should be in the form field name, field type
|
|
(as a GType), pointer(s) to a variable(s) to hold the return value(s).
|
|
The last variable argument should be %NULL.
|
|
|
|
For refcounted (mini)objects you will receive a new reference which
|
|
you must release with a suitable _unref\() when no longer needed. For
|
|
strings and boxed types you will receive a copy which you will need to
|
|
release with either g_free() or the suitable function for the boxed type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if there was a problem reading any of the fields (e.g.
|
|
because the field requested did not exist, or was of a type other
|
|
than the type specified), otherwise %TRUE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the first field to read</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_array" c:identifier="gst_structure_get_array" version="1.12">
|
|
<doc xml:space="preserve">This is useful in language bindings where unknown #GValue types are not
|
|
supported. This function will convert the %GST_TYPE_ARRAY into a newly
|
|
allocated #GValueArray and return it through @array. Be aware that this is
|
|
slower then getting the #GValue directly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a %GST_TYPE_ARRAY,
|
|
this function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="array" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GValueArray</doc>
|
|
<type name="GObject.ValueArray" c:type="GValueArray**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_boolean" c:identifier="gst_structure_get_boolean">
|
|
<doc xml:space="preserve">Sets the boolean pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a boolean, this
|
|
function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #gboolean to set</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_clock_time" c:identifier="gst_structure_get_clock_time">
|
|
<doc xml:space="preserve">Sets the clock time pointed to by @value corresponding to the clock time
|
|
of the given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a #GstClockTime, this
|
|
function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GstClockTime to set</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_date" c:identifier="gst_structure_get_date">
|
|
<doc xml:space="preserve">Sets the date pointed to by @value corresponding to the date of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.
|
|
|
|
On success @value will point to a newly-allocated copy of the date which
|
|
should be freed with g_date_free() when no longer needed (note: this is
|
|
inconsistent with e.g. gst_structure_get_string() which doesn't return a
|
|
copy of the string).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a data, this function
|
|
returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GDate to set</doc>
|
|
<type name="GLib.Date" c:type="GDate**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_date_time" c:identifier="gst_structure_get_date_time">
|
|
<doc xml:space="preserve">Sets the datetime pointed to by @value corresponding to the datetime of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.
|
|
|
|
On success @value will point to a reference of the datetime which
|
|
should be unreffed with gst_date_time_unref() when no longer needed
|
|
(note: this is inconsistent with e.g. gst_structure_get_string()
|
|
which doesn't return a copy of the string).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a data, this function
|
|
returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GstDateTime to set</doc>
|
|
<type name="DateTime" c:type="GstDateTime**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_double" c:identifier="gst_structure_get_double">
|
|
<doc xml:space="preserve">Sets the double pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a double, this
|
|
function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a gdouble to set</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_enum" c:identifier="gst_structure_get_enum">
|
|
<doc xml:space="preserve">Sets the int pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists,
|
|
has the correct type and that the enumtype is correct.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain an enum of the given
|
|
type, this function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="enumtype" transfer-ownership="none">
|
|
<doc xml:space="preserve">the enum type of a field</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to an int to set</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_field_type" c:identifier="gst_structure_get_field_type">
|
|
<doc xml:space="preserve">Finds the field with the given name, and returns the type of the
|
|
value it contains. If the field is not found, G_TYPE_INVALID is
|
|
returned.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue of the field</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_flagset" c:identifier="gst_structure_get_flagset" version="1.6">
|
|
<doc xml:space="preserve">Read the GstFlagSet flags and mask out of the structure into the
|
|
provided pointers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the values could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a GstFlagSet, this
|
|
function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value_flags" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to a guint for the flags field</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="value_mask" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to a guint for the mask field</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_fraction" c:identifier="gst_structure_get_fraction">
|
|
<doc xml:space="preserve">Sets the integers pointed to by @value_numerator and @value_denominator
|
|
corresponding to the value of the given field. Caller is responsible
|
|
for making sure the field exists and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the values could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a GstFraction, this
|
|
function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value_numerator" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to an int to set</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="value_denominator" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to an int to set</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_int" c:identifier="gst_structure_get_int">
|
|
<doc xml:space="preserve">Sets the int pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain an int, this function
|
|
returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to an int to set</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_int64" c:identifier="gst_structure_get_int64" version="1.4">
|
|
<doc xml:space="preserve">Sets the #gint64 pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a #gint64, this function
|
|
returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #gint64 to set</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_list" c:identifier="gst_structure_get_list" version="1.12">
|
|
<doc xml:space="preserve">This is useful in language bindings where unknown #GValue types are not
|
|
supported. This function will convert the %GST_TYPE_LIST into a newly
|
|
allocated GValueArray and return it through @array. Be aware that this is
|
|
slower then getting the #GValue directly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a %GST_TYPE_LIST, this
|
|
function returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="array" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GValueArray</doc>
|
|
<type name="GObject.ValueArray" c:type="GValueArray**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name" c:identifier="gst_structure_get_name">
|
|
<doc xml:space="preserve">Get the name of @structure as a string.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the structure.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name_id" c:identifier="gst_structure_get_name_id">
|
|
<doc xml:space="preserve">Get the name of @structure as a GQuark.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark representing the name of the structure.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_string" c:identifier="gst_structure_get_string">
|
|
<doc xml:space="preserve">Finds the field corresponding to @fieldname, and returns the string
|
|
contained in the field's value. Caller is responsible for making
|
|
sure the field exists and has the correct type.
|
|
|
|
The string should not be modified, and remains valid until the next
|
|
call to a gst_structure_*() function with the given structure.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer to the string or %NULL when the
|
|
field did not exist or did not contain a string.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uint" c:identifier="gst_structure_get_uint">
|
|
<doc xml:space="preserve">Sets the uint pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a uint, this function
|
|
returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a uint to set</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uint64" c:identifier="gst_structure_get_uint64" version="1.4">
|
|
<doc xml:space="preserve">Sets the #guint64 pointed to by @value corresponding to the value of the
|
|
given field. Caller is responsible for making sure the field exists
|
|
and has the correct type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the value could be set correctly. If there was no field
|
|
with @fieldname or the existing field did not contain a #guint64, this function
|
|
returns %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #guint64 to set</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_valist" c:identifier="gst_structure_get_valist" introspectable="0">
|
|
<doc xml:space="preserve">Parses the variable arguments and reads fields from @structure accordingly.
|
|
valist-variant of gst_structure_get(). Look at the documentation of
|
|
gst_structure_get() for more details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, or %FALSE if there was a problem reading any of the fields</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the first field to read</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="args" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value" c:identifier="gst_structure_get_value">
|
|
<doc xml:space="preserve">Get the value of the field with name @fieldname.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GValue corresponding to the field with the given
|
|
name.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_field" c:identifier="gst_structure_has_field">
|
|
<doc xml:space="preserve">Check if @structure contains a field named @fieldname.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure contains a field with the given name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_field_typed" c:identifier="gst_structure_has_field_typed">
|
|
<doc xml:space="preserve">Check if @structure contains a field named @fieldname and with GType @type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure contains a field with the given name and type</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type of a value</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_name" c:identifier="gst_structure_has_name">
|
|
<doc xml:space="preserve">Checks if the structure has the given name</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @name matches the name of the structure.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">structure name to check for</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_get" c:identifier="gst_structure_id_get" introspectable="0">
|
|
<doc xml:space="preserve">Parses the variable arguments and reads fields from @structure accordingly.
|
|
Variable arguments should be in the form field id quark, field type
|
|
(as a GType), pointer(s) to a variable(s) to hold the return value(s).
|
|
The last variable argument should be %NULL (technically it should be a
|
|
0 quark, but we require %NULL so compilers that support it can check for
|
|
the %NULL terminator and warn if it's not there).
|
|
|
|
This function is just like gst_structure_get() only that it is slightly
|
|
more efficient since it saves the string-to-quark lookup in the global
|
|
quark hashtable.
|
|
|
|
For refcounted (mini)objects you will receive a new reference which
|
|
you must release with a suitable _unref\() when no longer needed. For
|
|
strings and boxed types you will receive a copy which you will need to
|
|
release with either g_free() or the suitable function for the boxed type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if there was a problem reading any of the fields (e.g.
|
|
because the field requested did not exist, or was of a type other
|
|
than the type specified), otherwise %TRUE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_field_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark of the first field to read</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_get_valist" c:identifier="gst_structure_id_get_valist" introspectable="0">
|
|
<doc xml:space="preserve">Parses the variable arguments and reads fields from @structure accordingly.
|
|
valist-variant of gst_structure_id_get(). Look at the documentation of
|
|
gst_structure_id_get() for more details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, or %FALSE if there was a problem reading any of the fields</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="first_field_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark of the first field to read</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="args" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_get_value" c:identifier="gst_structure_id_get_value">
|
|
<doc xml:space="preserve">Get the value of the field with GQuark @field.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GValue corresponding to the field with the given
|
|
name identifier.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GQuark of the field to get</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_has_field" c:identifier="gst_structure_id_has_field">
|
|
<doc xml:space="preserve">Check if @structure contains a field named @field.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure contains a field with the given name</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GQuark of the field name</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_has_field_typed" c:identifier="gst_structure_id_has_field_typed">
|
|
<doc xml:space="preserve">Check if @structure contains a field named @field and with GType @type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the structure contains a field with the given name and type</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GQuark of the field name</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type of a value</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_set" c:identifier="gst_structure_id_set" introspectable="0">
|
|
<doc xml:space="preserve">Identical to gst_structure_set, except that field names are
|
|
passed using the GQuark for the field name. This allows more efficient
|
|
setting of the structure if the caller already knows the associated
|
|
quark values.
|
|
The last variable argument must be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GQuark for the name of the field to set</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_set_valist" c:identifier="gst_structure_id_set_valist" introspectable="0">
|
|
<doc xml:space="preserve">va_list form of gst_structure_id_set().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to set</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_set_value" c:identifier="gst_structure_id_set_value">
|
|
<doc xml:space="preserve">Sets the field with the given GQuark @field to @value. If the field
|
|
does not exist, it is created. If the field exists, the previous
|
|
value is replaced and freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GQuark representing a field</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new value of the field</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="id_take_value" c:identifier="gst_structure_id_take_value">
|
|
<doc xml:space="preserve">Sets the field with the given GQuark @field to @value. If the field
|
|
does not exist, it is created. If the field exists, the previous
|
|
value is replaced and freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GQuark representing a field</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="full">
|
|
<doc xml:space="preserve">the new value of the field</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="intersect" c:identifier="gst_structure_intersect">
|
|
<doc xml:space="preserve">Intersects @struct1 and @struct2 and returns the intersection.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">Intersection of @struct1 and @struct2</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="struct1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="struct2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_structure_is_equal">
|
|
<doc xml:space="preserve">Tests if the two #GstStructure are equal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the two structures have the same name and field.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure.</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_subset" c:identifier="gst_structure_is_subset">
|
|
<doc xml:space="preserve">Checks if @subset is a subset of @superset, i.e. has the same
|
|
structure name and for all fields that are existing in @superset,
|
|
@subset has a value that is a subset of the value in @superset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @subset is a subset of @superset</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="subset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="superset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a potentially greater #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map_in_place" c:identifier="gst_structure_map_in_place">
|
|
<doc xml:space="preserve">Calls the provided function once for each field in the #GstStructure. In
|
|
contrast to gst_structure_foreach(), the function may modify but not delete the
|
|
fields. The structure must be mutable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the supplied function returns %TRUE For each of the fields,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">a function to call for each field</doc>
|
|
<type name="StructureMapFunc" c:type="GstStructureMapFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="n_fields" c:identifier="gst_structure_n_fields">
|
|
<doc xml:space="preserve">Get the number of fields in the structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of fields in the structure</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="nth_field_name" c:identifier="gst_structure_nth_field_name">
|
|
<doc xml:space="preserve">Get the name of the given field number, counting from 0 onwards.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the given field number</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index to get the name of</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_all_fields" c:identifier="gst_structure_remove_all_fields">
|
|
<doc xml:space="preserve">Removes all fields in a GstStructure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_field" c:identifier="gst_structure_remove_field">
|
|
<doc xml:space="preserve">Removes the field with the given name. If the field with the given
|
|
name does not exist, the structure is unchanged.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_fields" c:identifier="gst_structure_remove_fields" introspectable="0">
|
|
<doc xml:space="preserve">Removes the fields with the given names. If a field does not exist, the
|
|
argument is ignored.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">%NULL-terminated list of more fieldnames to remove</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_fields_valist" c:identifier="gst_structure_remove_fields_valist" introspectable="0">
|
|
<doc xml:space="preserve">va_list form of gst_structure_remove_fields().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">%NULL-terminated list of more fieldnames to remove</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set" c:identifier="gst_structure_set" introspectable="0">
|
|
<doc xml:space="preserve">Parses the variable arguments and sets fields accordingly. Fields that
|
|
weren't already part of the structure are added as needed.
|
|
Variable arguments should be in the form field name, field type
|
|
(as a GType), value(s). The last variable argument should be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_array" c:identifier="gst_structure_set_array" version="1.12">
|
|
<doc xml:space="preserve">This is useful in language bindings where unknown GValue types are not
|
|
supported. This function will convert a @array to %GST_TYPE_ARRAY and set
|
|
the field specified by @fieldname. Be aware that this is slower then using
|
|
%GST_TYPE_ARRAY in a #GValue directly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GValueArray</doc>
|
|
<type name="GObject.ValueArray" c:type="const GValueArray*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_list" c:identifier="gst_structure_set_list" version="1.12">
|
|
<doc xml:space="preserve">This is useful in language bindings where unknown GValue types are not
|
|
supported. This function will convert a @array to %GST_TYPE_LIST and set
|
|
the field specified by @fieldname. Be aware that this is slower then using
|
|
%GST_TYPE_LIST in a #GValue directly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of a field</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GValueArray</doc>
|
|
<type name="GObject.ValueArray" c:type="const GValueArray*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_name" c:identifier="gst_structure_set_name">
|
|
<doc xml:space="preserve">Sets the name of the structure to the given @name. The string
|
|
provided is copied before being used. It must not be empty, start with a
|
|
letter and can be followed by letters, numbers and any of "/-_.:".</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new name of the structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_parent_refcount" c:identifier="gst_structure_set_parent_refcount">
|
|
<doc xml:space="preserve">Sets the parent_refcount field of #GstStructure. This field is used to
|
|
determine whether a structure is mutable or not. This function should only be
|
|
called by code implementing parent objects of #GstStructure, as described in
|
|
the MT Refcounting section of the design documents.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the parent refcount could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="refcount" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to the parent's refcount</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_valist" c:identifier="gst_structure_set_valist" introspectable="0">
|
|
<doc xml:space="preserve">va_list form of gst_structure_set().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="varargs" transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_value" c:identifier="gst_structure_set_value">
|
|
<doc xml:space="preserve">Sets the field with the given name @field to @value. If the field
|
|
does not exist, it is created. If the field exists, the previous
|
|
value is replaced and freed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new value of the field</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="take_value" c:identifier="gst_structure_take_value">
|
|
<doc xml:space="preserve">Sets the field with the given name @field to @value. If the field
|
|
does not exist, it is created. If the field exists, the previous
|
|
value is replaced and freed. The function will take ownership of @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</instance-parameter>
|
|
<parameter name="fieldname" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="full">
|
|
<doc xml:space="preserve">the new value of the field</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_structure_to_string">
|
|
<doc xml:space="preserve">Converts @structure to a human-readable string representation.
|
|
|
|
For debugging purposes its easier to do something like this:
|
|
|[<!-- language="C" -->
|
|
GST_LOG ("structure is %" GST_PTR_FORMAT, structure);
|
|
]|
|
|
This prints the structure in human readable form.
|
|
|
|
The current implementation of serialization will lead to unexpected results
|
|
when there are nested #GstCaps / #GstStructure deeper than one level.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to string allocated by g_malloc().
|
|
g_free() after usage.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="take" c:identifier="gst_structure_take" version="1.18">
|
|
<doc xml:space="preserve">Atomically modifies a pointer to point to a new structure.
|
|
The #GstStructure @oldstr_ptr is pointing to is freed and
|
|
@newstr is taken ownership over.
|
|
|
|
Either @newstr and the value pointed to by @oldstr_ptr may be %NULL.
|
|
|
|
It is a programming error if both @newstr and the value pointed to by
|
|
@oldstr_ptr refer to the same, non-%NULL structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newstr was different from @oldstr_ptr</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oldstr_ptr" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a place of
|
|
a #GstStructure to take</doc>
|
|
<type name="Structure" c:type="GstStructure**"/>
|
|
</parameter>
|
|
<parameter name="newstr" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a new #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<enumeration name="StructureChangeType" glib:type-name="GstStructureChangeType" glib:get-type="gst_structure_change_type_get_type" c:type="GstStructureChangeType">
|
|
<doc xml:space="preserve">The type of a %GST_MESSAGE_STRUCTURE_CHANGE.</doc>
|
|
<member name="link" value="0" c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" glib:nick="link">
|
|
<doc xml:space="preserve">Pad linking is starting or done.</doc>
|
|
</member>
|
|
<member name="unlink" value="1" c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" glib:nick="unlink">
|
|
<doc xml:space="preserve">Pad unlinking is starting or done.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="StructureFilterMapFunc" c:type="GstStructureFilterMapFunc">
|
|
<doc xml:space="preserve">A function that will be called in gst_structure_filter_and_map_in_place().
|
|
The function may modify @value, and the value will be removed from
|
|
the structure if %FALSE is returned.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the field should be preserved, %FALSE if it
|
|
should be removed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="field_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GQuark of the field name</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue of the field</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="StructureForeachFunc" c:type="GstStructureForeachFunc">
|
|
<doc xml:space="preserve">A function that will be called in gst_structure_foreach(). The function may
|
|
not modify @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the foreach operation should continue, %FALSE if
|
|
the foreach operation should stop with %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="field_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GQuark of the field name</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue of the field</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="StructureMapFunc" c:type="GstStructureMapFunc">
|
|
<doc xml:space="preserve">A function that will be called in gst_structure_map_in_place(). The function
|
|
may modify @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the map operation should continue, %FALSE if
|
|
the map operation should stop with %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="field_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GQuark of the field name</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue of the field</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="SystemClock" c:symbol-prefix="system_clock" c:type="GstSystemClock" parent="Clock" glib:type-name="GstSystemClock" glib:get-type="gst_system_clock_get_type" glib:type-struct="SystemClockClass">
|
|
<doc xml:space="preserve">The GStreamer core provides a GstSystemClock based on the system time.
|
|
Asynchronous callbacks are scheduled from an internal thread.
|
|
|
|
Clock implementors are encouraged to subclass this systemclock as it
|
|
implements the async notification.
|
|
|
|
Subclasses can however override all of the important methods for sync and
|
|
async notifications to implement their own callback methods or blocking
|
|
wait operations.</doc>
|
|
|
|
<function name="obtain" c:identifier="gst_system_clock_obtain">
|
|
<doc xml:space="preserve">Get a handle to the default system clock. The refcount of the
|
|
clock will be increased so you need to unref the clock after
|
|
usage.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the default clock.
|
|
|
|
MT safe.</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="set_default" c:identifier="gst_system_clock_set_default" version="1.4">
|
|
<doc xml:space="preserve">Sets the default system clock that can be obtained with
|
|
gst_system_clock_obtain().
|
|
|
|
This is mostly used for testing and debugging purposes when you
|
|
want to have control over the time reported by the default system
|
|
clock.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="new_clock" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstClock</doc>
|
|
<type name="Clock" c:type="GstClock*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<property name="clock-type" writable="1" transfer-ownership="none">
|
|
<type name="ClockType"/>
|
|
</property>
|
|
<field name="clock">
|
|
<type name="Clock" c:type="GstClock"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="SystemClockPrivate" c:type="GstSystemClockPrivate*"/>
|
|
</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="SystemClockClass" c:type="GstSystemClockClass" glib:is-gtype-struct-for="SystemClock">
|
|
|
|
<field name="parent_class">
|
|
<type name="ClockClass" c:type="GstClockClass"/>
|
|
</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>
|
|
<record name="SystemClockPrivate" c:type="GstSystemClockPrivate" disguised="1">
|
|
|
|
</record>
|
|
<constant name="TAG_ALBUM" value="album" c:type="GST_TAG_ALBUM">
|
|
<doc xml:space="preserve">album containing this data (string)
|
|
|
|
The album name as it should be displayed, e.g. 'The Jazz Guitar'</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_ARTIST" value="album-artist" c:type="GST_TAG_ALBUM_ARTIST">
|
|
<doc xml:space="preserve">The artist of the entire album, as it should be displayed.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_ARTIST_SORTNAME" value="album-artist-sortname" c:type="GST_TAG_ALBUM_ARTIST_SORTNAME">
|
|
<doc xml:space="preserve">The artist of the entire album, as it should be sorted.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_GAIN" value="replaygain-album-gain" c:type="GST_TAG_ALBUM_GAIN">
|
|
<doc xml:space="preserve">album gain in db (double)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_PEAK" value="replaygain-album-peak" c:type="GST_TAG_ALBUM_PEAK">
|
|
<doc xml:space="preserve">peak of the album (double)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_SORTNAME" value="album-sortname" c:type="GST_TAG_ALBUM_SORTNAME">
|
|
<doc xml:space="preserve">album containing this data, as used for sorting (string)
|
|
|
|
The album name as it should be sorted, e.g. 'Jazz Guitar, The'</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_VOLUME_COUNT" value="album-disc-count" c:type="GST_TAG_ALBUM_VOLUME_COUNT">
|
|
<doc xml:space="preserve">count of discs inside collection this disc belongs to (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ALBUM_VOLUME_NUMBER" value="album-disc-number" c:type="GST_TAG_ALBUM_VOLUME_NUMBER">
|
|
<doc xml:space="preserve">disc number inside a collection (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_APPLICATION_DATA" value="application-data" c:type="GST_TAG_APPLICATION_DATA">
|
|
<doc xml:space="preserve">Arbitrary application data (sample)
|
|
|
|
Some formats allow applications to add their own arbitrary data
|
|
into files. This data is application dependent.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_APPLICATION_NAME" value="application-name" c:type="GST_TAG_APPLICATION_NAME">
|
|
<doc xml:space="preserve">Name of the application used to create the media (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ARTIST" value="artist" c:type="GST_TAG_ARTIST">
|
|
<doc xml:space="preserve">person(s) responsible for the recording (string)
|
|
|
|
The artist name as it should be displayed, e.g. 'Jimi Hendrix' or
|
|
'The Guitar Heroes'</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ARTIST_SORTNAME" value="artist-sortname" c:type="GST_TAG_ARTIST_SORTNAME">
|
|
<doc xml:space="preserve">person(s) responsible for the recording, as used for sorting (string)
|
|
|
|
The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or
|
|
'Guitar Heroes, The'</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ATTACHMENT" value="attachment" c:type="GST_TAG_ATTACHMENT">
|
|
<doc xml:space="preserve">generic file attachment (sample) (sample taglist should specify the content
|
|
type and if possible set "filename" to the file name of the
|
|
attachment)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_AUDIO_CODEC" value="audio-codec" c:type="GST_TAG_AUDIO_CODEC">
|
|
<doc xml:space="preserve">codec the audio data is stored in (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_BEATS_PER_MINUTE" value="beats-per-minute" c:type="GST_TAG_BEATS_PER_MINUTE">
|
|
<doc xml:space="preserve">number of beats per minute in audio (double)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_BITRATE" value="bitrate" c:type="GST_TAG_BITRATE">
|
|
<doc xml:space="preserve">exact or average bitrate in bits/s (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_CODEC" value="codec" c:type="GST_TAG_CODEC">
|
|
<doc xml:space="preserve">codec the data is stored in (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_COMMENT" value="comment" c:type="GST_TAG_COMMENT">
|
|
<doc xml:space="preserve">free text commenting the data (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_COMPOSER" value="composer" c:type="GST_TAG_COMPOSER">
|
|
<doc xml:space="preserve">person(s) who composed the recording (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_COMPOSER_SORTNAME" value="composer-sortname" c:type="GST_TAG_COMPOSER_SORTNAME">
|
|
<doc xml:space="preserve">The composer's name, used for sorting (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_CONDUCTOR" value="conductor" c:type="GST_TAG_CONDUCTOR" version="1.8">
|
|
<doc xml:space="preserve">conductor/performer refinement (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_CONTACT" value="contact" c:type="GST_TAG_CONTACT">
|
|
<doc xml:space="preserve">contact information (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_CONTAINER_FORMAT" value="container-format" c:type="GST_TAG_CONTAINER_FORMAT">
|
|
<doc xml:space="preserve">container format the data is stored in (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_COPYRIGHT" value="copyright" c:type="GST_TAG_COPYRIGHT">
|
|
<doc xml:space="preserve">copyright notice of the data (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_COPYRIGHT_URI" value="copyright-uri" c:type="GST_TAG_COPYRIGHT_URI">
|
|
<doc xml:space="preserve">URI to location where copyright details can be found (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_DATE" value="date" c:type="GST_TAG_DATE">
|
|
<doc xml:space="preserve">date the data was created (#GDate structure)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_DATE_TIME" value="datetime" c:type="GST_TAG_DATE_TIME">
|
|
<doc xml:space="preserve">date and time the data was created (#GstDateTime structure)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_DESCRIPTION" value="description" c:type="GST_TAG_DESCRIPTION">
|
|
<doc xml:space="preserve">short text describing the content of the data (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_DEVICE_MANUFACTURER" value="device-manufacturer" c:type="GST_TAG_DEVICE_MANUFACTURER">
|
|
<doc xml:space="preserve">Manufacturer of the device used to create the media (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_DEVICE_MODEL" value="device-model" c:type="GST_TAG_DEVICE_MODEL">
|
|
<doc xml:space="preserve">Model of the device used to create the media (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_DURATION" value="duration" c:type="GST_TAG_DURATION">
|
|
<doc xml:space="preserve">length in GStreamer time units (nanoseconds) (unsigned 64-bit integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ENCODED_BY" value="encoded-by" c:type="GST_TAG_ENCODED_BY">
|
|
<doc xml:space="preserve">name of the person or organisation that encoded the file. May contain a
|
|
copyright message if the person or organisation also holds the copyright
|
|
(string)
|
|
|
|
Note: do not use this field to describe the encoding application. Use
|
|
#GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ENCODER" value="encoder" c:type="GST_TAG_ENCODER">
|
|
<doc xml:space="preserve">encoder used to encode this stream (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ENCODER_VERSION" value="encoder-version" c:type="GST_TAG_ENCODER_VERSION">
|
|
<doc xml:space="preserve">version of the encoder used to encode this stream (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_EXTENDED_COMMENT" value="extended-comment" c:type="GST_TAG_EXTENDED_COMMENT">
|
|
<doc xml:space="preserve">key/value text commenting the data (string)
|
|
|
|
Must be in the form of 'key=comment' or
|
|
'key[lc]=comment' where 'lc' is an ISO-639
|
|
language code.
|
|
|
|
This tag is used for unknown Vorbis comment tags,
|
|
unknown APE tags and certain ID3v2 comment fields.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TAG_FLAG_IS_VALID" c:identifier="GST_TAG_FLAG_IS_VALID" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="flag">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TAG_GENRE" value="genre" c:type="GST_TAG_GENRE">
|
|
<doc xml:space="preserve">genre this data belongs to (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_CAPTURE_DIRECTION" value="geo-location-capture-direction" c:type="GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION">
|
|
<doc xml:space="preserve">Indicates the direction the device is pointing to when capturing
|
|
a media. It is represented as degrees in floating point representation,
|
|
0 means the geographic north, and increases clockwise (double from 0 to 360)
|
|
|
|
See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_CITY" value="geo-location-city" c:type="GST_TAG_GEO_LOCATION_CITY">
|
|
<doc xml:space="preserve">The city (english name) where the media has been produced (string).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_COUNTRY" value="geo-location-country" c:type="GST_TAG_GEO_LOCATION_COUNTRY">
|
|
<doc xml:space="preserve">The country (english name) where the media has been produced (string).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_ELEVATION" value="geo-location-elevation" c:type="GST_TAG_GEO_LOCATION_ELEVATION">
|
|
<doc xml:space="preserve">geo elevation of where the media has been recorded or produced in meters
|
|
according to WGS84 (zero is average sea level) (double).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_HORIZONTAL_ERROR" value="geo-location-horizontal-error" c:type="GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR">
|
|
<doc xml:space="preserve">Represents the expected error on the horizontal positioning in
|
|
meters (double).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_LATITUDE" value="geo-location-latitude" c:type="GST_TAG_GEO_LOCATION_LATITUDE">
|
|
<doc xml:space="preserve">geo latitude location of where the media has been recorded or produced in
|
|
degrees according to WGS84 (zero at the equator, negative values for southern
|
|
latitudes) (double).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_LONGITUDE" value="geo-location-longitude" c:type="GST_TAG_GEO_LOCATION_LONGITUDE">
|
|
<doc xml:space="preserve">geo longitude location of where the media has been recorded or produced in
|
|
degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,
|
|
negative values for western longitudes). (double).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_MOVEMENT_DIRECTION" value="geo-location-movement-direction" c:type="GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION">
|
|
<doc xml:space="preserve">Indicates the movement direction of the device performing the capture
|
|
of a media. It is represented as degrees in floating point representation,
|
|
0 means the geographic north, and increases clockwise (double from 0 to 360)
|
|
|
|
See also #GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_MOVEMENT_SPEED" value="geo-location-movement-speed" c:type="GST_TAG_GEO_LOCATION_MOVEMENT_SPEED">
|
|
<doc xml:space="preserve">Speed of the capturing device when performing the capture.
|
|
Represented in m/s. (double)
|
|
|
|
See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_NAME" value="geo-location-name" c:type="GST_TAG_GEO_LOCATION_NAME">
|
|
<doc xml:space="preserve">human readable descriptive location of where the media has been recorded or
|
|
produced. (string).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GEO_LOCATION_SUBLOCATION" value="geo-location-sublocation" c:type="GST_TAG_GEO_LOCATION_SUBLOCATION">
|
|
<doc xml:space="preserve">A location 'smaller' than GST_TAG_GEO_LOCATION_CITY that specifies better
|
|
where the media has been produced. (e.g. the neighborhood) (string).
|
|
|
|
This tag has been added as this is how it is handled/named in XMP's
|
|
Iptc4xmpcore schema.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_GROUPING" value="grouping" c:type="GST_TAG_GROUPING">
|
|
<doc xml:space="preserve">Groups together media that are related and spans multiple tracks. An
|
|
example are multiple pieces of a concerto. (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_HOMEPAGE" value="homepage" c:type="GST_TAG_HOMEPAGE">
|
|
<doc xml:space="preserve">Homepage for this media (i.e. artist or movie homepage) (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_IMAGE" value="image" c:type="GST_TAG_IMAGE">
|
|
<doc xml:space="preserve">image (sample) (sample taglist should specify the content type and preferably
|
|
also set "image-type" field as `GstTagImageType`)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_IMAGE_ORIENTATION" value="image-orientation" c:type="GST_TAG_IMAGE_ORIENTATION">
|
|
<doc xml:space="preserve">Represents the 'Orientation' tag from EXIF. Defines how the image
|
|
should be rotated and mirrored for display. (string)
|
|
|
|
This tag has a predefined set of allowed values:
|
|
"rotate-0"
|
|
"rotate-90"
|
|
"rotate-180"
|
|
"rotate-270"
|
|
"flip-rotate-0"
|
|
"flip-rotate-90"
|
|
"flip-rotate-180"
|
|
"flip-rotate-270"
|
|
|
|
The naming is adopted according to a possible transformation to perform
|
|
on the image to fix its orientation, obviously equivalent operations will
|
|
yield the same result.
|
|
|
|
Rotations indicated by the values are in clockwise direction and
|
|
'flip' means an horizontal mirroring.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_INTERPRETED_BY" value="interpreted-by" c:type="GST_TAG_INTERPRETED_BY" version="1.2">
|
|
<doc xml:space="preserve">Information about the people behind a remix and similar
|
|
interpretations of another existing piece (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ISRC" value="isrc" c:type="GST_TAG_ISRC">
|
|
<doc xml:space="preserve">International Standard Recording Code - see http://www.ifpi.org/isrc/ (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_KEYWORDS" value="keywords" c:type="GST_TAG_KEYWORDS">
|
|
<doc xml:space="preserve">comma separated keywords describing the content (string).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_LANGUAGE_CODE" value="language-code" c:type="GST_TAG_LANGUAGE_CODE">
|
|
<doc xml:space="preserve">ISO-639-2 or ISO-639-1 code for the language the content is in (string)
|
|
|
|
There is utility API in libgsttag in gst-plugins-base to obtain a translated
|
|
language name from the language code: `gst_tag_get_language_name()`</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_LANGUAGE_NAME" value="language-name" c:type="GST_TAG_LANGUAGE_NAME">
|
|
<doc xml:space="preserve">Name of the language the content is in (string)
|
|
|
|
Free-form name of the language the content is in, if a language code
|
|
is not available. This tag should not be set in addition to a language
|
|
code. It is undefined what language or locale the language name is in.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_LICENSE" value="license" c:type="GST_TAG_LICENSE">
|
|
<doc xml:space="preserve">license of data (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_LICENSE_URI" value="license-uri" c:type="GST_TAG_LICENSE_URI">
|
|
<doc xml:space="preserve">URI to location where license details can be found (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TAG_LIST" c:identifier="GST_TAG_LIST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TAG_LOCATION" value="location" c:type="GST_TAG_LOCATION">
|
|
<doc xml:space="preserve">Origin of media as a URI (location, where the original of the file or stream
|
|
is hosted) (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_LYRICS" value="lyrics" c:type="GST_TAG_LYRICS">
|
|
<doc xml:space="preserve">The lyrics of the media (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_MAXIMUM_BITRATE" value="maximum-bitrate" c:type="GST_TAG_MAXIMUM_BITRATE">
|
|
<doc xml:space="preserve">maximum bitrate in bits/s (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_MIDI_BASE_NOTE" value="midi-base-note" c:type="GST_TAG_MIDI_BASE_NOTE" version="1.4">
|
|
<doc xml:space="preserve">[Midi note number](http://en.wikipedia.org/wiki/Note#Note_designation_in_accordance_with_octave_name)
|
|
of the audio track. This is useful for sample instruments and in particular
|
|
for multi-samples.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_MINIMUM_BITRATE" value="minimum-bitrate" c:type="GST_TAG_MINIMUM_BITRATE">
|
|
<doc xml:space="preserve">minimum bitrate in bits/s (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TAG_MODE_IS_VALID" c:identifier="GST_TAG_MODE_IS_VALID" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="mode">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TAG_NOMINAL_BITRATE" value="nominal-bitrate" c:type="GST_TAG_NOMINAL_BITRATE">
|
|
<doc xml:space="preserve">nominal bitrate in bits/s (unsigned integer). The actual bitrate might be
|
|
different from this target bitrate.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_ORGANIZATION" value="organization" c:type="GST_TAG_ORGANIZATION">
|
|
<doc xml:space="preserve">organization (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_PERFORMER" value="performer" c:type="GST_TAG_PERFORMER">
|
|
<doc xml:space="preserve">person(s) performing (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_PREVIEW_IMAGE" value="preview-image" c:type="GST_TAG_PREVIEW_IMAGE">
|
|
<doc xml:space="preserve">image that is meant for preview purposes, e.g. small icon-sized version
|
|
(sample) (sample taglist should specify the content type)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_PRIVATE_DATA" value="private-data" c:type="GST_TAG_PRIVATE_DATA" version="1.8">
|
|
<doc xml:space="preserve">Any private data that may be contained in tags (sample).
|
|
|
|
It is represented by #GstSample in which #GstBuffer contains the
|
|
binary data and the sample's info #GstStructure may contain any
|
|
extra information that identifies the origin or meaning of the data.
|
|
|
|
Private frames in ID3v2 tags ('PRIV' frames) will be represented
|
|
using this tag, in which case the GstStructure will be named
|
|
"ID3PrivateFrame" and contain a field named "owner" of type string
|
|
which contains the owner-identification string from the tag.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_PUBLISHER" value="publisher" c:type="GST_TAG_PUBLISHER" version="1.2">
|
|
<doc xml:space="preserve">Name of the label or publisher (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_REFERENCE_LEVEL" value="replaygain-reference-level" c:type="GST_TAG_REFERENCE_LEVEL">
|
|
<doc xml:space="preserve">reference level of track and album gain values (double)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_SERIAL" value="serial" c:type="GST_TAG_SERIAL">
|
|
<doc xml:space="preserve">serial number of track (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TAG_SETTER" c:identifier="GST_TAG_SETTER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TAG_SETTER_GET_INTERFACE" c:identifier="GST_TAG_SETTER_GET_INTERFACE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TAG_SHOW_EPISODE_NUMBER" value="show-episode-number" c:type="GST_TAG_SHOW_EPISODE_NUMBER">
|
|
<doc xml:space="preserve">Number of the episode within a season/show (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_SHOW_NAME" value="show-name" c:type="GST_TAG_SHOW_NAME">
|
|
<doc xml:space="preserve">Name of the show, used for displaying (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_SHOW_SEASON_NUMBER" value="show-season-number" c:type="GST_TAG_SHOW_SEASON_NUMBER">
|
|
<doc xml:space="preserve">Number of the season of a show/series (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_SHOW_SORTNAME" value="show-sortname" c:type="GST_TAG_SHOW_SORTNAME">
|
|
<doc xml:space="preserve">Name of the show, used for sorting (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_SUBTITLE_CODEC" value="subtitle-codec" c:type="GST_TAG_SUBTITLE_CODEC">
|
|
<doc xml:space="preserve">codec/format the subtitle data is stored in (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_TITLE" value="title" c:type="GST_TAG_TITLE">
|
|
<doc xml:space="preserve">commonly used title (string)
|
|
|
|
The title as it should be displayed, e.g. 'The Doll House'</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_TITLE_SORTNAME" value="title-sortname" c:type="GST_TAG_TITLE_SORTNAME">
|
|
<doc xml:space="preserve">commonly used title, as used for sorting (string)
|
|
|
|
The title as it should be sorted, e.g. 'Doll House, The'</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_TRACK_COUNT" value="track-count" c:type="GST_TAG_TRACK_COUNT">
|
|
<doc xml:space="preserve">count of tracks inside collection this track belongs to (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_TRACK_GAIN" value="replaygain-track-gain" c:type="GST_TAG_TRACK_GAIN">
|
|
<doc xml:space="preserve">track gain in db (double)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_TRACK_NUMBER" value="track-number" c:type="GST_TAG_TRACK_NUMBER">
|
|
<doc xml:space="preserve">track number inside a collection (unsigned integer)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_TRACK_PEAK" value="replaygain-track-peak" c:type="GST_TAG_TRACK_PEAK">
|
|
<doc xml:space="preserve">peak of the track (double)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_USER_RATING" value="user-rating" c:type="GST_TAG_USER_RATING">
|
|
<doc xml:space="preserve">Rating attributed by a person (likely the application user).
|
|
The higher the value, the more the user likes this media
|
|
(unsigned int from 0 to 100)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_VERSION" value="version" c:type="GST_TAG_VERSION">
|
|
<doc xml:space="preserve">version of this data (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="TAG_VIDEO_CODEC" value="video-codec" c:type="GST_TAG_VIDEO_CODEC">
|
|
<doc xml:space="preserve">codec the video data is stored in (string)</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TASK" c:identifier="GST_TASK" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_BROADCAST" c:identifier="GST_TASK_BROADCAST" introspectable="0">
|
|
<doc xml:space="preserve">Send a broadcast signal to all waiting task conds</doc>
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
<doc xml:space="preserve">Task to broadcast</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_CAST" c:identifier="GST_TASK_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_CLASS" c:identifier="GST_TASK_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="tclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_GET_CLASS" c:identifier="GST_TASK_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_GET_COND" c:identifier="GST_TASK_GET_COND" introspectable="0">
|
|
<doc xml:space="preserve">Get access to the cond of the task.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
<doc xml:space="preserve">Task to get the cond of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_GET_LOCK" c:identifier="GST_TASK_GET_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Get access to the task lock.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
<doc xml:space="preserve">Task to get the lock of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_POOL" c:identifier="GST_TASK_POOL" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pool">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_POOL_CAST" c:identifier="GST_TASK_POOL_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pool">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_POOL_CLASS" c:identifier="GST_TASK_POOL_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pclass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_POOL_GET_CLASS" c:identifier="GST_TASK_POOL_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="pool">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_SIGNAL" c:identifier="GST_TASK_SIGNAL" introspectable="0">
|
|
<doc xml:space="preserve">Signal the task cond</doc>
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
<doc xml:space="preserve">Task to signal</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_STATE" c:identifier="GST_TASK_STATE" introspectable="0">
|
|
<doc xml:space="preserve">Get access to the state of the task.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
<doc xml:space="preserve">Task to get the state of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TASK_WAIT" c:identifier="GST_TASK_WAIT" introspectable="0">
|
|
<doc xml:space="preserve">Wait for the task cond to be signalled</doc>
|
|
|
|
<parameters>
|
|
<parameter name="task">
|
|
<doc xml:space="preserve">Task to wait for</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TIMEP_FORMAT" value="paT" c:type="GST_TIMEP_FORMAT" version="1.18" introspectable="0">
|
|
<doc xml:space="preserve">printf format type used to debug GStreamer ClockTime pointers. You can use
|
|
this in combination with GStreamer's debug logging system as well as the
|
|
functions gst_info_vasprintf(), gst_info_strdup_vprintf() and
|
|
gst_info_strdup_printf() to pretty-print #GstClockTime pointers. This can
|
|
only be used on pointers to GstClockTime values.</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TIMESPEC_TO_TIME" c:identifier="GST_TIMESPEC_TO_TIME" introspectable="0">
|
|
<doc xml:space="preserve">Convert a struct timespec (see man pselect) to a #GstClockTime.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ts">
|
|
<doc xml:space="preserve">the timespec to convert</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIMEVAL_TO_TIME" c:identifier="GST_TIMEVAL_TO_TIME" introspectable="0">
|
|
<doc xml:space="preserve">Convert a GTimeVal to a #GstClockTime.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="tv">
|
|
<doc xml:space="preserve">the timeval to convert</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIME_ARGS" c:identifier="GST_TIME_ARGS" introspectable="0">
|
|
<doc xml:space="preserve">Format @t for the #GST_TIME_FORMAT format string. Note: @t will be
|
|
evaluated more than once.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="t">
|
|
<doc xml:space="preserve">a #GstClockTime</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIME_AS_MSECONDS" c:identifier="GST_TIME_AS_MSECONDS" introspectable="0">
|
|
<doc xml:space="preserve">Convert a #GstClockTime to milliseconds (1/1000 of a second).</doc>
|
|
|
|
<parameters>
|
|
<parameter name="time">
|
|
<doc xml:space="preserve">the time</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIME_AS_NSECONDS" c:identifier="GST_TIME_AS_NSECONDS" introspectable="0">
|
|
<doc xml:space="preserve">Convert a #GstClockTime to nanoseconds (1/1000000000 of a second).</doc>
|
|
|
|
<parameters>
|
|
<parameter name="time">
|
|
<doc xml:space="preserve">the time</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIME_AS_SECONDS" c:identifier="GST_TIME_AS_SECONDS" introspectable="0">
|
|
<doc xml:space="preserve">Convert a #GstClockTime to seconds.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="time">
|
|
<doc xml:space="preserve">the time</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIME_AS_USECONDS" c:identifier="GST_TIME_AS_USECONDS" introspectable="0">
|
|
<doc xml:space="preserve">Convert a #GstClockTime to microseconds (1/1000000 of a second).</doc>
|
|
|
|
<parameters>
|
|
<parameter name="time">
|
|
<doc xml:space="preserve">the time</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TIME_FORMAT" value="u:%02u:%02u.%09u" c:type="GST_TIME_FORMAT" introspectable="0">
|
|
<doc xml:space="preserve">A string that can be used in printf-like format strings to display a
|
|
#GstClockTime value in h:m:s format. Use GST_TIME_ARGS() to construct
|
|
the matching arguments.
|
|
|
|
Example:
|
|
|[<!-- language="C" -->
|
|
printf("%" GST_TIME_FORMAT "\n", GST_TIME_ARGS(ts));
|
|
]|</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="TIME_TO_TIMESPEC" c:identifier="GST_TIME_TO_TIMESPEC" introspectable="0">
|
|
<doc xml:space="preserve">Convert a #GstClockTime to a struct timespec (see man pselect)</doc>
|
|
|
|
<parameters>
|
|
<parameter name="t">
|
|
<doc xml:space="preserve">The #GstClockTime to convert</doc>
|
|
</parameter>
|
|
<parameter name="ts">
|
|
<doc xml:space="preserve">The target timespec</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIME_TO_TIMEVAL" c:identifier="GST_TIME_TO_TIMEVAL" introspectable="0">
|
|
<doc xml:space="preserve">Convert a #GstClockTime to a GTimeVal
|
|
|
|
> on 32-bit systems, a timeval has a range of only 2^32 - 1 seconds,
|
|
> which is about 68 years. Expect trouble if you want to schedule stuff
|
|
> in your pipeline for 2038.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="t">
|
|
<doc xml:space="preserve">The #GstClockTime to convert</doc>
|
|
</parameter>
|
|
<parameter name="tv">
|
|
<doc xml:space="preserve">The target timeval</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TOC_ENTRY_TYPE_IS_ALTERNATIVE" c:identifier="GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if @entry_type indicates that its #GstTocEntry is an alternative.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry_type">
|
|
<doc xml:space="preserve">The #GstTocEntryType from a #GstTocEntry</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TOC_ENTRY_TYPE_IS_SEQUENCE" c:identifier="GST_TOC_ENTRY_TYPE_IS_SEQUENCE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if @entry_type indicates that its #GstTocEntry is a sequence.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry_type">
|
|
<doc xml:space="preserve">The #GstTocEntryType from a #GstTocEntry</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="TOC_REPEAT_COUNT_INFINITE" value="-1" c:type="GST_TOC_REPEAT_COUNT_INFINITE" version="1.4">
|
|
<doc xml:space="preserve">Special value for the repeat_count set in gst_toc_entry_set_loop() or
|
|
returned by gst_toc_entry_set_loop() to indicate infinite looping.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="TOC_SETTER" c:identifier="GST_TOC_SETTER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TOC_SETTER_GET_IFACE" c:identifier="GST_TOC_SETTER_GET_IFACE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER" c:identifier="GST_TRACER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_CAST" c:identifier="GST_TRACER_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_CLASS" c:identifier="GST_TRACER_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_FACTORY" c:identifier="GST_TRACER_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_FACTORY_CAST" c:identifier="GST_TRACER_FACTORY_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_FACTORY_CLASS" c:identifier="GST_TRACER_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_FACTORY_GET_CLASS" c:identifier="GST_TRACER_FACTORY_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_GET_CLASS" c:identifier="GST_TRACER_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_RECORD" c:identifier="GST_TRACER_RECORD" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_RECORD_CAST" c:identifier="GST_TRACER_RECORD_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_RECORD_CLASS" c:identifier="GST_TRACER_RECORD_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TRACER_RECORD_GET_CLASS" c:identifier="GST_TRACER_RECORD_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TYPE_FIND_FACTORY" c:identifier="GST_TYPE_FIND_FACTORY" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TYPE_FIND_FACTORY_CLASS" c:identifier="GST_TYPE_FIND_FACTORY_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TYPE_FIND_FACTORY_GET_CLASS" c:identifier="GST_TYPE_FIND_FACTORY_GET_CLASS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="TagFlag" glib:type-name="GstTagFlag" glib:get-type="gst_tag_flag_get_type" c:type="GstTagFlag">
|
|
<doc xml:space="preserve">Extra tag flags used when registering tags.</doc>
|
|
<member name="undefined" value="0" c:identifier="GST_TAG_FLAG_UNDEFINED" glib:nick="undefined">
|
|
<doc xml:space="preserve">undefined flag</doc>
|
|
</member>
|
|
<member name="meta" value="1" c:identifier="GST_TAG_FLAG_META" glib:nick="meta">
|
|
<doc xml:space="preserve">tag is meta data</doc>
|
|
</member>
|
|
<member name="encoded" value="2" c:identifier="GST_TAG_FLAG_ENCODED" glib:nick="encoded">
|
|
<doc xml:space="preserve">tag is encoded</doc>
|
|
</member>
|
|
<member name="decoded" value="3" c:identifier="GST_TAG_FLAG_DECODED" glib:nick="decoded">
|
|
<doc xml:space="preserve">tag is decoded</doc>
|
|
</member>
|
|
<member name="count" value="4" c:identifier="GST_TAG_FLAG_COUNT" glib:nick="count">
|
|
<doc xml:space="preserve">number of tag flags</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="TagForeachFunc" c:type="GstTagForeachFunc">
|
|
<doc xml:space="preserve">A function that will be called in gst_tag_list_foreach(). The function may
|
|
not modify the tag list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstTagList</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">a name of a tag in @list</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="TagList" c:type="GstTagList" glib:type-name="GstTagList" glib:get-type="gst_tag_list_get_type" c:symbol-prefix="tag_list">
|
|
<doc xml:space="preserve">List of tags and values used to describe media metadata.
|
|
|
|
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
|
|
not allowed. Strings must not be empty or %NULL.</doc>
|
|
|
|
<field name="mini_object" writable="1">
|
|
<doc xml:space="preserve">the parent type</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_tag_list_new" introspectable="0">
|
|
<doc xml:space="preserve">Creates a new taglist and appends the values for the given tags. It expects
|
|
tag-value pairs like gst_tag_list_add(), and a %NULL terminator after the
|
|
last pair. The type of the values is implicit and is documented in the API
|
|
reference, but can also be queried at runtime with gst_tag_get_type(). It
|
|
is an error to pass a value of a type not matching the tag type into this
|
|
function. The tag list will make copies of any arguments passed
|
|
(e.g. strings, buffers).
|
|
|
|
After creation you might also want to set a #GstTagScope on the returned
|
|
taglist to signal if the contained tags are global or stream tags. By
|
|
default stream scope is assumes. See gst_tag_list_set_scope().
|
|
|
|
Free-function: gst_tag_list_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstTagList. Free with gst_tag_list_unref()
|
|
when no longer needed.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">%NULL-terminated list of values to set</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_empty" c:identifier="gst_tag_list_new_empty">
|
|
<doc xml:space="preserve">Creates a new empty GstTagList.
|
|
|
|
Free-function: gst_tag_list_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">An empty tag list</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_from_string" c:identifier="gst_tag_list_new_from_string">
|
|
<doc xml:space="preserve">Deserializes a tag list.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstTagList, or %NULL in case of an
|
|
error.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string created with gst_tag_list_to_string()</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_valist" c:identifier="gst_tag_list_new_valist" introspectable="0">
|
|
<doc xml:space="preserve">Just like gst_tag_list_new(), only that it takes a va_list argument.
|
|
Useful mostly for language bindings.
|
|
|
|
Free-function: gst_tag_list_unref</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstTagList. Free with gst_tag_list_unref()
|
|
when no longer needed.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag / value pairs to set</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add" c:identifier="gst_tag_list_add" introspectable="0">
|
|
<doc xml:space="preserve">Sets the values for the given tags using the specified mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to set tags in</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">%NULL-terminated list of values to set</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_valist" c:identifier="gst_tag_list_add_valist" introspectable="0">
|
|
<doc xml:space="preserve">Sets the values for the given tags using the specified mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to set tags in</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag / value pairs to set</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_valist_values" c:identifier="gst_tag_list_add_valist_values" introspectable="0">
|
|
<doc xml:space="preserve">Sets the GValues for the given tags using the specified mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to set tags in</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag / GValue pairs to set</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_value" c:identifier="gst_tag_list_add_value">
|
|
<doc xml:space="preserve">Sets the GValue for a given tag using the specified mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to set tags in</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">GValue for this tag</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_values" c:identifier="gst_tag_list_add_values" introspectable="0">
|
|
<doc xml:space="preserve">Sets the GValues for the given tags using the specified mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to set tags in</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">GValues to set</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_tag_list_copy">
|
|
<doc xml:space="preserve">Creates a new #GstTagList as a copy of the old @taglist. The new taglist
|
|
will have a refcount of 1, owned by the caller, and will be writable as
|
|
a result.
|
|
|
|
Note that this function is the semantic equivalent of a gst_tag_list_ref()
|
|
followed by a gst_tag_list_make_writable(). If you only want to hold on to a
|
|
reference to the data, you should use gst_tag_list_ref().
|
|
|
|
When you are finished with the taglist, call gst_tag_list_unref() on it.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new #GstTagList</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="taglist" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="foreach" c:identifier="gst_tag_list_foreach">
|
|
<doc xml:space="preserve">Calls the given function for each tag inside the tag list. Note that if there
|
|
is no tag, the function won't be called at all.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to iterate over</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">function to be called for each tag</doc>
|
|
<type name="TagForeachFunc" c:type="GstTagForeachFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user specified data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_boolean" c:identifier="gst_tag_list_get_boolean">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_boolean_index" c:identifier="gst_tag_list_get_boolean_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_date" c:identifier="gst_tag_list_get_date">
|
|
<doc xml:space="preserve">Copies the first date for the given tag in the taglist into the variable
|
|
pointed to by @value. Free the date with g_date_free() when it is no longer
|
|
needed.
|
|
|
|
Free-function: g_date_free</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a date was copied, %FALSE if the tag didn't exist in the
|
|
given list or if it was %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of a GDate pointer
|
|
variable to store the result into</doc>
|
|
<type name="GLib.Date" c:type="GDate**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_date_index" c:identifier="gst_tag_list_get_date_index">
|
|
<doc xml:space="preserve">Gets the date that is at the given index for the given tag in the given
|
|
list and copies it into the variable pointed to by @value. Free the date
|
|
with g_date_free() when it is no longer needed.
|
|
|
|
Free-function: g_date_free</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list or if it was %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="GLib.Date" c:type="GDate**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_date_time" c:identifier="gst_tag_list_get_date_time">
|
|
<doc xml:space="preserve">Copies the first datetime for the given tag in the taglist into the variable
|
|
pointed to by @value. Unref the date with gst_date_time_unref() when
|
|
it is no longer needed.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a datetime was copied, %FALSE if the tag didn't exist in
|
|
the given list or if it was %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of a #GstDateTime
|
|
pointer variable to store the result into</doc>
|
|
<type name="DateTime" c:type="GstDateTime**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_date_time_index" c:identifier="gst_tag_list_get_date_time_index">
|
|
<doc xml:space="preserve">Gets the datetime that is at the given index for the given tag in the given
|
|
list and copies it into the variable pointed to by @value. Unref the datetime
|
|
with gst_date_time_unref() when it is no longer needed.
|
|
|
|
Free-function: gst_date_time_unref</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list or if it was %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="DateTime" c:type="GstDateTime**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_double" c:identifier="gst_tag_list_get_double">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_double_index" c:identifier="gst_tag_list_get_double_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_float" c:identifier="gst_tag_list_get_float">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gfloat" c:type="gfloat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_float_index" c:identifier="gst_tag_list_get_float_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gfloat" c:type="gfloat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_int" c:identifier="gst_tag_list_get_int">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_int64" c:identifier="gst_tag_list_get_int64">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_int64_index" c:identifier="gst_tag_list_get_int64_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_int_index" c:identifier="gst_tag_list_get_int_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pointer" c:identifier="gst_tag_list_get_pointer">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pointer_index" c:identifier="gst_tag_list_get_pointer_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sample" c:identifier="gst_tag_list_get_sample">
|
|
<doc xml:space="preserve">Copies the first sample for the given tag in the taglist into the variable
|
|
pointed to by @sample. Free the sample with gst_sample_unref() when it is
|
|
no longer needed. You can retrieve the buffer from the sample using
|
|
gst_sample_get_buffer() and the associated caps (if any) with
|
|
gst_sample_get_caps().
|
|
|
|
Free-function: gst_sample_unref</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a sample was returned, %FALSE if the tag didn't exist in
|
|
the given list or if it was %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="sample" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of a GstSample
|
|
pointer variable to store the result into</doc>
|
|
<type name="Sample" c:type="GstSample**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sample_index" c:identifier="gst_tag_list_get_sample_index">
|
|
<doc xml:space="preserve">Gets the sample that is at the given index for the given tag in the given
|
|
list and copies it into the variable pointed to by @sample. Free the sample
|
|
with gst_sample_unref() when it is no longer needed. You can retrieve the
|
|
buffer from the sample using gst_sample_get_buffer() and the associated
|
|
caps (if any) with gst_sample_get_caps().
|
|
|
|
Free-function: gst_sample_unref</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a sample was copied, %FALSE if the tag didn't exist in the
|
|
given list or if it was %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="sample" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">address of a GstSample
|
|
pointer variable to store the result into</doc>
|
|
<type name="Sample" c:type="GstSample**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_scope" c:identifier="gst_tag_list_get_scope">
|
|
<doc xml:space="preserve">Gets the scope of @list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The scope of @list</doc>
|
|
<type name="TagScope" c:type="GstTagScope"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_string" c:identifier="gst_tag_list_get_string">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, possibly merging
|
|
multiple values into one if multiple values are associated with the tag.
|
|
|
|
Use gst_tag_list_get_string_index (list, tag, 0, value) if you want
|
|
to retrieve the first string associated with this tag unmodified.
|
|
|
|
The resulting string in @value will be in UTF-8 encoding and should be
|
|
freed by the caller using g_free when no longer needed. The
|
|
returned string is also guaranteed to be non-%NULL and non-empty.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_string_index" c:identifier="gst_tag_list_get_string_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.
|
|
|
|
The resulting string in @value will be in UTF-8 encoding and should be
|
|
freed by the caller using g_free when no longer needed. The
|
|
returned string is also guaranteed to be non-%NULL and non-empty.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tag_size" c:identifier="gst_tag_list_get_tag_size">
|
|
<doc xml:space="preserve">Checks how many value are stored in this tag list for the given tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of tags stored</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a taglist</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag to query</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uint" c:identifier="gst_tag_list_get_uint">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uint64" c:identifier="gst_tag_list_get_uint64">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value, merging multiple values
|
|
into one if multiple values are associated with the tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uint64_index" c:identifier="gst_tag_list_get_uint64_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="guint64" c:type="guint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uint_index" c:identifier="gst_tag_list_get_uint_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value_index" c:identifier="gst_tag_list_get_value_index">
|
|
<doc xml:space="preserve">Gets the value that is at the given index for the given tag in the given
|
|
list.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The GValue for the specified
|
|
entry or %NULL if the tag wasn't available or the tag
|
|
doesn't have as many entries</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="insert" c:identifier="gst_tag_list_insert">
|
|
<doc xml:space="preserve">Inserts the tags of the @from list into the first list using the given mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="into" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to merge into</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="from" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to merge from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_empty" c:identifier="gst_tag_list_is_empty">
|
|
<doc xml:space="preserve">Checks if the given taglist is empty.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the taglist is empty, otherwise %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagList.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_tag_list_is_equal">
|
|
<doc xml:space="preserve">Checks if the two given taglists are equal.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the taglists are equal, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="list2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge" c:identifier="gst_tag_list_merge">
|
|
<doc xml:space="preserve">Merges the two given lists into a new list. If one of the lists is %NULL, a
|
|
copy of the other is returned. If both lists are %NULL, %NULL is returned.
|
|
|
|
Free-function: gst_tag_list_unref</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new list</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list1" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">first list to merge</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="list2" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">second list to merge</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="n_tags" c:identifier="gst_tag_list_n_tags">
|
|
<doc xml:space="preserve">Get the number of tags in @list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of tags in @list.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagList.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="nth_tag_name" c:identifier="gst_tag_list_nth_tag_name">
|
|
<doc xml:space="preserve">Get the name of the tag in @list at @index.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of the tag at @index.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagList.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peek_string_index" c:identifier="gst_tag_list_peek_string_index">
|
|
<doc xml:space="preserve">Peeks at the value that is at the given index for the given tag in the given
|
|
list.
|
|
|
|
The resulting string in @value will be in UTF-8 encoding and doesn't need
|
|
to be freed by the caller. The returned string is also guaranteed to
|
|
be non-%NULL and non-empty.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was set, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of entry to read out</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="none">
|
|
<doc xml:space="preserve">location for the result</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_tag_list_ref" introspectable="0">
|
|
<doc xml:space="preserve">Add a reference to a #GstTagList mini object.
|
|
|
|
From this point on, until the caller calls gst_tag_list_unref() or
|
|
gst_tag_list_make_writable(), it is guaranteed that the taglist object will
|
|
not change. To use a #GstTagList object, you must always have a refcount on
|
|
it -- either the one made implicitly by e.g. gst_tag_list_new(), or via
|
|
taking one explicitly with this function.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the same #GstTagList mini object.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="taglist" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstTagList to reference</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_tag" c:identifier="gst_tag_list_remove_tag">
|
|
<doc xml:space="preserve">Removes the given tag from the taglist.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to remove tag from</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to remove</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_scope" c:identifier="gst_tag_list_set_scope">
|
|
<doc xml:space="preserve">Sets the scope of @list to @scope. By default the scope
|
|
of a taglist is stream scope.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
<parameter name="scope" transfer-ownership="none">
|
|
<doc xml:space="preserve">new scope for @list</doc>
|
|
<type name="TagScope" c:type="GstTagScope"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_tag_list_to_string">
|
|
<doc xml:space="preserve">Serializes a tag list to a string.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly-allocated string, or %NULL in case of
|
|
an error. The string must be freed with g_free() when no longer
|
|
needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_tag_list_unref" introspectable="0">
|
|
<doc xml:space="preserve">Unref a #GstTagList, and and free all its memory when the refcount reaches 0.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="taglist" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagList.</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="copy_value" c:identifier="gst_tag_list_copy_value">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value,
|
|
merging multiple values into one if multiple values are associated
|
|
with the tag.
|
|
You must g_value_unset() the value after use.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">uninitialized #GValue to copy into</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<callback name="TagMergeFunc" c:type="GstTagMergeFunc">
|
|
<doc xml:space="preserve">A function for merging multiple values of a tag used when registering
|
|
tags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the destination #GValue</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="TagMergeMode" glib:type-name="GstTagMergeMode" glib:get-type="gst_tag_merge_mode_get_type" c:type="GstTagMergeMode">
|
|
<doc xml:space="preserve">The different tag merging modes are basically replace, overwrite and append,
|
|
but they can be seen from two directions. Given two taglists: (A) the tags
|
|
already in the element and (B) the ones that are supplied to the element (
|
|
e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a
|
|
%GST_EVENT_TAG), how are these tags merged?
|
|
In the table below this is shown for the cases that a tag exists in the list
|
|
(A) or does not exists (!A) and combinations thereof.
|
|
|
|
| merge mode | A + B | A + !B | !A + B | !A + !B |
|
|
| ----------- | ----- | ------ | ------ | ------- |
|
|
| REPLACE_ALL | B | ø | B | ø |
|
|
| REPLACE | B | A | B | ø |
|
|
| APPEND | A, B | A | B | ø |
|
|
| PREPEND | B, A | A | B | ø |
|
|
| KEEP | A | A | B | ø |
|
|
| KEEP_ALL | A | A | ø | ø |</doc>
|
|
<member name="undefined" value="0" c:identifier="GST_TAG_MERGE_UNDEFINED" glib:nick="undefined">
|
|
<doc xml:space="preserve">undefined merge mode</doc>
|
|
</member>
|
|
<member name="replace_all" value="1" c:identifier="GST_TAG_MERGE_REPLACE_ALL" glib:nick="replace-all">
|
|
<doc xml:space="preserve">replace all tags (clear list and append)</doc>
|
|
</member>
|
|
<member name="replace" value="2" c:identifier="GST_TAG_MERGE_REPLACE" glib:nick="replace">
|
|
<doc xml:space="preserve">replace tags</doc>
|
|
</member>
|
|
<member name="append" value="3" c:identifier="GST_TAG_MERGE_APPEND" glib:nick="append">
|
|
<doc xml:space="preserve">append tags</doc>
|
|
</member>
|
|
<member name="prepend" value="4" c:identifier="GST_TAG_MERGE_PREPEND" glib:nick="prepend">
|
|
<doc xml:space="preserve">prepend tags</doc>
|
|
</member>
|
|
<member name="keep" value="5" c:identifier="GST_TAG_MERGE_KEEP" glib:nick="keep">
|
|
<doc xml:space="preserve">keep existing tags</doc>
|
|
</member>
|
|
<member name="keep_all" value="6" c:identifier="GST_TAG_MERGE_KEEP_ALL" glib:nick="keep-all">
|
|
<doc xml:space="preserve">keep all existing tags</doc>
|
|
</member>
|
|
<member name="count" value="7" c:identifier="GST_TAG_MERGE_COUNT" glib:nick="count">
|
|
<doc xml:space="preserve">the number of merge modes</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="TagScope" glib:type-name="GstTagScope" glib:get-type="gst_tag_scope_get_type" c:type="GstTagScope">
|
|
<doc xml:space="preserve">GstTagScope specifies if a taglist applies to the complete
|
|
medium or only to one single stream.</doc>
|
|
<member name="stream" value="0" c:identifier="GST_TAG_SCOPE_STREAM" glib:nick="stream">
|
|
<doc xml:space="preserve">tags specific to this single stream</doc>
|
|
</member>
|
|
<member name="global" value="1" c:identifier="GST_TAG_SCOPE_GLOBAL" glib:nick="global">
|
|
<doc xml:space="preserve">global tags for the complete medium</doc>
|
|
</member>
|
|
</enumeration>
|
|
<interface name="TagSetter" c:symbol-prefix="tag_setter" c:type="GstTagSetter" glib:type-name="GstTagSetter" glib:get-type="gst_tag_setter_get_type" glib:type-struct="TagSetterInterface">
|
|
<doc xml:space="preserve">Element interface that allows setting of media metadata.
|
|
|
|
Elements that support changing a stream's metadata will implement this
|
|
interface. Examples of such elements are 'vorbisenc', 'theoraenc' and
|
|
'id3v2mux'.
|
|
|
|
If you just want to retrieve metadata in your application then all you
|
|
need to do is watch for tag messages on your pipeline's bus. This
|
|
interface is only for setting metadata, not for extracting it. To set tags
|
|
from the application, find tagsetter elements and set tags using e.g.
|
|
gst_tag_setter_merge_tags() or gst_tag_setter_add_tags(). Also consider
|
|
setting the #GstTagMergeMode that is used for tag events that arrive at the
|
|
tagsetter element (default mode is to keep existing tags).
|
|
The application should do that before the element goes to %GST_STATE_PAUSED.
|
|
|
|
Elements implementing the #GstTagSetter interface often have to merge
|
|
any tags received from upstream and the tags set by the application via
|
|
the interface. This can be done like this:
|
|
|
|
|[<!-- language="C" -->
|
|
GstTagMergeMode merge_mode;
|
|
const GstTagList *application_tags;
|
|
const GstTagList *event_tags;
|
|
GstTagSetter *tagsetter;
|
|
GstTagList *result;
|
|
|
|
tagsetter = GST_TAG_SETTER (element);
|
|
|
|
merge_mode = gst_tag_setter_get_tag_merge_mode (tagsetter);
|
|
application_tags = gst_tag_setter_get_tag_list (tagsetter);
|
|
event_tags = (const GstTagList *) element->event_tags;
|
|
|
|
GST_LOG_OBJECT (tagsetter, "merging tags, merge mode = %d", merge_mode);
|
|
GST_LOG_OBJECT (tagsetter, "event tags: %" GST_PTR_FORMAT, event_tags);
|
|
GST_LOG_OBJECT (tagsetter, "set tags: %" GST_PTR_FORMAT, application_tags);
|
|
|
|
result = gst_tag_list_merge (application_tags, event_tags, merge_mode);
|
|
|
|
GST_LOG_OBJECT (tagsetter, "final tags: %" GST_PTR_FORMAT, result);
|
|
]|</doc>
|
|
|
|
<prerequisite name="Element"/>
|
|
<method name="add_tag_valist" c:identifier="gst_tag_setter_add_tag_valist" introspectable="0">
|
|
<doc xml:space="preserve">Adds the given tag / value pairs on the setter using the given merge mode.
|
|
The list must be terminated with %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag / value pairs to set</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_tag_valist_values" c:identifier="gst_tag_setter_add_tag_valist_values" introspectable="0">
|
|
<doc xml:space="preserve">Adds the given tag / GValue pairs on the setter using the given merge mode.
|
|
The list must be terminated with %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag / GValue pairs to set</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_tag_value" c:identifier="gst_tag_setter_add_tag_value">
|
|
<doc xml:space="preserve">Adds the given tag / GValue pair on the setter using the given merge mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">GValue to set for the tag</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_tag_values" c:identifier="gst_tag_setter_add_tag_values" introspectable="0">
|
|
<doc xml:space="preserve">Adds the given tag / GValue pairs on the setter using the given merge mode.
|
|
The list must be terminated with %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">more tag / GValue pairs to set</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_tags" c:identifier="gst_tag_setter_add_tags" introspectable="0">
|
|
<doc xml:space="preserve">Adds the given tag / value pairs on the setter using the given merge mode.
|
|
The list must be terminated with %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to use</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">more tag / value pairs to set</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tag_list" c:identifier="gst_tag_setter_get_tag_list">
|
|
<doc xml:space="preserve">Returns the current list of tags the setter uses. The list should not be
|
|
modified or freed.
|
|
|
|
This function is not thread-safe.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a current snapshot of the
|
|
taglist used in the setter or %NULL if none is used.</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tag_merge_mode" c:identifier="gst_tag_setter_get_tag_merge_mode">
|
|
<doc xml:space="preserve">Queries the mode by which tags inside the setter are overwritten by tags
|
|
from events</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the merge mode used inside the element.</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_tag_setter_merge_tags">
|
|
<doc xml:space="preserve">Merges the given list into the setter's list using the given mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a tag list to merge from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the mode to merge with</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="reset_tags" c:identifier="gst_tag_setter_reset_tags">
|
|
<doc xml:space="preserve">Reset the internal taglist. Elements should call this from within the
|
|
state-change handler.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_tag_merge_mode" c:identifier="gst_tag_setter_set_tag_merge_mode">
|
|
<doc xml:space="preserve">Sets the given merge mode that is used for adding tags from events to tags
|
|
specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps
|
|
the tags set with this interface and discards tags from events.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTagSetter</doc>
|
|
<type name="TagSetter" c:type="GstTagSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">The mode with which tags are added</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="TagSetterInterface" c:type="GstTagSetterInterface" glib:is-gtype-struct-for="TagSetter">
|
|
<doc xml:space="preserve">#GstTagSetterInterface interface.</doc>
|
|
|
|
<field name="g_iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
</record>
|
|
<class name="Task" c:symbol-prefix="task" c:type="GstTask" parent="Object" glib:type-name="GstTask" glib:get-type="gst_task_get_type" glib:type-struct="TaskClass">
|
|
<doc xml:space="preserve">#GstTask is used by #GstElement and #GstPad to provide the data passing
|
|
threads in a #GstPipeline.
|
|
|
|
A #GstPad will typically start a #GstTask to push or pull data to/from the
|
|
peer pads. Most source elements start a #GstTask to push data. In some cases
|
|
a demuxer element can start a #GstTask to pull data from a peer element. This
|
|
is typically done when the demuxer can perform random access on the upstream
|
|
peer element for improved performance.
|
|
|
|
Although convenience functions exist on #GstPad to start/pause/stop tasks, it
|
|
might sometimes be needed to create a #GstTask manually if it is not related to
|
|
a #GstPad.
|
|
|
|
Before the #GstTask can be run, it needs a #GRecMutex that can be set with
|
|
gst_task_set_lock().
|
|
|
|
The task can be started, paused and stopped with gst_task_start(), gst_task_pause()
|
|
and gst_task_stop() respectively or with the gst_task_set_state() function.
|
|
|
|
A #GstTask will repeatedly call the #GstTaskFunction with the user data
|
|
that was provided when creating the task with gst_task_new(). While calling
|
|
the function it will acquire the provided lock. The provided lock is released
|
|
when the task pauses or stops.
|
|
|
|
Stopping a task with gst_task_stop() will not immediately make sure the task is
|
|
not running anymore. Use gst_task_join() to make sure the task is completely
|
|
stopped and the thread is stopped.
|
|
|
|
After creating a #GstTask, use gst_object_unref() to free its resources. This can
|
|
only be done when the task is not running anymore.
|
|
|
|
Task functions can send a #GstMessage to send out-of-band data to the
|
|
application. The application can receive messages from the #GstBus in its
|
|
mainloop.
|
|
|
|
For debugging purposes, the task will configure its object name as the thread
|
|
name on Linux. Please note that the object name should be configured before the
|
|
task is started; changing the object name after the task has been started, has
|
|
no effect on the thread name.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_task_new">
|
|
<doc xml:space="preserve">Create a new Task that will repeatedly call the provided @func
|
|
with @user_data as a parameter. Typically the task will run in
|
|
a new thread.
|
|
|
|
The function cannot be changed after the task has been created. You
|
|
must create a new #GstTask to change the function.
|
|
|
|
This function will not yet create and start a thread. Use gst_task_start() or
|
|
gst_task_pause() to create and start the GThread.
|
|
|
|
Before the task can be used, a #GRecMutex must be configured using the
|
|
gst_task_set_lock() function. This lock will always be acquired while
|
|
@func is called.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A new #GstTask.
|
|
|
|
MT safe.</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">The #GstTaskFunction to use</doc>
|
|
<type name="TaskFunction" c:type="GstTaskFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">User data to pass to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">the function to call when @user_data is no longer needed.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<function name="cleanup_all" c:identifier="gst_task_cleanup_all">
|
|
<doc xml:space="preserve">Wait for all tasks to be stopped. This is mainly used internally
|
|
to ensure proper cleanup of internal data structures in test suites.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</function>
|
|
<method name="get_pool" c:identifier="gst_task_get_pool">
|
|
<doc xml:space="preserve">Get the #GstTaskPool that this task will use for its streaming
|
|
threads.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstTaskPool used by @task. gst_object_unref()
|
|
after usage.</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTask</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_state" c:identifier="gst_task_get_state">
|
|
<doc xml:space="preserve">Get the current state of the task.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTaskState of the task
|
|
|
|
MT safe.</doc>
|
|
<type name="TaskState" c:type="GstTaskState"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to query</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="join" c:identifier="gst_task_join">
|
|
<doc xml:space="preserve">Joins @task. After this call, it is safe to unref the task
|
|
and clean up the lock set with gst_task_set_lock().
|
|
|
|
The task will automatically be stopped with this call.
|
|
|
|
This function cannot be called from within a task function as this
|
|
would cause a deadlock. The function will detect this and print a
|
|
g_warning.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the task could be joined.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to join</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="pause" c:identifier="gst_task_pause">
|
|
<doc xml:space="preserve">Pauses @task. This method can also be called on a task in the
|
|
stopped state, in which case a thread will be started and will remain
|
|
in the paused state. This function does not wait for the task to complete
|
|
the paused state.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the task could be paused.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to pause</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="resume" c:identifier="gst_task_resume" version="1.18">
|
|
<doc xml:space="preserve">Resume @task in case it was paused. If the task was stopped, it will
|
|
remain in that state and this function will return %FALSE.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the task could be resumed.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to resume</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_enter_callback" c:identifier="gst_task_set_enter_callback">
|
|
<doc xml:space="preserve">Call @enter_func when the task function of @task is entered. @user_data will
|
|
be passed to @enter_func and @notify will be called when @user_data is no
|
|
longer referenced.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to use</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
<parameter name="enter_func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">a #GstTaskThreadFunc</doc>
|
|
<type name="TaskThreadFunc" c:type="GstTaskThreadFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @enter_func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">called when @user_data is no longer referenced</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_leave_callback" c:identifier="gst_task_set_leave_callback">
|
|
<doc xml:space="preserve">Call @leave_func when the task function of @task is left. @user_data will
|
|
be passed to @leave_func and @notify will be called when @user_data is no
|
|
longer referenced.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to use</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
<parameter name="leave_func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">a #GstTaskThreadFunc</doc>
|
|
<type name="TaskThreadFunc" c:type="GstTaskThreadFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data passed to @leave_func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">called when @user_data is no longer referenced</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_lock" c:identifier="gst_task_set_lock">
|
|
<doc xml:space="preserve">Set the mutex used by the task. The mutex will be acquired before
|
|
calling the #GstTaskFunction.
|
|
|
|
This function has to be called before calling gst_task_pause() or
|
|
gst_task_start().
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to use</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
<parameter name="mutex" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GRecMutex to use</doc>
|
|
<type name="GLib.RecMutex" c:type="GRecMutex*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_pool" c:identifier="gst_task_set_pool">
|
|
<doc xml:space="preserve">Set @pool as the new GstTaskPool for @task. Any new streaming threads that
|
|
will be created by @task will now use @pool.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTask</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_state" c:identifier="gst_task_set_state">
|
|
<doc xml:space="preserve">Sets the state of @task to @state.
|
|
|
|
The @task must have a lock associated with it using
|
|
gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or
|
|
this function will return %FALSE.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the state could be changed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTask</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new task state</doc>
|
|
<type name="TaskState" c:type="GstTaskState"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="start" c:identifier="gst_task_start">
|
|
<doc xml:space="preserve">Starts @task. The @task must have a lock associated with it using
|
|
gst_task_set_lock() or this function will return %FALSE.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the task could be started.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to start</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="stop" c:identifier="gst_task_stop">
|
|
<doc xml:space="preserve">Stops @task. This method merely schedules the task to stop and
|
|
will not wait for the task to have completely stopped. Use
|
|
gst_task_join() to stop and wait for completion.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the task could be stopped.
|
|
|
|
MT safe.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask to stop</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="state">
|
|
<doc xml:space="preserve">the state of the task</doc>
|
|
<type name="TaskState" c:type="GstTaskState"/>
|
|
</field>
|
|
<field name="cond">
|
|
<doc xml:space="preserve">used to pause/resume the task</doc>
|
|
<type name="GLib.Cond" c:type="GCond"/>
|
|
</field>
|
|
<field name="lock">
|
|
<doc xml:space="preserve">The lock taken when iterating the task function</doc>
|
|
<type name="GLib.RecMutex" c:type="GRecMutex*"/>
|
|
</field>
|
|
<field name="func">
|
|
<doc xml:space="preserve">the function executed by this task</doc>
|
|
<type name="TaskFunction" c:type="GstTaskFunction"/>
|
|
</field>
|
|
<field name="user_data">
|
|
<doc xml:space="preserve">user_data passed to the task function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="notify">
|
|
<doc xml:space="preserve">GDestroyNotify for @user_data</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<field name="running">
|
|
<doc xml:space="preserve">a flag indicating that the task is running</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="thread" readable="0" private="1">
|
|
<type name="GLib.Thread" c:type="GThread*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TaskPrivate" c:type="GstTaskPrivate*"/>
|
|
</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="TaskClass" c:type="GstTaskClass" glib:is-gtype-struct-for="Task">
|
|
|
|
<field name="parent_class">
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="pool" readable="0" private="1">
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</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>
|
|
<callback name="TaskFunction" c:type="GstTaskFunction">
|
|
<doc xml:space="preserve">A function that will repeatedly be called in the thread created by
|
|
a #GstTask.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="0">
|
|
<doc xml:space="preserve">user data passed to the function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="TaskPool" c:symbol-prefix="task_pool" c:type="GstTaskPool" parent="Object" glib:type-name="GstTaskPool" glib:get-type="gst_task_pool_get_type" glib:type-struct="TaskPoolClass">
|
|
<doc xml:space="preserve">This object provides an abstraction for creating threads. The default
|
|
implementation uses a regular GThreadPool to start tasks.
|
|
|
|
Subclasses can be made to create custom threads.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_task_pool_new">
|
|
<doc xml:space="preserve">Create a new default task pool. The default task pool will use a regular
|
|
GThreadPool for threads.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstTaskPool. gst_object_unref() after usage.</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<virtual-method name="cleanup" invoker="cleanup">
|
|
<doc xml:space="preserve">Wait for all tasks to be stopped. This is mainly used internally
|
|
to ensure proper cleanup of internal data structures in test suites.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="join" invoker="join">
|
|
<doc xml:space="preserve">Join a task and/or return it to the pool. @id is the id obtained from
|
|
gst_task_pool_push().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the id</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="prepare" invoker="prepare" throws="1">
|
|
<doc xml:space="preserve">Prepare the taskpool for accepting gst_task_pool_push() operations.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="push" invoker="push" throws="1">
|
|
<doc xml:space="preserve">Start the execution of a new thread from @pool.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer that should be used
|
|
for the gst_task_pool_join function. This pointer can be %NULL, you
|
|
must check @error to detect errors.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="async" closure="1">
|
|
<doc xml:space="preserve">the function to call</doc>
|
|
<type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">data to pass to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="cleanup" c:identifier="gst_task_pool_cleanup">
|
|
<doc xml:space="preserve">Wait for all tasks to be stopped. This is mainly used internally
|
|
to ensure proper cleanup of internal data structures in test suites.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="join" c:identifier="gst_task_pool_join">
|
|
<doc xml:space="preserve">Join a task and/or return it to the pool. @id is the id obtained from
|
|
gst_task_pool_push().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the id</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="prepare" c:identifier="gst_task_pool_prepare" throws="1">
|
|
<doc xml:space="preserve">Prepare the taskpool for accepting gst_task_pool_push() operations.
|
|
|
|
MT safe.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="push" c:identifier="gst_task_pool_push" throws="1">
|
|
<doc xml:space="preserve">Start the execution of a new thread from @pool.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer that should be used
|
|
for the gst_task_pool_join function. This pointer can be %NULL, you
|
|
must check @error to detect errors.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="async" closure="1">
|
|
<doc xml:space="preserve">the function to call</doc>
|
|
<type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">data to pass to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="object">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="pool" readable="0" private="1">
|
|
<type name="GLib.ThreadPool" c:type="GThreadPool*"/>
|
|
</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="TaskPoolClass" c:type="GstTaskPoolClass" glib:is-gtype-struct-for="TaskPool">
|
|
<doc xml:space="preserve">The #GstTaskPoolClass object.</doc>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</field>
|
|
<field name="prepare">
|
|
<callback name="prepare" throws="1">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="cleanup">
|
|
<callback name="cleanup">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="push">
|
|
<callback name="push" throws="1">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer that should be used
|
|
for the gst_task_pool_join function. This pointer can be %NULL, you
|
|
must check @error to detect errors.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="async" closure="2">
|
|
<doc xml:space="preserve">the function to call</doc>
|
|
<type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">data to pass to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="join">
|
|
<callback name="join">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pool" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTaskPool</doc>
|
|
<type name="TaskPool" c:type="GstTaskPool*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the id</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</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>
|
|
<callback name="TaskPoolFunction" c:type="GstTaskPoolFunction">
|
|
<doc xml:space="preserve">Task function, see gst_task_pool_push().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="0">
|
|
<doc xml:space="preserve">user data for the task function</doc>
|
|
<type name="gpointer" c:type="void*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="TaskPrivate" c:type="GstTaskPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="TaskState" glib:type-name="GstTaskState" glib:get-type="gst_task_state_get_type" c:type="GstTaskState">
|
|
<doc xml:space="preserve">The different states a task can be in</doc>
|
|
<member name="started" value="0" c:identifier="GST_TASK_STARTED" glib:nick="started">
|
|
<doc xml:space="preserve">the task is started and running</doc>
|
|
</member>
|
|
<member name="stopped" value="1" c:identifier="GST_TASK_STOPPED" glib:nick="stopped">
|
|
<doc xml:space="preserve">the task is stopped</doc>
|
|
</member>
|
|
<member name="paused" value="2" c:identifier="GST_TASK_PAUSED" glib:nick="paused">
|
|
<doc xml:space="preserve">the task is paused</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="TaskThreadFunc" c:type="GstTaskThreadFunc">
|
|
<doc xml:space="preserve">Custom GstTask thread callback functions that can be installed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="task" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTask</doc>
|
|
<type name="Task" c:type="GstTask*"/>
|
|
</parameter>
|
|
<parameter name="thread" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GThread</doc>
|
|
<type name="GLib.Thread" c:type="GThread*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="TimedValue" c:type="GstTimedValue">
|
|
<doc xml:space="preserve">Structure for saving a timestamp and a value.</doc>
|
|
|
|
<field name="timestamp" writable="1">
|
|
<doc xml:space="preserve">timestamp of the value change</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="value" writable="1">
|
|
<doc xml:space="preserve">the corresponding value</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
</record>
|
|
<record name="Toc" c:type="GstToc" glib:type-name="GstToc" glib:get-type="gst_toc_get_type" c:symbol-prefix="toc">
|
|
<doc xml:space="preserve">#GstToc functions are used to create/free #GstToc and #GstTocEntry structures.
|
|
Also they are used to convert #GstToc into #GstStructure and vice versa.
|
|
|
|
#GstToc lets you to inform other elements in pipeline or application that playing
|
|
source has some kind of table of contents (TOC). These may be chapters, editions,
|
|
angles or other types. For example: DVD chapters, Matroska chapters or cue sheet
|
|
TOC. Such TOC will be useful for applications to display instead of just a
|
|
playlist.
|
|
|
|
Using TOC is very easy. Firstly, create #GstToc structure which represents root
|
|
contents of the source. You can also attach TOC-specific tags to it. Then fill
|
|
it with #GstTocEntry entries by appending them to the #GstToc using
|
|
gst_toc_append_entry(), and appending subentries to a #GstTocEntry using
|
|
gst_toc_entry_append_sub_entry().
|
|
|
|
Note that root level of the TOC can contain only either editions or chapters. You
|
|
should not mix them together at the same level. Otherwise you will get serialization
|
|
/deserialization errors. Make sure that no one of the entries has negative start and
|
|
stop values.
|
|
|
|
Use gst_event_new_toc() to create a new TOC #GstEvent, and gst_event_parse_toc() to
|
|
parse received TOC event. Use gst_event_new_toc_select() to create a new TOC select #GstEvent,
|
|
and gst_event_parse_toc_select() to parse received TOC select event. The same rule for
|
|
the #GstMessage: gst_message_new_toc() to create new TOC #GstMessage, and
|
|
gst_message_parse_toc() to parse received TOC message.
|
|
|
|
TOCs can have global scope or current scope. Global scope TOCs contain
|
|
all entries that can possibly be selected using a toc select event, and
|
|
are what an application is usually interested in. TOCs with current scope
|
|
only contain the parts of the TOC relevant to the currently selected/playing
|
|
stream; the current scope TOC is used by downstream elements such as muxers
|
|
to write correct TOC entries when transcoding files, for example. When
|
|
playing a DVD, the global TOC would contain a hierarchy of all titles,
|
|
chapters and angles, for example, while the current TOC would only contain
|
|
the chapters for the currently playing title if playback of a specific
|
|
title was requested.
|
|
|
|
Applications and plugins should not rely on TOCs having a certain kind of
|
|
structure, but should allow for different alternatives. For example, a
|
|
simple CUE sheet embedded in a file may be presented as a flat list of
|
|
track entries, or could have a top-level edition node (or some other
|
|
alternative type entry) with track entries underneath that node; or even
|
|
multiple top-level edition nodes (or some other alternative type entries)
|
|
each with track entries underneath, in case the source file has extracted
|
|
a track listing from different sources).</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_toc_new">
|
|
<doc xml:space="preserve">Create a new #GstToc structure.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">newly allocated #GstToc structure, free it
|
|
with gst_toc_unref().</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="scope" transfer-ownership="none">
|
|
<doc xml:space="preserve">scope of this TOC</doc>
|
|
<type name="TocScope" c:type="GstTocScope"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="append_entry" c:identifier="gst_toc_append_entry">
|
|
<doc xml:space="preserve">Appends the #GstTocEntry @entry to @toc.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstToc instance</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</instance-parameter>
|
|
<parameter name="entry" transfer-ownership="full">
|
|
<doc xml:space="preserve">A #GstTocEntry</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="dump" c:identifier="gst_toc_dump">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="find_entry" c:identifier="gst_toc_find_entry">
|
|
<doc xml:space="preserve">Find #GstTocEntry with given @uid in the @toc.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">#GstTocEntry with specified
|
|
@uid from the @toc, or %NULL if not found.</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstToc to search in.</doc>
|
|
<type name="Toc" c:type="const GstToc*"/>
|
|
</instance-parameter>
|
|
<parameter name="uid" transfer-ownership="none">
|
|
<doc xml:space="preserve">UID to find #GstTocEntry with.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_entries" c:identifier="gst_toc_get_entries">
|
|
<doc xml:space="preserve">Gets the list of #GstTocEntry of @toc.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GList of #GstTocEntry for @entry</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="TocEntry"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstToc instance</doc>
|
|
<type name="Toc" c:type="const GstToc*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_scope" c:identifier="gst_toc_get_scope">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">scope of @toc</doc>
|
|
<type name="TocScope" c:type="GstTocScope"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstToc instance</doc>
|
|
<type name="Toc" c:type="const GstToc*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tags" c:identifier="gst_toc_get_tags">
|
|
<doc xml:space="preserve">Gets the tags for @toc.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagList for @entry</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstToc instance</doc>
|
|
<type name="Toc" c:type="const GstToc*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_toc_merge_tags">
|
|
<doc xml:space="preserve">Merge @tags into the existing tags of @toc using @mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstToc instance</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstTagList or %NULL</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagMergeMode</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_tags" c:identifier="gst_toc_set_tags">
|
|
<doc xml:space="preserve">Set a #GstTagList with tags for the complete @toc.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="toc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstToc instance</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstTagList or %NULL</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="TocEntry" c:type="GstTocEntry" glib:type-name="GstTocEntry" glib:get-type="gst_toc_entry_get_type" c:symbol-prefix="toc_entry">
|
|
|
|
<constructor name="new" c:identifier="gst_toc_entry_new">
|
|
<doc xml:space="preserve">Create new #GstTocEntry structure.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref().</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">entry type.</doc>
|
|
<type name="TocEntryType" c:type="GstTocEntryType"/>
|
|
</parameter>
|
|
<parameter name="uid" transfer-ownership="none">
|
|
<doc xml:space="preserve">unique ID (UID) in the whole TOC.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="append_sub_entry" c:identifier="gst_toc_entry_append_sub_entry">
|
|
<doc xml:space="preserve">Appends the #GstTocEntry @subentry to @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="subentry" transfer-ownership="full">
|
|
<doc xml:space="preserve">A #GstTocEntry</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_entry_type" c:identifier="gst_toc_entry_get_entry_type">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@entry's entry type</doc>
|
|
<type name="TocEntryType" c:type="GstTocEntryType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocEntry</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_loop" c:identifier="gst_toc_entry_get_loop" version="1.4">
|
|
<doc xml:space="preserve">Get @loop_type and @repeat_count values from the @entry and write them into
|
|
appropriate storages. Loops are e.g. used by sampled instruments. GStreamer
|
|
is not automatically applying the loop. The application can process this
|
|
meta data and use it e.g. to send a seek-event to loop a section.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if all non-%NULL storage pointers were filled with appropriate
|
|
values, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstTocEntry to get values from.</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="loop_type" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the loop_type
|
|
value, leave %NULL if not need.</doc>
|
|
<type name="TocLoopType" c:type="GstTocLoopType*"/>
|
|
</parameter>
|
|
<parameter name="repeat_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the repeat_count
|
|
value, leave %NULL if not need.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_parent" c:identifier="gst_toc_entry_get_parent">
|
|
<doc xml:space="preserve">Gets the parent #GstTocEntry of @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The parent #GstTocEntry of @entry</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_start_stop_times" c:identifier="gst_toc_entry_get_start_stop_times">
|
|
<doc xml:space="preserve">Get @start and @stop values from the @entry and write them into appropriate
|
|
storages.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if all non-%NULL storage pointers were filled with appropriate
|
|
values, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstTocEntry to get values from.</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the start value, leave
|
|
%NULL if not need.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
<parameter name="stop" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the storage for the stop value, leave
|
|
%NULL if not need.</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_sub_entries" c:identifier="gst_toc_entry_get_sub_entries">
|
|
<doc xml:space="preserve">Gets the sub-entries of @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GList of #GstTocEntry of @entry</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="TocEntry"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tags" c:identifier="gst_toc_entry_get_tags">
|
|
<doc xml:space="preserve">Gets the tags for @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagList for @entry</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_toc" c:identifier="gst_toc_entry_get_toc">
|
|
<doc xml:space="preserve">Gets the parent #GstToc of @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The parent #GstToc of @entry</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uid" c:identifier="gst_toc_entry_get_uid">
|
|
<doc xml:space="preserve">Gets the UID of @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The UID of @entry</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_alternative" c:identifier="gst_toc_entry_is_alternative">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @entry's type is an alternative type, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocEntry</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_sequence" c:identifier="gst_toc_entry_is_sequence">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @entry's type is a sequence type, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocEntry</doc>
|
|
<type name="TocEntry" c:type="const GstTocEntry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_toc_entry_merge_tags">
|
|
<doc xml:space="preserve">Merge @tags into the existing tags of @entry using @mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstTagList or %NULL</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTagMergeMode</doc>
|
|
<type name="TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_loop" c:identifier="gst_toc_entry_set_loop" version="1.4">
|
|
<doc xml:space="preserve">Set @loop_type and @repeat_count values for the @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstTocEntry to set values.</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="loop_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">loop_type value to set.</doc>
|
|
<type name="TocLoopType" c:type="GstTocLoopType"/>
|
|
</parameter>
|
|
<parameter name="repeat_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">repeat_count value to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_start_stop_times" c:identifier="gst_toc_entry_set_start_stop_times">
|
|
<doc xml:space="preserve">Set @start and @stop values for the @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstTocEntry to set values.</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">start value to set.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="stop" transfer-ownership="none">
|
|
<doc xml:space="preserve">stop value to set.</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_tags" c:identifier="gst_toc_entry_set_tags">
|
|
<doc xml:space="preserve">Set a #GstTagList with tags for the complete @entry.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="entry" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTocEntry instance</doc>
|
|
<type name="TocEntry" c:type="GstTocEntry*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstTagList or %NULL</doc>
|
|
<type name="TagList" c:type="GstTagList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="TocEntryType" glib:type-name="GstTocEntryType" glib:get-type="gst_toc_entry_type_get_type" c:type="GstTocEntryType">
|
|
<doc xml:space="preserve">The different types of TOC entries (see #GstTocEntry).
|
|
|
|
There are two types of TOC entries: alternatives or parts in a sequence.</doc>
|
|
<member name="angle" value="-3" c:identifier="GST_TOC_ENTRY_TYPE_ANGLE" glib:nick="angle">
|
|
<doc xml:space="preserve">entry is an angle (i.e. an alternative)</doc>
|
|
</member>
|
|
<member name="version" value="-2" c:identifier="GST_TOC_ENTRY_TYPE_VERSION" glib:nick="version">
|
|
<doc xml:space="preserve">entry is a version (i.e. alternative)</doc>
|
|
</member>
|
|
<member name="edition" value="-1" c:identifier="GST_TOC_ENTRY_TYPE_EDITION" glib:nick="edition">
|
|
<doc xml:space="preserve">entry is an edition (i.e. alternative)</doc>
|
|
</member>
|
|
<member name="invalid" value="0" c:identifier="GST_TOC_ENTRY_TYPE_INVALID" glib:nick="invalid">
|
|
<doc xml:space="preserve">invalid entry type value</doc>
|
|
</member>
|
|
<member name="title" value="1" c:identifier="GST_TOC_ENTRY_TYPE_TITLE" glib:nick="title">
|
|
<doc xml:space="preserve">entry is a title (i.e. a part of a sequence)</doc>
|
|
</member>
|
|
<member name="track" value="2" c:identifier="GST_TOC_ENTRY_TYPE_TRACK" glib:nick="track">
|
|
<doc xml:space="preserve">entry is a track (i.e. a part of a sequence)</doc>
|
|
</member>
|
|
<member name="chapter" value="3" c:identifier="GST_TOC_ENTRY_TYPE_CHAPTER" glib:nick="chapter">
|
|
<doc xml:space="preserve">entry is a chapter (i.e. a part of a sequence)</doc>
|
|
</member>
|
|
<function name="get_nick" c:identifier="gst_toc_entry_type_get_nick">
|
|
<doc xml:space="preserve">Converts @type to a string representation.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Returns a human-readable string for @type. This string is
|
|
only for debugging purpose and should not be displayed in a user
|
|
interface.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocEntryType.</doc>
|
|
<type name="TocEntryType" c:type="GstTocEntryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="TocLoopType" version="1.4" glib:type-name="GstTocLoopType" glib:get-type="gst_toc_loop_type_get_type" c:type="GstTocLoopType">
|
|
<doc xml:space="preserve">How a #GstTocEntry should be repeated. By default, entries are played a
|
|
single time.</doc>
|
|
<member name="none" value="0" c:identifier="GST_TOC_LOOP_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">single forward playback</doc>
|
|
</member>
|
|
<member name="forward" value="1" c:identifier="GST_TOC_LOOP_FORWARD" glib:nick="forward">
|
|
<doc xml:space="preserve">repeat forward</doc>
|
|
</member>
|
|
<member name="reverse" value="2" c:identifier="GST_TOC_LOOP_REVERSE" glib:nick="reverse">
|
|
<doc xml:space="preserve">repeat backward</doc>
|
|
</member>
|
|
<member name="ping_pong" value="3" c:identifier="GST_TOC_LOOP_PING_PONG" glib:nick="ping-pong">
|
|
<doc xml:space="preserve">repeat forward and backward</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="TocScope" glib:type-name="GstTocScope" glib:get-type="gst_toc_scope_get_type" c:type="GstTocScope">
|
|
<doc xml:space="preserve">The scope of a TOC.</doc>
|
|
<member name="global" value="1" c:identifier="GST_TOC_SCOPE_GLOBAL" glib:nick="global">
|
|
<doc xml:space="preserve">global TOC representing all selectable options
|
|
(this is what applications are usually interested in)</doc>
|
|
</member>
|
|
<member name="current" value="2" c:identifier="GST_TOC_SCOPE_CURRENT" glib:nick="current">
|
|
<doc xml:space="preserve">TOC for the currently active/selected stream
|
|
(this is a TOC representing the current stream from start to EOS,
|
|
and is what a TOC writer / muxer is usually interested in; it will
|
|
usually be a subset of the global TOC, e.g. just the chapters of
|
|
the current title, or the chapters selected for playback from the
|
|
current title)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<interface name="TocSetter" c:symbol-prefix="toc_setter" c:type="GstTocSetter" glib:type-name="GstTocSetter" glib:get-type="gst_toc_setter_get_type" glib:type-struct="TocSetterInterface">
|
|
<doc xml:space="preserve">Element interface that allows setting of the TOC.
|
|
|
|
Elements that support some kind of chapters or editions (or tracks like in
|
|
the FLAC cue sheet) will implement this interface.
|
|
|
|
If you just want to retrieve the TOC in your application then all you
|
|
need to do is watch for TOC messages on your pipeline's bus (or you can
|
|
perform TOC query). This interface is only for setting TOC data, not for
|
|
extracting it. To set TOC from the application, find proper tocsetter element
|
|
and set TOC using gst_toc_setter_set_toc().
|
|
|
|
Elements implementing the #GstTocSetter interface can extend existing TOC
|
|
by getting extend UID for that (you can use gst_toc_find_entry() to retrieve it)
|
|
with any TOC entries received from downstream.</doc>
|
|
|
|
<prerequisite name="Element"/>
|
|
<method name="get_toc" c:identifier="gst_toc_setter_get_toc">
|
|
<doc xml:space="preserve">Return current TOC the setter uses. The TOC should not be
|
|
modified without making it writable first.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">TOC set, or %NULL. Unref with
|
|
gst_toc_unref() when no longer needed</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocSetter.</doc>
|
|
<type name="TocSetter" c:type="GstTocSetter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="reset" c:identifier="gst_toc_setter_reset">
|
|
<doc xml:space="preserve">Reset the internal TOC. Elements should call this from within the
|
|
state-change handler.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocSetter.</doc>
|
|
<type name="TocSetter" c:type="GstTocSetter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_toc" c:identifier="gst_toc_setter_set_toc">
|
|
<doc xml:space="preserve">Set the given TOC on the setter. Previously set TOC will be
|
|
unreffed before setting a new one.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="setter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocSetter.</doc>
|
|
<type name="TocSetter" c:type="GstTocSetter*"/>
|
|
</instance-parameter>
|
|
<parameter name="toc" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstToc to set.</doc>
|
|
<type name="Toc" c:type="GstToc*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="TocSetterInterface" c:type="GstTocSetterInterface" glib:is-gtype-struct-for="TocSetter">
|
|
<doc xml:space="preserve">#GstTocSetterInterface interface.</doc>
|
|
|
|
<field name="g_iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
</record>
|
|
<class name="Tracer" c:symbol-prefix="tracer" c:type="GstTracer" version="1.8" parent="Object" abstract="1" glib:type-name="GstTracer" glib:get-type="gst_tracer_get_type" glib:type-struct="TracerClass">
|
|
<doc xml:space="preserve">Tracing modules will subclass #GstTracer and register through
|
|
gst_tracer_register(). Modules can attach to various hook-types - see
|
|
gst_tracing_register_hook(). When invoked they receive hook specific
|
|
contextual data, which they must not modify.</doc>
|
|
|
|
<function name="register" c:identifier="gst_tracer_register">
|
|
<doc xml:space="preserve">Create a new tracer-factory capable of instantiating objects of the
|
|
@type and add the factory to @plugin.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the registering succeeded, %FALSE on error</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstPlugin, or %NULL for a static typefind function</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name for registering</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">GType of tracer to register</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<property name="params" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="Object" c:type="GstObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TracerPrivate" c:type="GstTracerPrivate*"/>
|
|
</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="TracerClass" c:type="GstTracerClass" glib:is-gtype-struct-for="Tracer">
|
|
|
|
<field name="parent_class">
|
|
<type name="ObjectClass" c:type="GstObjectClass"/>
|
|
</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>
|
|
<class name="TracerFactory" c:symbol-prefix="tracer_factory" c:type="GstTracerFactory" version="1.8" parent="PluginFeature" glib:type-name="GstTracerFactory" glib:get-type="gst_tracer_factory_get_type" glib:type-struct="TracerFactoryClass">
|
|
<doc xml:space="preserve">Use gst_tracer_factory_get_list() to get a list of tracer factories known to
|
|
GStreamer.</doc>
|
|
|
|
<function name="get_list" c:identifier="gst_tracer_factory_get_list" version="1.8">
|
|
<doc xml:space="preserve">Gets the list of all registered tracer factories. You must free the
|
|
list using gst_plugin_feature_list_free().
|
|
|
|
The returned factories are sorted by factory name.
|
|
|
|
Free-function: gst_plugin_feature_list_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the list of all
|
|
registered #GstTracerFactory.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="TracerFactory"/>
|
|
</type>
|
|
</return-value>
|
|
</function>
|
|
<method name="get_tracer_type" c:identifier="gst_tracer_factory_get_tracer_type" version="1.14">
|
|
<doc xml:space="preserve">Get the #GType for elements managed by this factory. The type can
|
|
only be retrieved if the element factory is loaded, which can be
|
|
assured with gst_plugin_feature_load().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType for tracers managed by this factory or 0 if
|
|
the factory is not loaded.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">factory to get managed #GType from</doc>
|
|
<type name="TracerFactory" c:type="GstTracerFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="TracerFactoryClass" c:type="GstTracerFactoryClass" disguised="1" glib:is-gtype-struct-for="TracerFactory">
|
|
|
|
</record>
|
|
<record name="TracerPrivate" c:type="GstTracerPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="TracerRecord" c:symbol-prefix="tracer_record" c:type="GstTracerRecord" version="1.8" parent="Object" glib:type-name="GstTracerRecord" glib:get-type="gst_tracer_record_get_type" glib:type-struct="TracerRecordClass">
|
|
<doc xml:space="preserve">Tracing modules will create instances of this class to announce the data they
|
|
will log and create a log formatter.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_tracer_record_new" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Create a new tracer record. The record instance can be used to efficiently
|
|
log entries using gst_tracer_record_log().
|
|
|
|
The @name without the ".class" suffix will be used for the log records.
|
|
There must be fields for each value that gets logged where the field name is
|
|
the value name. The field must be a #GstStructure describing the value. The
|
|
sub structure must contain a field called 'type' of %G_TYPE_GTYPE that
|
|
contains the GType of the value. The resulting #GstTracerRecord will take
|
|
ownership of the field structures.
|
|
|
|
The way to deal with optional values is to log an additional boolean before
|
|
the optional field, that if %TRUE signals that the optional field is valid
|
|
and %FALSE signals that the optional field should be ignored. One must still
|
|
log a placeholder value for the optional field though. Please also note, that
|
|
pointer type values must not be NULL - the underlying serialisation can not
|
|
handle that right now.
|
|
|
|
> Please note that this is still under discussion and subject to change.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstTracerRecord</doc>
|
|
<type name="TracerRecord" c:type="GstTracerRecord*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of new record, must end on ".class".</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="firstfield" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of first field to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional arguments</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="log" c:identifier="gst_tracer_record_log" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Serialzes the trace event into the log.
|
|
|
|
Right now this is using the gstreamer debug log with the level TRACE (7) and
|
|
the category "GST_TRACER".
|
|
|
|
> Please note that this is still under discussion and subject to change.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tracer-record</doc>
|
|
<type name="TracerRecord" c:type="GstTracerRecord*"/>
|
|
</instance-parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the args as described in the spec-</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="TracerRecordClass" c:type="GstTracerRecordClass" disguised="1" glib:is-gtype-struct-for="TracerRecord">
|
|
|
|
</record>
|
|
<bitfield name="TracerValueFlags" glib:type-name="GstTracerValueFlags" glib:get-type="gst_tracer_value_flags_get_type" c:type="GstTracerValueFlags">
|
|
<doc xml:space="preserve">Flag that describe the value. These flags help applications processing the
|
|
logs to understand the values.</doc>
|
|
<member name="none" value="0" c:identifier="GST_TRACER_VALUE_FLAGS_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="optional" value="1" c:identifier="GST_TRACER_VALUE_FLAGS_OPTIONAL" glib:nick="optional">
|
|
<doc xml:space="preserve">the value is optional. When using this flag
|
|
one need to have an additional boolean arg before this value in the
|
|
var-args list passed to gst_tracer_record_log().</doc>
|
|
</member>
|
|
<member name="aggregated" value="2" c:identifier="GST_TRACER_VALUE_FLAGS_AGGREGATED" glib:nick="aggregated">
|
|
<doc xml:space="preserve">the value is a combined figure, since the
|
|
start of tracing. Examples are averages or timestamps.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="TracerValueScope" version="1.8" glib:type-name="GstTracerValueScope" glib:get-type="gst_tracer_value_scope_get_type" c:type="GstTracerValueScope">
|
|
<doc xml:space="preserve">Tracing record will contain fields that contain a measured value or extra
|
|
meta-data. One such meta data are values that tell where a measurement was
|
|
taken. This enumerating declares to which scope such a meta data field
|
|
relates to. If it is e.g. %GST_TRACER_VALUE_SCOPE_PAD, then each of the log
|
|
events may contain values for different #GstPads.</doc>
|
|
<member name="process" value="0" c:identifier="GST_TRACER_VALUE_SCOPE_PROCESS" glib:nick="process">
|
|
<doc xml:space="preserve">the value is related to the process</doc>
|
|
</member>
|
|
<member name="thread" value="1" c:identifier="GST_TRACER_VALUE_SCOPE_THREAD" glib:nick="thread">
|
|
<doc xml:space="preserve">the value is related to a thread</doc>
|
|
</member>
|
|
<member name="element" value="2" c:identifier="GST_TRACER_VALUE_SCOPE_ELEMENT" glib:nick="element">
|
|
<doc xml:space="preserve">the value is related to an #GstElement</doc>
|
|
</member>
|
|
<member name="pad" value="3" c:identifier="GST_TRACER_VALUE_SCOPE_PAD" glib:nick="pad">
|
|
<doc xml:space="preserve">the value is related to a #GstPad</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="TypeFind" c:type="GstTypeFind">
|
|
<doc xml:space="preserve">The following functions allow you to detect the media type of an unknown
|
|
stream.</doc>
|
|
|
|
<field name="peek">
|
|
<callback name="peek">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="guint8" c:type="const guint8*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="suggest">
|
|
<callback name="suggest">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="probability" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">The data used by the caller of the typefinding function.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="get_length">
|
|
<callback name="get_length">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="get_length" c:identifier="gst_type_find_get_length">
|
|
<doc xml:space="preserve">Get the length of the data stream.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The length of the data stream, or 0 if it is not available.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="find" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTypeFind the function was called with</doc>
|
|
<type name="TypeFind" c:type="GstTypeFind*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="peek" c:identifier="gst_type_find_peek">
|
|
<doc xml:space="preserve">Returns the @size bytes of the stream to identify beginning at offset. If
|
|
offset is a positive number, the offset is relative to the beginning of the
|
|
stream, if offset is a negative number the offset is relative to the end of
|
|
the stream. The returned memory is valid until the typefinding function
|
|
returns and must not be freed.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the
|
|
requested data, or %NULL if that data is not available.</doc>
|
|
<array length="1" zero-terminated="0" c:type="const guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="find" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTypeFind object the function was called with</doc>
|
|
<type name="TypeFind" c:type="GstTypeFind*"/>
|
|
</instance-parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The offset</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">The number of bytes to return</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="suggest" c:identifier="gst_type_find_suggest">
|
|
<doc xml:space="preserve">If a #GstTypeFindFunction calls this function it suggests the caps with the
|
|
given probability. A #GstTypeFindFunction may supply different suggestions
|
|
in one call.
|
|
It is up to the caller of the #GstTypeFindFunction to interpret these values.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="find" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTypeFind object the function was called with</doc>
|
|
<type name="TypeFind" c:type="GstTypeFind*"/>
|
|
</instance-parameter>
|
|
<parameter name="probability" transfer-ownership="none">
|
|
<doc xml:space="preserve">The probability in percent that the suggestion is right</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">The fixed #GstCaps to suggest</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="suggest_simple" c:identifier="gst_type_find_suggest_simple" introspectable="0">
|
|
<doc xml:space="preserve">If a #GstTypeFindFunction calls this function it suggests the caps with the
|
|
given probability. A #GstTypeFindFunction may supply different suggestions
|
|
in one call. It is up to the caller of the #GstTypeFindFunction to interpret
|
|
these values.
|
|
|
|
This function is similar to gst_type_find_suggest(), only that instead of
|
|
passing a #GstCaps argument you can create the caps on the fly in the same
|
|
way as you can with gst_caps_new_simple().
|
|
|
|
Make sure you terminate the list of arguments with a %NULL argument and that
|
|
the values passed have the correct type (in terms of width in bytes when
|
|
passed to the vararg function - this applies particularly to gdouble and
|
|
guint64 arguments).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="find" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstTypeFind object the function was called with</doc>
|
|
<type name="TypeFind" c:type="GstTypeFind*"/>
|
|
</instance-parameter>
|
|
<parameter name="probability" transfer-ownership="none">
|
|
<doc xml:space="preserve">The probability in percent that the suggestion is right</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="media_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the media type of the suggested caps</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="fieldname" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">first field of the suggested caps, or %NULL</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional arguments to the suggested caps in the same format as the
|
|
arguments passed to gst_structure_new() (ie. triplets of field name,
|
|
field GType and field value)</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="register" c:identifier="gst_type_find_register">
|
|
<doc xml:space="preserve">Registers a new typefind function to be used for typefinding. After
|
|
registering this function will be available for typefinding.
|
|
This function is typically called during an element's plugin initialization.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstPlugin, or %NULL for a static typefind function</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name for registering</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="rank" transfer-ownership="none">
|
|
<doc xml:space="preserve">The rank (or importance) of this typefind function</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="6" destroy="7">
|
|
<doc xml:space="preserve">The #GstTypeFindFunction to use</doc>
|
|
<type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
|
|
</parameter>
|
|
<parameter name="extensions" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Optional comma-separated list of extensions
|
|
that could belong to this type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="possible_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">Optionally the caps that could be returned when typefinding
|
|
succeeds</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Optional user data. This user data must be available until the plugin
|
|
is unloaded.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="data_notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GDestroyNotify that will be called on @data when the plugin
|
|
is unloaded.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<class name="TypeFindFactory" c:symbol-prefix="type_find_factory" c:type="GstTypeFindFactory" parent="PluginFeature" glib:type-name="GstTypeFindFactory" glib:get-type="gst_type_find_factory_get_type" glib:type-struct="TypeFindFactoryClass">
|
|
<doc xml:space="preserve">These functions allow querying information about registered typefind
|
|
functions. How to create and register these functions is described in
|
|
the section <link linkend="gstreamer-Writing-typefind-functions">
|
|
"Writing typefind functions"</link>.
|
|
|
|
The following example shows how to write a very simple typefinder that
|
|
identifies the given data. You can get quite a bit more complicated than
|
|
that though.
|
|
|[<!-- language="C" -->
|
|
typedef struct {
|
|
guint8 *data;
|
|
guint size;
|
|
guint probability;
|
|
GstCaps *data;
|
|
} MyTypeFind;
|
|
static void
|
|
my_peek (gpointer data, gint64 offset, guint size)
|
|
{
|
|
MyTypeFind *find = (MyTypeFind *) data;
|
|
if (offset &gt;= 0 &amp;&amp; offset + size &lt;= find->size) {
|
|
return find->data + offset;
|
|
}
|
|
return NULL;
|
|
}
|
|
static void
|
|
my_suggest (gpointer data, guint probability, GstCaps *caps)
|
|
{
|
|
MyTypeFind *find = (MyTypeFind *) data;
|
|
if (probability &gt; find->probability) {
|
|
find->probability = probability;
|
|
gst_caps_replace (&amp;find->caps, caps);
|
|
}
|
|
}
|
|
static GstCaps *
|
|
find_type (guint8 *data, guint size)
|
|
{
|
|
GList *walk, *type_list;
|
|
MyTypeFind find = {data, size, 0, NULL};
|
|
GstTypeFind gst_find = {my_peek, my_suggest, &amp;find, };
|
|
walk = type_list = gst_type_find_factory_get_list ();
|
|
while (walk) {
|
|
GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data);
|
|
walk = g_list_next (walk)
|
|
gst_type_find_factory_call_function (factory, &amp;gst_find);
|
|
}
|
|
g_list_free (type_list);
|
|
return find.caps;
|
|
};
|
|
]|</doc>
|
|
|
|
<function name="get_list" c:identifier="gst_type_find_factory_get_list">
|
|
<doc xml:space="preserve">Gets the list of all registered typefind factories. You must free the
|
|
list using gst_plugin_feature_list_free().
|
|
|
|
The returned factories are sorted by highest rank first, and then by
|
|
factory name.
|
|
|
|
Free-function: gst_plugin_feature_list_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the list of all
|
|
registered #GstTypeFindFactory.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="TypeFindFactory"/>
|
|
</type>
|
|
</return-value>
|
|
</function>
|
|
<method name="call_function" c:identifier="gst_type_find_factory_call_function">
|
|
<doc xml:space="preserve">Calls the #GstTypeFindFunction associated with this factory.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTypeFindFactory</doc>
|
|
<type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
|
|
</instance-parameter>
|
|
<parameter name="find" transfer-ownership="none">
|
|
<doc xml:space="preserve">a properly setup #GstTypeFind entry. The get_data
|
|
and suggest_type members must be set.</doc>
|
|
<type name="TypeFind" c:type="GstTypeFind*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_caps" c:identifier="gst_type_find_factory_get_caps">
|
|
<doc xml:space="preserve">Gets the #GstCaps associated with a typefind factory.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps associated with this factory</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTypeFindFactory</doc>
|
|
<type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_extensions" c:identifier="gst_type_find_factory_get_extensions">
|
|
<doc xml:space="preserve">Gets the extensions associated with a #GstTypeFindFactory. The returned
|
|
array should not be changed. If you need to change stuff in it, you should
|
|
copy it using g_strdupv(). This function may return %NULL to indicate
|
|
a 0-length list.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">
|
|
a %NULL-terminated array of extensions associated with this factory</doc>
|
|
<array c:type="const gchar* const*">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTypeFindFactory</doc>
|
|
<type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_function" c:identifier="gst_type_find_factory_has_function">
|
|
<doc xml:space="preserve">Check whether the factory has a typefind function. Typefind factories
|
|
without typefind functions are a last-effort fallback mechanism to
|
|
e.g. assume a certain media type based on the file extension.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the factory has a typefind functions set, otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="factory" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTypeFindFactory</doc>
|
|
<type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="TypeFindFactoryClass" c:type="GstTypeFindFactoryClass" disguised="1" glib:is-gtype-struct-for="TypeFindFactory">
|
|
|
|
</record>
|
|
<callback name="TypeFindFunction" c:type="GstTypeFindFunction">
|
|
<doc xml:space="preserve">A function that will be called by typefinding.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="find" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstTypeFind structure</doc>
|
|
<type name="TypeFind" c:type="GstTypeFind*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">optional data to pass to the function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<enumeration name="TypeFindProbability" glib:type-name="GstTypeFindProbability" glib:get-type="gst_type_find_probability_get_type" c:type="GstTypeFindProbability">
|
|
<doc xml:space="preserve">The probability of the typefind function. Higher values have more certainty
|
|
in doing a reliable typefind.</doc>
|
|
<member name="none" value="0" c:identifier="GST_TYPE_FIND_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">type undetected.</doc>
|
|
</member>
|
|
<member name="minimum" value="1" c:identifier="GST_TYPE_FIND_MINIMUM" glib:nick="minimum">
|
|
<doc xml:space="preserve">unlikely typefind.</doc>
|
|
</member>
|
|
<member name="possible" value="50" c:identifier="GST_TYPE_FIND_POSSIBLE" glib:nick="possible">
|
|
<doc xml:space="preserve">possible type detected.</doc>
|
|
</member>
|
|
<member name="likely" value="80" c:identifier="GST_TYPE_FIND_LIKELY" glib:nick="likely">
|
|
<doc xml:space="preserve">likely a type was detected.</doc>
|
|
</member>
|
|
<member name="nearly_certain" value="99" c:identifier="GST_TYPE_FIND_NEARLY_CERTAIN" glib:nick="nearly-certain">
|
|
<doc xml:space="preserve">nearly certain that a type was detected.</doc>
|
|
</member>
|
|
<member name="maximum" value="100" c:identifier="GST_TYPE_FIND_MAXIMUM" glib:nick="maximum">
|
|
<doc xml:space="preserve">very certain a type was detected.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="URI" c:identifier="GST_URI" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="URIError" glib:type-name="GstURIError" glib:get-type="gst_uri_error_get_type" c:type="GstURIError" glib:error-domain="gst-uri-error-quark">
|
|
<doc xml:space="preserve">Different URI-related errors that can occur.</doc>
|
|
<member name="unsupported_protocol" value="0" c:identifier="GST_URI_ERROR_UNSUPPORTED_PROTOCOL" glib:nick="unsupported-protocol">
|
|
<doc xml:space="preserve">The protocol is not supported</doc>
|
|
</member>
|
|
<member name="bad_uri" value="1" c:identifier="GST_URI_ERROR_BAD_URI" glib:nick="bad-uri">
|
|
<doc xml:space="preserve">There was a problem with the URI</doc>
|
|
</member>
|
|
<member name="bad_state" value="2" c:identifier="GST_URI_ERROR_BAD_STATE" glib:nick="bad-state">
|
|
<doc xml:space="preserve">Could not set or change the URI because the
|
|
URI handler was in a state where that is not possible or not permitted</doc>
|
|
</member>
|
|
<member name="bad_reference" value="3" c:identifier="GST_URI_ERROR_BAD_REFERENCE" glib:nick="bad-reference">
|
|
<doc xml:space="preserve">There was a problem with the entity that
|
|
the URI references</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="gst_uri_error_quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<interface name="URIHandler" c:symbol-prefix="uri_handler" c:type="GstURIHandler" glib:type-name="GstURIHandler" glib:get-type="gst_uri_handler_get_type" glib:type-struct="URIHandlerInterface">
|
|
<doc xml:space="preserve">The #GstURIHandler is an interface that is implemented by Source and Sink
|
|
#GstElement to unify handling of URI.
|
|
|
|
An application can use the following functions to quickly get an element
|
|
that handles the given URI for reading or writing
|
|
(gst_element_make_from_uri()).
|
|
|
|
Source and Sink plugins should implement this interface when possible.</doc>
|
|
|
|
<virtual-method name="get_uri" invoker="get_uri">
|
|
<doc xml:space="preserve">Gets the currently handled URI.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the URI currently handled by
|
|
the @handler. Returns %NULL if there are no URI currently
|
|
handled. The returned string must be freed with g_free() when no
|
|
longer needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_uri" invoker="set_uri" throws="1">
|
|
<doc xml:space="preserve">Tries to set the URI of the given handler.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the URI was set successfully, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">URI to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_protocols" c:identifier="gst_uri_handler_get_protocols">
|
|
<doc xml:space="preserve">Gets the list of protocols supported by @handler. This list may not be
|
|
modified.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the
|
|
supported protocols. Returns %NULL if the @handler isn't
|
|
implemented properly, or the @handler doesn't support any
|
|
protocols.</doc>
|
|
<array c:type="const gchar* const*">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler.</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uri" c:identifier="gst_uri_handler_get_uri">
|
|
<doc xml:space="preserve">Gets the currently handled URI.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the URI currently handled by
|
|
the @handler. Returns %NULL if there are no URI currently
|
|
handled. The returned string must be freed with g_free() when no
|
|
longer needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_uri_type" c:identifier="gst_uri_handler_get_uri_type">
|
|
<doc xml:space="preserve">Gets the type of the given URI handler</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstURIType of the URI handler.
|
|
Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly.</doc>
|
|
<type name="URIType" c:type="GstURIType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler.</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_uri" c:identifier="gst_uri_handler_set_uri" throws="1">
|
|
<doc xml:space="preserve">Tries to set the URI of the given handler.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the URI was set successfully, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">URI to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="URIHandlerInterface" c:type="GstURIHandlerInterface" glib:is-gtype-struct-for="URIHandler">
|
|
<doc xml:space="preserve">Any #GstElement using this interface should implement these methods.</doc>
|
|
|
|
<field name="parent">
|
|
<doc xml:space="preserve">The parent interface type</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="get_type">
|
|
<callback name="get_type">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="URIType" c:type="GstURIType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_protocols">
|
|
<callback name="get_protocols">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<array c:type="const gchar* const*">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_uri">
|
|
<callback name="get_uri">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the URI currently handled by
|
|
the @handler. Returns %NULL if there are no URI currently
|
|
handled. The returned string must be freed with g_free() when no
|
|
longer needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_uri">
|
|
<callback name="set_uri" throws="1">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the URI was set successfully, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="handler" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstURIHandler</doc>
|
|
<type name="URIHandler" c:type="GstURIHandler*"/>
|
|
</parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">URI to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<enumeration name="URIType" glib:type-name="GstURIType" glib:get-type="gst_uri_type_get_type" c:type="GstURIType">
|
|
<doc xml:space="preserve">The different types of URI direction.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_URI_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">The URI direction is unknown</doc>
|
|
</member>
|
|
<member name="sink" value="1" c:identifier="GST_URI_SINK" glib:nick="sink">
|
|
<doc xml:space="preserve">The URI is a consumer.</doc>
|
|
</member>
|
|
<member name="src" value="2" c:identifier="GST_URI_SRC" glib:nick="src">
|
|
<doc xml:space="preserve">The URI is a producer.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="URI_CAST" c:identifier="GST_URI_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="URI_CONST_CAST" c:identifier="GST_URI_CONST_CAST" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="URI_HANDLER" c:identifier="GST_URI_HANDLER" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="URI_HANDLER_GET_INTERFACE" c:identifier="GST_URI_HANDLER_GET_INTERFACE" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="URI_NO_PORT" value="0" c:type="GST_URI_NO_PORT">
|
|
<doc xml:space="preserve">Value for #GstUri<!-- -->.port to indicate no port number.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="URI_TYPE_IS_VALID" c:identifier="GST_URI_TYPE_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the type direction is valid.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="type">
|
|
<doc xml:space="preserve">A #GstURIType</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="USECOND" value="1000" c:type="GST_USECOND">
|
|
<doc xml:space="preserve">Constant that defines one GStreamer microsecond.</doc>
|
|
|
|
<type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</constant>
|
|
<record name="Uri" c:type="GstUri" glib:type-name="GstUri" glib:get-type="gst_uri_get_type" c:symbol-prefix="uri">
|
|
<doc xml:space="preserve">A #GstUri object can be used to parse and split a URI string into its
|
|
constituent parts. Two #GstUri objects can be joined to make a new #GstUri
|
|
using the algorithm described in RFC3986.</doc>
|
|
|
|
<constructor name="new" c:identifier="gst_uri_new" version="1.6">
|
|
<doc xml:space="preserve">Creates a new #GstUri object with the given URI parts. The path and query
|
|
strings will be broken down into their elements. All strings should not be
|
|
escaped except where indicated.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A new #GstUri object.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="scheme" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The scheme for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="userinfo" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The user-info for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="host" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The host name for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="port" transfer-ownership="none">
|
|
<doc xml:space="preserve">The port number for the new URI or %GST_URI_NO_PORT.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="path" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The path for the new URI with '/' separating path
|
|
elements.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The query string for the new URI with '&' separating
|
|
query elements. Elements containing '&' characters
|
|
should encode them as "&percnt;26".</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="fragment" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The fragment name for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="append_path" c:identifier="gst_uri_append_path" version="1.6">
|
|
<doc xml:space="preserve">Append a path onto the end of the path in the URI. The path is not
|
|
normalized, call #gst_uri_normalize() to normalize the path.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the path was appended successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="relative_path" transfer-ownership="none">
|
|
<doc xml:space="preserve">Relative path to append to the end of the current path.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="append_path_segment" c:identifier="gst_uri_append_path_segment" version="1.6">
|
|
<doc xml:space="preserve">Append a single path segment onto the end of the URI path.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the path was appended successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="path_segment" transfer-ownership="none">
|
|
<doc xml:space="preserve">The path segment string to append to the URI path.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="equal" c:identifier="gst_uri_equal" version="1.6">
|
|
<doc xml:space="preserve">Compares two #GstUri objects to see if they represent the same normalized
|
|
URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the normalized versions of the two URI's would be equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="first" transfer-ownership="none">
|
|
<doc xml:space="preserve">First #GstUri to compare.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="second" transfer-ownership="none">
|
|
<doc xml:space="preserve">Second #GstUri to compare.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="from_string_with_base" c:identifier="gst_uri_from_string_with_base" version="1.6">
|
|
<doc xml:space="preserve">Like gst_uri_from_string() but also joins with a base URI.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A new #GstUri object.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="base" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The base URI to join the new URI with.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The URI string to parse.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_fragment" c:identifier="gst_uri_get_fragment" version="1.6">
|
|
<doc xml:space="preserve">Get the fragment name from the URI or %NULL if it doesn't exist.
|
|
If @uri is %NULL then returns %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The host name from the #GstUri object or %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">This #GstUri object.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_host" c:identifier="gst_uri_get_host" version="1.6">
|
|
<doc xml:space="preserve">Get the host name from the URI or %NULL if it doesn't exist.
|
|
If @uri is %NULL then returns %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The host name from the #GstUri object or %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">This #GstUri object.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_media_fragment_table" c:identifier="gst_uri_get_media_fragment_table" version="1.12">
|
|
<doc xml:space="preserve">Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0".
|
|
Hash table returned by this API is a list of "key-value" pairs, and the each
|
|
pair is generated by splitting "URI fragment" per "&" sub-delims, then "key"
|
|
and "value" are split by "=" sub-delims. The "key" returned by this API may
|
|
be undefined keyword by standard.
|
|
A value may be %NULL to indicate that the key should appear in the fragment
|
|
string in the URI, but does not have a value. Free the returned #GHashTable
|
|
with #g_hash_table_unref() when it is no longer required.
|
|
Modifying this hash table does not affect the fragment in the URI.
|
|
|
|
See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The
|
|
fragment hash table from the URI.</doc>
|
|
<type name="GLib.HashTable" c:type="GHashTable*">
|
|
<type name="utf8"/>
|
|
<type name="utf8"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to get the fragment table from.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_path" c:identifier="gst_uri_get_path" version="1.6">
|
|
<doc xml:space="preserve">Extract the path string from the URI object.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The path from the URI. Once finished
|
|
with the string should be g_free()'d.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstUri to get the path from.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_path_segments" c:identifier="gst_uri_get_path_segments" version="1.6">
|
|
<doc xml:space="preserve">Get a list of path segments from the URI.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A #GList of path segment
|
|
strings or %NULL if no path segments are available. Free the list
|
|
when no longer needed with g_list_free_full(list, g_free).</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="utf8"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to get the path from.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_path_string" c:identifier="gst_uri_get_path_string" version="1.6">
|
|
<doc xml:space="preserve">Extract the path string from the URI object as a percent encoded URI path.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The path from the URI. Once finished
|
|
with the string should be g_free()'d.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstUri to get the path from.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_port" c:identifier="gst_uri_get_port" version="1.6">
|
|
<doc xml:space="preserve">Get the port number from the URI or %GST_URI_NO_PORT if it doesn't exist.
|
|
If @uri is %NULL then returns %GST_URI_NO_PORT.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The port number from the #GstUri object or %GST_URI_NO_PORT.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">This #GstUri object.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_query_keys" c:identifier="gst_uri_get_query_keys" version="1.6">
|
|
<doc xml:space="preserve">Get a list of the query keys from the URI.</doc>
|
|
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">A list of keys from
|
|
the URI query. Free the list with g_list_free().</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="utf8"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to examine.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_query_string" c:identifier="gst_uri_get_query_string" version="1.6">
|
|
<doc xml:space="preserve">Get a percent encoded URI query string from the @uri.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A percent encoded query string. Use
|
|
g_free() when no longer needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to get the query string from.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_query_table" c:identifier="gst_uri_get_query_table" version="1.6">
|
|
<doc xml:space="preserve">Get the query table from the URI. Keys and values in the table are freed
|
|
with g_free when they are deleted. A value may be %NULL to indicate that
|
|
the key should appear in the query string in the URI, but does not have a
|
|
value. Free the returned #GHashTable with #g_hash_table_unref() when it is
|
|
no longer required. Modifying this hash table will modify the query in the
|
|
URI.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The query
|
|
hash table from the URI.</doc>
|
|
<type name="GLib.HashTable" c:type="GHashTable*">
|
|
<type name="utf8"/>
|
|
<type name="utf8"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to get the query table from.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_query_value" c:identifier="gst_uri_get_query_value" version="1.6">
|
|
<doc xml:space="preserve">Get the value associated with the @query_key key. Will return %NULL if the
|
|
key has no value or if the key does not exist in the URI query table. Because
|
|
%NULL is returned for both missing keys and keys with no value, you should
|
|
use gst_uri_query_has_key() to determine if a key is present in the URI
|
|
query.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The value for the given key, or %NULL if not found.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to examine.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="query_key" transfer-ownership="none">
|
|
<doc xml:space="preserve">The key to lookup.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_scheme" c:identifier="gst_uri_get_scheme">
|
|
<doc xml:space="preserve">Get the scheme name from the URI or %NULL if it doesn't exist.
|
|
If @uri is %NULL then returns %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The scheme from the #GstUri object or %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">This #GstUri object.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_userinfo" c:identifier="gst_uri_get_userinfo" version="1.6">
|
|
<doc xml:space="preserve">Get the userinfo (usually in the form "username:password") from the URI
|
|
or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The userinfo from the #GstUri object or %NULL.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">This #GstUri object.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_normalized" c:identifier="gst_uri_is_normalized" version="1.6">
|
|
<doc xml:space="preserve">Tests the @uri to see if it is normalized. A %NULL @uri is considered to be
|
|
normalized.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the URI is normalized or is %NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstUri to test to see if it is normalized.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_writable" c:identifier="gst_uri_is_writable" version="1.6">
|
|
<doc xml:space="preserve">Check if it is safe to write to this #GstUri.
|
|
|
|
Check if the refcount of @uri is exactly 1, meaning that no other
|
|
reference exists to the #GstUri and that the #GstUri is therefore writable.
|
|
|
|
Modification of a #GstUri should only be done after verifying that it is
|
|
writable.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if it is safe to write to the object.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstUri object to test.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="join" c:identifier="gst_uri_join" version="1.6">
|
|
<doc xml:space="preserve">Join a reference URI onto a base URI using the method from RFC 3986.
|
|
If either URI is %NULL then the other URI will be returned with the ref count
|
|
increased.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A #GstUri which represents the base
|
|
with the reference URI joined on.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="base_uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The base URI to join another to.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="ref_uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The reference URI to join onto the
|
|
base URI.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="make_writable" c:identifier="gst_uri_make_writable" version="1.6">
|
|
<doc xml:space="preserve">Make the #GstUri writable.
|
|
|
|
Checks if @uri is writable, and if so the original object is returned. If
|
|
not, then a writable copy is made and returned. This gives away the
|
|
reference to @uri and returns a reference to the new #GstUri.
|
|
If @uri is %NULL then %NULL is returned.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A writable version of @uri.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="full">
|
|
<doc xml:space="preserve">The #GstUri object to make writable.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="new_with_base" c:identifier="gst_uri_new_with_base" version="1.6">
|
|
<doc xml:space="preserve">Like gst_uri_new(), but joins the new URI onto a base URI.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new URI joined onto @base.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="base" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The base URI to join the new URI to.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="scheme" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The scheme for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="userinfo" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The user-info for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="host" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The host name for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="port" transfer-ownership="none">
|
|
<doc xml:space="preserve">The port number for the new URI or %GST_URI_NO_PORT.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="path" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The path for the new URI with '/' separating path
|
|
elements.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The query string for the new URI with '&' separating
|
|
query elements. Elements containing '&' characters
|
|
should encode them as "&percnt;26".</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="fragment" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The fragment name for the new URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="normalize" c:identifier="gst_uri_normalize" version="1.6">
|
|
<doc xml:space="preserve">Normalization will remove extra path segments ("." and "..") from the URI. It
|
|
will also convert the scheme and host name to lower case and any
|
|
percent-encoded values to uppercase.
|
|
|
|
The #GstUri object must be writable. Check with gst_uri_is_writable() or use
|
|
gst_uri_make_writable() first.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the URI was modified.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstUri to normalize.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="query_has_key" c:identifier="gst_uri_query_has_key" version="1.6">
|
|
<doc xml:space="preserve">Check if there is a query table entry for the @query_key key.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @query_key exists in the URI query table.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to examine.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="query_key" transfer-ownership="none">
|
|
<doc xml:space="preserve">The key to lookup.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_query_key" c:identifier="gst_uri_remove_query_key" version="1.6">
|
|
<doc xml:space="preserve">Remove an entry from the query table by key.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the key existed in the table and was removed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="query_key" transfer-ownership="none">
|
|
<doc xml:space="preserve">The key to remove.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_fragment" c:identifier="gst_uri_set_fragment" version="1.6">
|
|
<doc xml:space="preserve">Sets the fragment string in the URI. Use a value of %NULL in @fragment to
|
|
unset the fragment string.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the fragment was set/unset successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="fragment" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The fragment string to set.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_host" c:identifier="gst_uri_set_host" version="1.6">
|
|
<doc xml:space="preserve">Set or unset the host for the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the host was set/unset successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="host" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new host string to set or %NULL to unset.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_path" c:identifier="gst_uri_set_path" version="1.6">
|
|
<doc xml:space="preserve">Sets or unsets the path in the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the path was set successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="path" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new path to set with path segments separated by '/', or use %NULL
|
|
to unset the path.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_path_segments" c:identifier="gst_uri_set_path_segments" version="1.6">
|
|
<doc xml:space="preserve">Replace the path segments list in the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the path segments were set successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="path_segments" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The new
|
|
path list to set.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="utf8"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_path_string" c:identifier="gst_uri_set_path_string" version="1.6">
|
|
<doc xml:space="preserve">Sets or unsets the path in the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the path was set successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="path" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new percent encoded path to set with path segments separated by
|
|
'/', or use %NULL to unset the path.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_port" c:identifier="gst_uri_set_port" version="1.6">
|
|
<doc xml:space="preserve">Set or unset the port number for the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the port number was set/unset successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="port" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new port number to set or %GST_URI_NO_PORT to unset.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_query_string" c:identifier="gst_uri_set_query_string" version="1.6">
|
|
<doc xml:space="preserve">Sets or unsets the query table in the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query table was set successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new percent encoded query string to use to populate the query
|
|
table, or use %NULL to unset the query table.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_query_table" c:identifier="gst_uri_set_query_table" version="1.6">
|
|
<doc xml:space="preserve">Set the query table to use in the URI. The old table is unreferenced and a
|
|
reference to the new one is used instead. A value if %NULL for @query_table
|
|
will remove the query string from the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the new table was successfully used for the query table.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="query_table" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The new
|
|
query table to use.</doc>
|
|
<type name="GLib.HashTable" c:type="GHashTable*">
|
|
<type name="utf8"/>
|
|
<type name="utf8"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_query_value" c:identifier="gst_uri_set_query_value" version="1.6">
|
|
<doc xml:space="preserve">This inserts or replaces a key in the query table. A @query_value of %NULL
|
|
indicates that the key has no associated value, but will still be present in
|
|
the query string.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query table was successfully updated.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="query_key" transfer-ownership="none">
|
|
<doc xml:space="preserve">The key for the query entry.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="query_value" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The value for the key.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_scheme" c:identifier="gst_uri_set_scheme" version="1.6">
|
|
<doc xml:space="preserve">Set or unset the scheme for the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the scheme was set/unset successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="scheme" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new scheme to set or %NULL to unset the scheme.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_userinfo" c:identifier="gst_uri_set_userinfo" version="1.6">
|
|
<doc xml:space="preserve">Set or unset the user information for the URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the user information was set/unset successfully.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The #GstUri to modify.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</instance-parameter>
|
|
<parameter name="userinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new user-information string to set or %NULL to unset.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_uri_to_string" version="1.6">
|
|
<doc xml:space="preserve">Convert the URI to a string.
|
|
|
|
Returns the URI as held in this object as a #gchar* nul-terminated string.
|
|
The caller should g_free() the string once they are finished with it.
|
|
The string is put together as described in RFC 3986.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The string version of the URI.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">This #GstUri to convert to a string.</doc>
|
|
<type name="Uri" c:type="const GstUri*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="construct" c:identifier="gst_uri_construct" deprecated="1">
|
|
<doc xml:space="preserve">Constructs a URI for a given valid protocol and location.
|
|
|
|
Free-function: g_free</doc>
|
|
<doc-deprecated xml:space="preserve">Use GstURI instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new string for this URI. Returns %NULL if the
|
|
given URI protocol is not valid, or the given location is %NULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">Protocol for URI</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="location" transfer-ownership="none">
|
|
<doc xml:space="preserve">Location for URI</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="from_string" c:identifier="gst_uri_from_string" version="1.6">
|
|
<doc xml:space="preserve">Parses a URI string into a new #GstUri object. Will return NULL if the URI
|
|
cannot be parsed.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A new #GstUri object, or NULL.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The URI string to parse.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="from_string_escaped" c:identifier="gst_uri_from_string_escaped" version="1.18">
|
|
<doc xml:space="preserve">Parses a URI string into a new #GstUri object. Will return NULL if the URI
|
|
cannot be parsed. This is identical to gst_uri_from_string() except that
|
|
the userinfo and fragment components of the URI will not be unescaped while
|
|
parsing.
|
|
|
|
Use this when you need to extract a username and password from the userinfo
|
|
such as https://user:password@example.com since either may contain
|
|
a URI-escaped ':' character. gst_uri_from_string() will unescape the entire
|
|
userinfo component, which will make it impossible to know which ':'
|
|
delineates the username and password.
|
|
|
|
The same applies to the fragment component of the URI, such as
|
|
https://example.com/path#fragment which may contain a URI-escaped '#'.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A new #GstUri object, or NULL.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The URI string to parse.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_location" c:identifier="gst_uri_get_location">
|
|
<doc xml:space="preserve">Extracts the location out of a given valid URI, ie. the protocol and "://"
|
|
are stripped from the URI, which means that the location returned includes
|
|
the hostname if one is specified. The returned string must be freed using
|
|
g_free().
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the location for this URI. Returns
|
|
%NULL if the URI isn't valid. If the URI does not contain a location, an
|
|
empty string is returned.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">A URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_protocol" c:identifier="gst_uri_get_protocol">
|
|
<doc xml:space="preserve">Extracts the protocol out of a given valid URI. The returned string must be
|
|
freed using g_free().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The protocol for this URI.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">A URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="has_protocol" c:identifier="gst_uri_has_protocol">
|
|
<doc xml:space="preserve">Checks if the protocol of a given valid URI matches @protocol.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the protocol matches.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">a URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">a protocol string (e.g. "http")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_valid" c:identifier="gst_uri_is_valid">
|
|
<doc xml:space="preserve">Tests if the given string is a valid URI identifier. URIs start with a valid
|
|
scheme followed by ":" and maybe a string identifying the location.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the string is a valid URI</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">A URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="join_strings" c:identifier="gst_uri_join_strings" version="1.6">
|
|
<doc xml:space="preserve">This is a convenience function to join two URI strings and return the result.
|
|
The returned string should be g_free()'d after use.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A string representing the percent-encoded join of
|
|
the two URIs.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="base_uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The percent-encoded base URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="ref_uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The percent-encoded reference URI to join to the @base_uri.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="protocol_is_supported" c:identifier="gst_uri_protocol_is_supported">
|
|
<doc xml:space="preserve">Checks if an element exists that supports the given URI protocol. Note
|
|
that a positive return value does not imply that a subsequent call to
|
|
gst_element_make_from_uri() is guaranteed to work.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to check for a source or a sink</doc>
|
|
<type name="URIType" c:type="const GstURIType"/>
|
|
</parameter>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">Protocol that should be checked for (e.g. "http" or "smb")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="protocol_is_valid" c:identifier="gst_uri_protocol_is_valid">
|
|
<doc xml:space="preserve">Tests if the given string is a valid protocol identifier. Protocols
|
|
must consist of alphanumeric characters, '+', '-' and '.' and must
|
|
start with a alphabetic character. See RFC 3986 Section 3.1.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the string is a valid protocol identifier, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">A string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<constant name="VALUE_EQUAL" value="0" c:type="GST_VALUE_EQUAL">
|
|
<doc xml:space="preserve">Indicates that the first value provided to a comparison function
|
|
(gst_value_compare()) is equal to the second one.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VALUE_GREATER_THAN" value="1" c:type="GST_VALUE_GREATER_THAN">
|
|
<doc xml:space="preserve">Indicates that the first value provided to a comparison function
|
|
(gst_value_compare()) is greater than the second one.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="VALUE_HOLDS_ARRAY" c:identifier="GST_VALUE_HOLDS_ARRAY" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_ARRAY value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_BITMASK" c:identifier="GST_VALUE_HOLDS_BITMASK" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_BITMASK value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_BUFFER" c:identifier="GST_VALUE_HOLDS_BUFFER" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_BUFFER value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_CAPS" c:identifier="GST_VALUE_HOLDS_CAPS" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_CAPS value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_CAPS_FEATURES" c:identifier="GST_VALUE_HOLDS_CAPS_FEATURES" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_CAPS_FEATURES value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_DATE_TIME" c:identifier="GST_VALUE_HOLDS_DATE_TIME" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_DATE_TIME value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_DOUBLE_RANGE" c:identifier="GST_VALUE_HOLDS_DOUBLE_RANGE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_DOUBLE_RANGE value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_FLAG_SET" c:identifier="GST_VALUE_HOLDS_FLAG_SET" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_FLAG_SET value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_FRACTION" c:identifier="GST_VALUE_HOLDS_FRACTION" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_FRACTION value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_FRACTION_RANGE" c:identifier="GST_VALUE_HOLDS_FRACTION_RANGE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_FRACTION_RANGE value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_INT64_RANGE" c:identifier="GST_VALUE_HOLDS_INT64_RANGE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_INT64_RANGE value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_INT_RANGE" c:identifier="GST_VALUE_HOLDS_INT_RANGE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_INT_RANGE value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_LIST" c:identifier="GST_VALUE_HOLDS_LIST" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_LIST value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_SAMPLE" c:identifier="GST_VALUE_HOLDS_SAMPLE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_SAMPLE value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VALUE_HOLDS_STRUCTURE" c:identifier="GST_VALUE_HOLDS_STRUCTURE" introspectable="0">
|
|
<doc xml:space="preserve">Checks if the given #GValue contains a #GST_TYPE_STRUCTURE value.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="x">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VALUE_LESS_THAN" value="-1" c:type="GST_VALUE_LESS_THAN">
|
|
<doc xml:space="preserve">Indicates that the first value provided to a comparison function
|
|
(gst_value_compare()) is lesser than the second one.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VALUE_UNORDERED" value="2" c:type="GST_VALUE_UNORDERED">
|
|
<doc xml:space="preserve">Indicates that the comparison function (gst_value_compare()) can not
|
|
determine a order for the two provided values.</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MAJOR" value="1" c:type="GST_VERSION_MAJOR">
|
|
<doc xml:space="preserve">The major version of GStreamer at compile time:</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MICRO" value="0" c:type="GST_VERSION_MICRO">
|
|
<doc xml:space="preserve">The micro version of GStreamer at compile time:</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MINOR" value="18" c:type="GST_VERSION_MINOR">
|
|
<doc xml:space="preserve">The minor version of GStreamer at compile time:</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_NANO" value="0" c:type="GST_VERSION_NANO">
|
|
<doc xml:space="preserve">The nano version of GStreamer at compile time:
|
|
Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<class name="ValueArray" c:symbol-prefix="value_array" c:type="GstValueArray" glib:type-name="GstValueArray" glib:get-type="gst_value_array_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes an ordered list of #GValue</doc>
|
|
<function name="append_and_take_value" c:identifier="gst_value_array_append_and_take_value" version="1.2">
|
|
<doc xml:space="preserve">Appends @append_value to the GstValueArray in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="append_value" transfer-ownership="full">
|
|
<doc xml:space="preserve">the value to append</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="append_value" c:identifier="gst_value_array_append_value">
|
|
<doc xml:space="preserve">Appends @append_value to the GstValueArray in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="append_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to append</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_size" c:identifier="gst_value_array_get_size">
|
|
<doc xml:space="preserve">Gets the number of values contained in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_value" c:identifier="gst_value_array_get_value">
|
|
<doc xml:space="preserve">Gets the value that is a member of the array contained in @value and
|
|
has the index @index.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the value at the given index</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">index of value to get from the array</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="init" c:identifier="gst_value_array_init" version="1.18">
|
|
<doc xml:space="preserve">Initializes and pre-allocates a #GValue of type #GST_VALUE_ARRAY.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GValue structure that has been passed in</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">A zero-filled (uninitialized) #GValue structure</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="prealloc" transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of entries to pre-allocate in the array</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="prepend_value" c:identifier="gst_value_array_prepend_value">
|
|
<doc xml:space="preserve">Prepends @prepend_value to the GstValueArray in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="prepend_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to prepend</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</class>
|
|
<callback name="ValueCompareFunc" c:type="GstValueCompareFunc">
|
|
<doc xml:space="preserve">Used together with gst_value_compare() to compare #GValue items.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN
|
|
or GST_VALUE_UNORDERED</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">first value for comparison</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">second value for comparison</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc">
|
|
<doc xml:space="preserve">Used by gst_value_deserialize() to parse a non-binary form into the #GValue.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="s" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="ValueList" c:symbol-prefix="value_list" glib:type-name="GstValueList" glib:get-type="gst_value_list_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">A fundamental type that describes an unordered list of #GValue</doc>
|
|
<function name="append_and_take_value" c:identifier="gst_value_list_append_and_take_value" version="1.2">
|
|
<doc xml:space="preserve">Appends @append_value to the GstValueList in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_LIST</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="append_value" transfer-ownership="full">
|
|
<doc xml:space="preserve">the value to append</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="append_value" c:identifier="gst_value_list_append_value">
|
|
<doc xml:space="preserve">Appends @append_value to the GstValueList in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_LIST</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="append_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to append</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="concat" c:identifier="gst_value_list_concat">
|
|
<doc xml:space="preserve">Concatenates copies of @value1 and @value2 into a list. Values that are not
|
|
of type #GST_TYPE_LIST are treated as if they were lists of length 1.
|
|
@dest will be initialized to the type #GST_TYPE_LIST.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">an uninitialized #GValue to take the result</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_size" c:identifier="gst_value_list_get_size">
|
|
<doc xml:space="preserve">Gets the number of values contained in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of values</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_LIST</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_value" c:identifier="gst_value_list_get_value">
|
|
<doc xml:space="preserve">Gets the value that is a member of the list contained in @value and
|
|
has the index @index.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the value at the given index</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_LIST</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">index of value to get from the list</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="init" c:identifier="gst_value_list_init" version="1.18">
|
|
<doc xml:space="preserve">Initializes and pre-allocates a #GValue of type #GST_VALUE_LIST.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GValue structure that has been passed in</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">A zero-filled (uninitialized) #GValue structure</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="prealloc" transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of entries to pre-allocate in the list</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="merge" c:identifier="gst_value_list_merge">
|
|
<doc xml:space="preserve">Merges copies of @value1 and @value2. Values that are not
|
|
of type #GST_TYPE_LIST are treated as if they were lists of length 1.
|
|
|
|
The result will be put into @dest and will either be a list that will not
|
|
contain any duplicates, or a non-list type (if @value1 and @value2
|
|
were equal).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">an uninitialized #GValue to take the result</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="prepend_value" c:identifier="gst_value_list_prepend_value">
|
|
<doc xml:space="preserve">Prepends @prepend_value to the GstValueList in @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue of type #GST_TYPE_LIST</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="prepend_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to prepend</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</class>
|
|
<callback name="ValueSerializeFunc" c:type="GstValueSerializeFunc">
|
|
<doc xml:space="preserve">Used by gst_value_serialize() to obtain a non-binary form of the #GValue.
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the string representation of the value</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="ValueTable" c:type="GstValueTable">
|
|
<doc xml:space="preserve">VTable for the #GValue @type.</doc>
|
|
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">a #GType</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</field>
|
|
<field name="compare" writable="1">
|
|
<doc xml:space="preserve">a #GstValueCompareFunc</doc>
|
|
<type name="ValueCompareFunc" c:type="GstValueCompareFunc"/>
|
|
</field>
|
|
<field name="serialize" writable="1">
|
|
<doc xml:space="preserve">a #GstValueSerializeFunc</doc>
|
|
<type name="ValueSerializeFunc" c:type="GstValueSerializeFunc"/>
|
|
</field>
|
|
<field name="deserialize" writable="1">
|
|
<doc xml:space="preserve">a #GstValueDeserializeFunc</doc>
|
|
<type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
|
|
</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="WRITE_UINT16_BE" c:identifier="GST_WRITE_UINT16_BE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 16 bit unsigned integer value in big endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="val">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT16_LE" c:identifier="GST_WRITE_UINT16_LE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 16 bit unsigned integer value in little endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="val">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT24_BE" c:identifier="GST_WRITE_UINT24_BE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 24 bit unsigned integer value in big endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT24_LE" c:identifier="GST_WRITE_UINT24_LE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 24 bit unsigned integer value in little endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT32_BE" c:identifier="GST_WRITE_UINT32_BE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 32 bit unsigned integer value in big endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="val">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT32_LE" c:identifier="GST_WRITE_UINT32_LE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 32 bit unsigned integer value in little endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="val">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT64_BE" c:identifier="GST_WRITE_UINT64_BE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 64 bit unsigned integer value in big endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="val">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT64_LE" c:identifier="GST_WRITE_UINT64_LE" introspectable="0">
|
|
<doc xml:space="preserve">Store a 64 bit unsigned integer value in little endian format into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="val">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="WRITE_UINT8" c:identifier="GST_WRITE_UINT8" introspectable="0">
|
|
<doc xml:space="preserve">Store an 8 bit unsigned integer value into the memory buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="data">
|
|
<doc xml:space="preserve">memory location</doc>
|
|
</parameter>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">value to store</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="buffer_get_max_memory" c:identifier="gst_buffer_get_max_memory" moved-to="Buffer.get_max_memory" version="1.2">
|
|
<doc xml:space="preserve">Get the maximum amount of memory blocks that a buffer can hold. This is a
|
|
compile time constant that can be queried with the function.
|
|
|
|
When more memory blocks are added, existing memory blocks will be merged
|
|
together to make room for the new block.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of memory blocks that a buffer can hold.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
</function>
|
|
<function-macro name="buffer_get_parent_buffer_meta" c:identifier="gst_buffer_get_parent_buffer_meta" introspectable="0">
|
|
<doc xml:space="preserve">Find and return a #GstParentBufferMeta if one exists on the
|
|
buffer</doc>
|
|
|
|
<parameters>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_protection_meta" c:identifier="gst_buffer_get_protection_meta" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_is_writable" c:identifier="gst_buffer_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely write to a buffer's metadata or its memory array.
|
|
It is only safe to change buffer metadata when the current reference is
|
|
writable, i.e. nobody can see the modifications you will make.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_list_add" c:identifier="gst_buffer_list_add" introspectable="0">
|
|
<doc xml:space="preserve">Append @b at the end of @l.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="l">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
</parameter>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_list_is_writable" c:identifier="gst_buffer_list_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely add buffers and groups into a buffer list.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="list">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_list_make_writable" c:identifier="gst_buffer_list_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Makes a writable buffer list from the given buffer list. If the source buffer
|
|
list is already writable, this will simply return the same buffer list. A
|
|
copy will otherwise be made using gst_buffer_list_copy().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="list">
|
|
<doc xml:space="preserve">a #GstBufferList</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_make_writable" c:identifier="gst_buffer_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Returns a writable copy of @buf. If the source buffer is
|
|
already writable, this will simply return the same buffer.
|
|
|
|
Use this function to ensure that a buffer can be safely modified before
|
|
making changes to it, including changing the metadata such as PTS/DTS.
|
|
|
|
If the reference count of the source buffer @buf is exactly one, the caller
|
|
is the sole owner and this function will return the buffer object unchanged.
|
|
|
|
If there is more than one reference on the object, a copy will be made using
|
|
gst_buffer_copy(). The passed-in @buf will be unreffed in that case, and the
|
|
caller will now own a reference to the new returned buffer object. Note
|
|
that this just copies the buffer structure itself, the underlying memory is
|
|
not copied if it can be shared amongst multiple buffers.
|
|
|
|
In short, this function unrefs the buf in the argument and refs the buffer
|
|
that it returns. Don't access the argument after calling this function unless
|
|
you have an additional reference to it.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_new_and_alloc" c:identifier="gst_buffer_new_and_alloc" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="s">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="buffer_replace" c:identifier="gst_buffer_replace" moved-to="Buffer.replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstBuffer to point to a different #GstBuffer. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
buffer is unreffed, the new is reffed).
|
|
|
|
Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @obuf was different from @nbuf.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="obuf" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer to
|
|
a #GstBuffer to be replaced.</doc>
|
|
<type name="Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
<parameter name="nbuf" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstBuffer that will
|
|
replace the buffer pointed to by @obuf.</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="calculate_linear_regression" c:identifier="gst_calculate_linear_regression" version="1.12" introspectable="0">
|
|
<doc xml:space="preserve">Calculates the linear regression of the values @xy and places the
|
|
result in @m_num, @m_denom, @b and @xbase, representing the function
|
|
y(x) = m_num/m_denom * (x - xbase) + b
|
|
that has the least-square distance from all points @x and @y.
|
|
|
|
@r_squared will contain the remaining error.
|
|
|
|
If @temp is not %NULL, it will be used as temporary space for the function,
|
|
in which case the function works without any allocation at all. If @temp is
|
|
%NULL, an allocation will take place. @temp should have at least the same
|
|
amount of memory allocated as @xy, i.e. 2*n*sizeof(GstClockTime).
|
|
|
|
> This function assumes (x,y) values with reasonable large differences
|
|
> between them. It will not calculate the exact results if the differences
|
|
> between neighbouring values are too small due to not being able to
|
|
> represent sub-integer values during the calculations.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the linear regression was successfully calculated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="xy" transfer-ownership="none">
|
|
<doc xml:space="preserve">Pairs of (x,y) values</doc>
|
|
<type name="ClockTime" c:type="const GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="temp" transfer-ownership="none">
|
|
<doc xml:space="preserve">Temporary scratch space used by the function</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="n" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of (x,y) pairs</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="m_num" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">numerator of calculated slope</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="m_denom" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">denominator of calculated slope</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="b" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Offset at Y-axis</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="xbase" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Offset at X-axis</doc>
|
|
<type name="ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="r_squared" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">R-squared</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="caps_features_from_string" c:identifier="gst_caps_features_from_string" moved-to="CapsFeatures.from_string" version="1.2">
|
|
<doc xml:space="preserve">Creates a #GstCapsFeatures from a string representation.
|
|
|
|
Free-function: gst_caps_features_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstCapsFeatures or
|
|
%NULL when the string could not be parsed. Free with
|
|
gst_caps_features_free() after use.</doc>
|
|
<type name="CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representation of a #GstCapsFeatures.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="caps_from_string" c:identifier="gst_caps_from_string" moved-to="Caps.from_string">
|
|
<doc xml:space="preserve">Converts @caps from a string representation.
|
|
|
|
The current implementation of serialization will lead to unexpected results
|
|
when there are nested #GstCaps / #GstStructure deeper than one level.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly allocated #GstCaps</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="string" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string to convert to #GstCaps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="caps_is_writable" c:identifier="gst_caps_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely modify @caps. It is only safe to modify caps when
|
|
there is only one owner of the caps - ie, the object is writable.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="caps_make_writable" c:identifier="gst_caps_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Returns a writable copy of @caps.
|
|
|
|
If there is only one reference count on @caps, the caller must be the owner,
|
|
and so this function will return the caps object unchanged. If on the other
|
|
hand there is more than one reference on the object, a new caps object will
|
|
be returned. The caller's reference on @caps will be removed, and instead the
|
|
caller will own a reference to the returned object.
|
|
|
|
In short, this function unrefs the caps in the argument and refs the caps
|
|
that it returns. Don't access the argument after calling this function. See
|
|
also: gst_caps_ref().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="caps">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="caps_replace" c:identifier="gst_caps_replace" moved-to="Caps.replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstCaps to point to a different #GstCaps. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
caps is unreffed, the new is reffed).
|
|
|
|
Either @new_caps or the #GstCaps pointed to by @old_caps may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_caps was different from @old_caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_caps" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer
|
|
to a #GstCaps to be replaced.</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
<parameter name="new_caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstCaps that will
|
|
replace the caps pointed to by @old_caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="caps_take" c:identifier="gst_caps_take" moved-to="Caps.take" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstCaps to point to a different #GstCaps. This
|
|
function is similar to gst_caps_replace() except that it takes ownership
|
|
of @new_caps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_caps was different from @old_caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_caps" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a pointer to a #GstCaps to be
|
|
replaced.</doc>
|
|
<type name="Caps" c:type="GstCaps**"/>
|
|
</parameter>
|
|
<parameter name="new_caps" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstCaps that will
|
|
replace the caps pointed to by @old_caps.</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="clear_mini_object" c:identifier="gst_clear_mini_object" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Clears a reference to a #GstMiniObject.
|
|
|
|
@object_ptr must not be %NULL.
|
|
|
|
If the reference is %NULL then this function does nothing.
|
|
Otherwise, the reference count of the object is decreased using
|
|
gst_mini_object_unref() and the pointer is set to %NULL.
|
|
|
|
A macro is also included that allows this function to be used without
|
|
pointer casts.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object_ptr" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstMiniObject reference</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="clear_object" c:identifier="gst_clear_object" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Clears a reference to a #GstObject.
|
|
|
|
@object_ptr must not be %NULL.
|
|
|
|
If the reference is %NULL then this function does nothing.
|
|
Otherwise, the reference count of the object is decreased using
|
|
gst_object_unref() and the pointer is set to %NULL.
|
|
|
|
A macro is also included that allows this function to be used without
|
|
pointer casts.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object_ptr" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstObject reference</doc>
|
|
<type name="Object" c:type="GstObject**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="clear_structure" c:identifier="gst_clear_structure" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Clears a reference to a #GstStructure.
|
|
|
|
@structure_ptr must not be %NULL.
|
|
|
|
If the reference is %NULL then this function does nothing.
|
|
Otherwise, the structure is free'd using gst_structure_free() and the
|
|
pointer is set to %NULL.
|
|
|
|
A macro is also included that allows this function to be used without
|
|
pointer casts.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="structure_ptr" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstStructure reference</doc>
|
|
<type name="Structure" c:type="GstStructure**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="context_is_writable" c:identifier="gst_context_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely write into a context's structure or validly
|
|
modify the seqnum and timestamp fields.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="context">
|
|
<doc xml:space="preserve">a #GstContext</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="context_make_writable" c:identifier="gst_context_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Checks if a context is writable. If not, a writable copy is made and
|
|
returned.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="context">
|
|
<doc xml:space="preserve">the context to make writable</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="core_error_quark" c:identifier="gst_core_error_quark" moved-to="CoreError.quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_add_log_function" c:identifier="gst_debug_add_log_function">
|
|
<doc xml:space="preserve">Adds the logging function to the list of logging functions.
|
|
Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="1" destroy="2">
|
|
<doc xml:space="preserve">the function to use</doc>
|
|
<type name="LogFunction" c:type="GstLogFunction"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">called when @user_data is not used anymore</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_add_ring_buffer_logger" c:identifier="gst_debug_add_ring_buffer_logger" version="1.14">
|
|
<doc xml:space="preserve">Adds a memory ringbuffer based debug logger that stores up to
|
|
@max_size_per_thread bytes of logs per thread and times out threads after
|
|
@thread_timeout seconds of inactivity.
|
|
|
|
Logs can be fetched with gst_debug_ring_buffer_logger_get_logs() and the
|
|
logger can be removed again with gst_debug_remove_ring_buffer_logger().
|
|
Only one logger at a time is possible.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="max_size_per_thread" transfer-ownership="none">
|
|
<doc xml:space="preserve">Maximum size of log per thread in bytes</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="thread_timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">Timeout for threads in seconds</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_bin_to_dot_data" c:identifier="gst_debug_bin_to_dot_data">
|
|
<doc xml:space="preserve">To aid debugging applications one can use this method to obtain the whole
|
|
network of gstreamer elements that form the pipeline into an dot file.
|
|
This data can be processed with graphviz to get an image.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string containing the pipeline in graphviz
|
|
dot format.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the top-level pipeline that should be analyzed</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="details" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of #GstDebugGraphDetails to use</doc>
|
|
<type name="DebugGraphDetails" c:type="GstDebugGraphDetails"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_bin_to_dot_file" c:identifier="gst_debug_bin_to_dot_file">
|
|
<doc xml:space="preserve">To aid debugging applications one can use this method to write out the whole
|
|
network of gstreamer elements that form the pipeline into an dot file.
|
|
This file can be processed with graphviz to get an image.
|
|
|
|
``` shell
|
|
dot -Tpng -oimage.png graph_lowlevel.dot
|
|
```</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the top-level pipeline that should be analyzed</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="details" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of #GstDebugGraphDetails to use</doc>
|
|
<type name="DebugGraphDetails" c:type="GstDebugGraphDetails"/>
|
|
</parameter>
|
|
<parameter name="file_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">output base filename (e.g. "myplayer")</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_bin_to_dot_file_with_ts" c:identifier="gst_debug_bin_to_dot_file_with_ts">
|
|
<doc xml:space="preserve">This works like gst_debug_bin_to_dot_file(), but adds the current timestamp
|
|
to the filename, so that it can be used to take multiple snapshots.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin" transfer-ownership="none">
|
|
<doc xml:space="preserve">the top-level pipeline that should be analyzed</doc>
|
|
<type name="Bin" c:type="GstBin*"/>
|
|
</parameter>
|
|
<parameter name="details" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of #GstDebugGraphDetails to use</doc>
|
|
<type name="DebugGraphDetails" c:type="GstDebugGraphDetails"/>
|
|
</parameter>
|
|
<parameter name="file_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">output base filename (e.g. "myplayer")</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_construct_term_color" c:identifier="gst_debug_construct_term_color">
|
|
<doc xml:space="preserve">Constructs a string that can be used for getting the desired color in color
|
|
terminals.
|
|
You need to free the string after use.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string containing the color
|
|
definition</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="colorinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">the color info</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_construct_win_color" c:identifier="gst_debug_construct_win_color">
|
|
<doc xml:space="preserve">Constructs an integer that can be used for getting the desired color in
|
|
windows' terminals (cmd.exe). As there is no mean to underline, we simply
|
|
ignore this attribute.
|
|
|
|
This function returns 0 on non-windows machines.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an integer containing the color definition</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="colorinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">the color info</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_get_all_categories" c:identifier="gst_debug_get_all_categories">
|
|
<doc xml:space="preserve">Returns a snapshot of a all categories that are currently in use . This list
|
|
may change anytime.
|
|
The caller has to free the list after use.</doc>
|
|
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">the list of
|
|
debug categories</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="DebugCategory"/>
|
|
</type>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_get_color_mode" c:identifier="gst_debug_get_color_mode" version="1.2">
|
|
<doc xml:space="preserve">Changes the coloring mode for debug output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">see @GstDebugColorMode for possible values.</doc>
|
|
<type name="DebugColorMode" c:type="GstDebugColorMode"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_get_default_threshold" c:identifier="gst_debug_get_default_threshold">
|
|
<doc xml:space="preserve">Returns the default threshold that is used for new categories.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the default threshold level</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_get_stack_trace" c:identifier="gst_debug_get_stack_trace" version="1.12">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a stack trace, if libunwind or glibc backtrace are
|
|
present, else %NULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">A set of #GstStackTraceFlags to determine how the stack trace should
|
|
look like. Pass #GST_STACK_TRACE_SHOW_NONE to retrieve a minimal backtrace.</doc>
|
|
<type name="StackTraceFlags" c:type="GstStackTraceFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_is_active" c:identifier="gst_debug_is_active">
|
|
<doc xml:space="preserve">Checks if debugging output is activated.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if debugging is activated</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_is_colored" c:identifier="gst_debug_is_colored">
|
|
<doc xml:space="preserve">Checks if the debugging output should be colored.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the debug output should be colored.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_level_get_name" c:identifier="gst_debug_level_get_name" moved-to="DebugLevel.get_name">
|
|
<doc xml:space="preserve">Get the string representation of a debugging level</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">the level to get the name for</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_log" c:identifier="gst_debug_log" introspectable="0">
|
|
<doc xml:space="preserve">Logs the given message using the currently registered debugging handlers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">category to log</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">level of the message is in</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">the function that emitted the message</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the line from that the message was emitted, usually __LINE__</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the object this message relates to,
|
|
or %NULL if none</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">optional arguments for the format</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_log_default" c:identifier="gst_debug_log_default">
|
|
<doc xml:space="preserve">The default logging handler used by GStreamer. Logging functions get called
|
|
whenever a macro like GST_DEBUG or similar is used. By default this function
|
|
is setup to output the message and additional info to stderr (or the log file
|
|
specified via the GST_DEBUG_FILE environment variable) as received via
|
|
@user_data.
|
|
|
|
You can add other handlers by using gst_debug_add_log_function().
|
|
And you can remove this handler by calling
|
|
gst_debug_remove_log_function(gst_debug_log_default);</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">category to log</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">level of the message</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">the function that emitted the message</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the line from that the message was emitted, usually __LINE__</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the object this message relates to,
|
|
or %NULL if none</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the actual message</doc>
|
|
<type name="DebugMessage" c:type="GstDebugMessage*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the FILE* to log to</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_log_get_line" c:identifier="gst_debug_log_get_line" version="1.18">
|
|
<doc xml:space="preserve">Returns the string representation for the specified debug log message
|
|
formatted in the same way as gst_debug_log_default() (the default handler),
|
|
without color. The purpose is to make it easy for custom log output
|
|
handlers to get a log output that is identical to what the default handler
|
|
would write out.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">category to log</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">level of the message</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">the function that emitted the message</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the line from that the message was emitted, usually __LINE__</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the object this message relates to,
|
|
or %NULL if none</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">the actual message</doc>
|
|
<type name="DebugMessage" c:type="GstDebugMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_log_valist" c:identifier="gst_debug_log_valist" introspectable="0">
|
|
<doc xml:space="preserve">Logs the given message using the currently registered debugging handlers.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="category" transfer-ownership="none">
|
|
<doc xml:space="preserve">category to log</doc>
|
|
<type name="DebugCategory" c:type="GstDebugCategory*"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">level of the message is in</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
<parameter name="file" transfer-ownership="none">
|
|
<doc xml:space="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="function" transfer-ownership="none">
|
|
<doc xml:space="preserve">the function that emitted the message</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the line from that the message was emitted, usually __LINE__</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the object this message relates to,
|
|
or %NULL if none</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="args" transfer-ownership="none">
|
|
<doc xml:space="preserve">optional arguments for the format</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_print_stack_trace" c:identifier="gst_debug_print_stack_trace">
|
|
<doc xml:space="preserve">If libunwind, glibc backtrace or DbgHelp are present
|
|
a stack trace is printed.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_remove_log_function" c:identifier="gst_debug_remove_log_function">
|
|
<doc xml:space="preserve">Removes all registered instances of the given logging functions.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">How many instances of the function were removed</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none" nullable="1" allow-none="1" scope="call">
|
|
<doc xml:space="preserve">the log function to remove, or %NULL to
|
|
remove the default log function</doc>
|
|
<type name="LogFunction" c:type="GstLogFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_remove_log_function_by_data" c:identifier="gst_debug_remove_log_function_by_data">
|
|
<doc xml:space="preserve">Removes all registered instances of log functions with the given user data.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">How many instances of the function were removed</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data of the log function to remove</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_remove_ring_buffer_logger" c:identifier="gst_debug_remove_ring_buffer_logger" version="1.14">
|
|
<doc xml:space="preserve">Removes any previously added ring buffer logger with
|
|
gst_debug_add_ring_buffer_logger().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_ring_buffer_logger_get_logs" c:identifier="gst_debug_ring_buffer_logger_get_logs" version="1.14">
|
|
<doc xml:space="preserve">Fetches the current logs per thread from the ring buffer logger. See
|
|
gst_debug_add_ring_buffer_logger() for details.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">NULL-terminated array of
|
|
strings with the debug output per thread</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
</function>
|
|
<function name="debug_set_active" c:identifier="gst_debug_set_active">
|
|
<doc xml:space="preserve">If activated, debugging messages are sent to the debugging
|
|
handlers.
|
|
It makes sense to deactivate it for speed issues.
|
|
> This function is not threadsafe. It makes sense to only call it
|
|
during initialization.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to use debugging output or not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_set_color_mode" c:identifier="gst_debug_set_color_mode" version="1.2">
|
|
<doc xml:space="preserve">Changes the coloring mode for debug output.
|
|
|
|
This function may be called before gst_init().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">The coloring mode for debug output. See @GstDebugColorMode.</doc>
|
|
<type name="DebugColorMode" c:type="GstDebugColorMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_set_color_mode_from_string" c:identifier="gst_debug_set_color_mode_from_string" version="1.2">
|
|
<doc xml:space="preserve">Changes the coloring mode for debug output.
|
|
|
|
This function may be called before gst_init().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">The coloring mode for debug output. One of the following:
|
|
"on", "auto", "off", "disable", "unix".</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_set_colored" c:identifier="gst_debug_set_colored">
|
|
<doc xml:space="preserve">Sets or unsets the use of coloured debugging output.
|
|
Same as gst_debug_set_color_mode () with the argument being
|
|
being GST_DEBUG_COLOR_MODE_ON or GST_DEBUG_COLOR_MODE_OFF.
|
|
|
|
This function may be called before gst_init().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="colored" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to use colored output or not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_set_default_threshold" c:identifier="gst_debug_set_default_threshold">
|
|
<doc xml:space="preserve">Sets the default threshold to the given level and updates all categories to
|
|
use this threshold.
|
|
|
|
This function may be called before gst_init().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">level to set</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_set_threshold_for_name" c:identifier="gst_debug_set_threshold_for_name">
|
|
<doc xml:space="preserve">Sets all categories which match the given glob style pattern to the given
|
|
level.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the categories to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">level to set them to</doc>
|
|
<type name="DebugLevel" c:type="GstDebugLevel"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_set_threshold_from_string" c:identifier="gst_debug_set_threshold_from_string" version="1.2">
|
|
<doc xml:space="preserve">Sets the debug logging wanted in the same form as with the GST_DEBUG
|
|
environment variable. You can use wildcards such as '*', but note that
|
|
the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets
|
|
everything to log level 2.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">comma-separated list of "category:level" pairs to be used
|
|
as debug logging levels</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="reset" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE to clear all previously-set debug levels before setting
|
|
new thresholds
|
|
%FALSE if adding the threshold described by @list to the one already set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="debug_unset_threshold_for_name" c:identifier="gst_debug_unset_threshold_for_name">
|
|
<doc xml:space="preserve">Resets all categories with the given name back to the default level.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the categories to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="deinit" c:identifier="gst_deinit">
|
|
<doc xml:space="preserve">Clean up any resources created by GStreamer in gst_init().
|
|
|
|
It is normally not needed to call this function in a normal application
|
|
as the resources will automatically be freed when the program terminates.
|
|
This function is therefore mostly used by testsuites and other memory
|
|
profiling tools.
|
|
|
|
After this call GStreamer (including this method) should not be used anymore.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="dynamic_type_register" c:identifier="gst_dynamic_type_register" version="1.12">
|
|
<doc xml:space="preserve">Registers a new #GstDynamicTypeFactory in the registry</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstPlugin to register @dyn_type for</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GType to register dynamically</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="element_factory_get_author" c:identifier="gst_element_factory_get_author" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_factory_get_description" c:identifier="gst_element_factory_get_description" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_factory_get_documentation_uri" c:identifier="gst_element_factory_get_documentation_uri" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_factory_get_icon_name" c:identifier="gst_element_factory_get_icon_name" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_factory_get_klass" c:identifier="gst_element_factory_get_klass" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_factory_get_longname" c:identifier="gst_element_factory_get_longname" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_get_name" c:identifier="gst_element_get_name" introspectable="0">
|
|
<doc xml:space="preserve">Returns a copy of the name of @elem.
|
|
Caller should g_free() the return value after usage.
|
|
For a nameless element, this returns %NULL, which you can safely g_free()
|
|
as well.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to get the name of @elem.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_get_parent" c:identifier="gst_element_get_parent" introspectable="0">
|
|
<doc xml:space="preserve">Get the parent of an element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to get the parent of.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_set_name" c:identifier="gst_element_set_name" introspectable="0">
|
|
<doc xml:space="preserve">Sets the name of the element, getting rid of the old name if there was one.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to set the name of.</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">the new name</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="element_set_parent" c:identifier="gst_element_set_parent" introspectable="0">
|
|
<doc xml:space="preserve">Sets the parent of an element.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="elem">
|
|
<doc xml:space="preserve">a #GstElement to set the parent of.</doc>
|
|
</parameter>
|
|
<parameter name="parent">
|
|
<doc xml:space="preserve">the new parent #GstObject of the element.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="error_get_message" c:identifier="gst_error_get_message">
|
|
<doc xml:space="preserve">Get a string describing the error message in the current locale.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated string describing
|
|
the error message (in UTF-8 encoding)</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="domain" transfer-ownership="none">
|
|
<doc xml:space="preserve">the GStreamer error domain this error belongs to.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="code" transfer-ownership="none">
|
|
<doc xml:space="preserve">the error code belonging to the domain.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="event_is_writable" c:identifier="gst_event_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely write data into a event's structure or validly
|
|
modify the seqnum and timestamp field.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">a #GstEvent</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="event_make_writable" c:identifier="gst_event_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Makes a writable event from the given event. If the source event is
|
|
already writable, this will simply return the same event. A copy will
|
|
otherwise be made using gst_event_copy().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="ev">
|
|
<doc xml:space="preserve">a #GstEvent</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="event_replace" c:identifier="gst_event_replace" moved-to="Event.replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstEvent to point to a different #GstEvent. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
event is unreffed, the new one is reffed).
|
|
|
|
Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_event was different from @old_event</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_event" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstEvent to be replaced.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
<parameter name="new_event" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstEvent that will
|
|
replace the event pointed to by @old_event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_steal" c:identifier="gst_event_steal" moved-to="Event.steal" introspectable="0">
|
|
<doc xml:space="preserve">Atomically replace the #GstEvent pointed to by @old_event with %NULL and
|
|
return the original event.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstEvent that was in @old_event</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_event" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstEvent to be stolen.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_take" c:identifier="gst_event_take" moved-to="Event.take" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstEvent to point to a different #GstEvent. This
|
|
function is similar to gst_event_replace() except that it takes ownership of
|
|
@new_event.
|
|
|
|
Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_event was different from @old_event</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_event" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstEvent to be stolen.</doc>
|
|
<type name="Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
<parameter name="new_event" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstEvent that will
|
|
replace the event pointed to by @old_event.</doc>
|
|
<type name="Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_type_get_flags" c:identifier="gst_event_type_get_flags" moved-to="EventType.get_flags">
|
|
<doc xml:space="preserve">Gets the #GstEventTypeFlags associated with @type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEventTypeFlags.</doc>
|
|
<type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstEventType</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_type_get_name" c:identifier="gst_event_type_get_name" moved-to="EventType.get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given event type. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference to the static name of the event.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the event type</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_type_to_quark" c:identifier="gst_event_type_to_quark" moved-to="EventType.to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given event type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the event type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the event type</doc>
|
|
<type name="EventType" c:type="GstEventType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="filename_to_uri" c:identifier="gst_filename_to_uri" throws="1">
|
|
<doc xml:space="preserve">Similar to g_filename_to_uri(), but attempts to handle relative file paths
|
|
as well. Before converting @filename into an URI, it will be prefixed by
|
|
the current working directory if it is a relative path, and then the path
|
|
will be canonicalised so that it doesn't contain any './' or '../' segments.
|
|
|
|
On Windows @filename should be in UTF-8 encoding.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">newly-allocated URI string, or NULL on error. The caller must
|
|
free the URI string with g_free() when no longer needed.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">absolute or relative file name path</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="flow_get_name" c:identifier="gst_flow_get_name">
|
|
<doc xml:space="preserve">Gets a string representing the given flow return.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a static string with the name of the flow return.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn to get the name of.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="flow_to_quark" c:identifier="gst_flow_to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given GstFlowReturn.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the flow return or 0 if an
|
|
invalid return was specified.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ret" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn to get the quark of.</doc>
|
|
<type name="FlowReturn" c:type="GstFlowReturn"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="format_get_by_nick" c:identifier="gst_format_get_by_nick" moved-to="Format.get_by_nick">
|
|
<doc xml:space="preserve">Return the format registered with the given nick.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The format with @nick or GST_FORMAT_UNDEFINED
|
|
if the format was not registered.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">The nick of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="format_get_details" c:identifier="gst_format_get_details" moved-to="Format.get_details">
|
|
<doc xml:space="preserve">Get details about the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The #GstFormatDefinition for @format or %NULL
|
|
on failure.
|
|
|
|
MT safe.</doc>
|
|
<type name="FormatDefinition" c:type="const GstFormatDefinition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format to get details of</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="format_get_name" c:identifier="gst_format_get_name" moved-to="Format.get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given format. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a reference to the static name of the format
|
|
or %NULL if the format is unknown.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="format_iterate_definitions" c:identifier="gst_format_iterate_definitions" moved-to="Format.iterate_definitions">
|
|
<doc xml:space="preserve">Iterate all the registered formats. The format definition is read
|
|
only.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a GstIterator of #GstFormatDefinition.</doc>
|
|
<type name="Iterator" c:type="GstIterator*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="format_register" c:identifier="gst_format_register" moved-to="Format.register">
|
|
<doc xml:space="preserve">Create a new GstFormat based on the nick or return an
|
|
already registered format with that nick.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A new GstFormat or an already registered format
|
|
with the same nick.
|
|
|
|
MT safe.</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">The nick of the new format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">The description of the new format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="format_to_quark" c:identifier="gst_format_to_quark" moved-to="Format.to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the format or 0 if the format
|
|
is unknown.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFormat</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="formats_contains" c:identifier="gst_formats_contains">
|
|
<doc xml:space="preserve">See if the given format is inside the format array.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the format is found inside the array</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="formats" transfer-ownership="none">
|
|
<doc xml:space="preserve">The format array to search</doc>
|
|
<array c:type="const GstFormat*">
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format to find</doc>
|
|
<type name="Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="gdouble_to_guint64" c:identifier="gst_gdouble_to_guint64" introspectable="0">
|
|
<doc xml:space="preserve">Convert @value to a guint64.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="value">
|
|
<doc xml:space="preserve">the #gdouble value to convert</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="get_main_executable_path" c:identifier="gst_get_main_executable_path" version="1.14">
|
|
<doc xml:space="preserve">This helper is mostly helpful for plugins that need to
|
|
inspect the folder of the main executable to determine
|
|
their set of features.
|
|
|
|
When a plugin is initialized from the gst-plugin-scanner
|
|
external process, the returned path will be the same as from the
|
|
parent process.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The path of the executable that
|
|
initialized GStreamer, or %NULL if it could not be determined.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
</function>
|
|
<function-macro name="guint64_to_gdouble" c:identifier="gst_guint64_to_gdouble" introspectable="0">
|
|
<doc xml:space="preserve">Convert @value to a gdouble.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="value">
|
|
<doc xml:space="preserve">the #guint64 value to convert</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="info_strdup_printf" c:identifier="gst_info_strdup_printf" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Allocates, fills and returns a 0-terminated string from the printf style
|
|
@format string and corresponding arguments.
|
|
|
|
See gst_info_vasprintf() for when this function is required.
|
|
|
|
Free with g_free().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly allocated null terminated string or %NULL on any error</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the printf arguments for @format</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="info_strdup_vprintf" c:identifier="gst_info_strdup_vprintf" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Allocates, fills and returns a null terminated string from the printf style
|
|
@format string and @args.
|
|
|
|
See gst_info_vasprintf() for when this function is required.
|
|
|
|
Free with g_free().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly allocated null terminated string or %NULL on any error</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="args" transfer-ownership="none">
|
|
<doc xml:space="preserve">the va_list of printf arguments for @format</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="info_vasprintf" c:identifier="gst_info_vasprintf" version="1.8" introspectable="0">
|
|
<doc xml:space="preserve">Allocates and fills a string large enough (including the terminating null
|
|
byte) to hold the specified printf style @format and @args.
|
|
|
|
This function deals with the GStreamer specific printf specifiers
|
|
#GST_PTR_FORMAT and #GST_SEGMENT_FORMAT. If you do not have these specifiers
|
|
in your @format string, you do not need to use this function and can use
|
|
alternatives such as g_vasprintf().
|
|
|
|
Free @result with g_free().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the length of the string allocated into @result or -1 on any error</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="result" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the resulting string</doc>
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="args" transfer-ownership="none">
|
|
<doc xml:space="preserve">the va_list of printf arguments for @format</doc>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="init" c:identifier="gst_init">
|
|
<doc xml:space="preserve">Initializes the GStreamer library, setting up internal path lists,
|
|
registering built-in elements, and loading standard plugins.
|
|
|
|
Unless the plugin registry is disabled at compile time, the registry will be
|
|
loaded. By default this will also check if the registry cache needs to be
|
|
updated and rescan all plugins if needed. See gst_update_registry() for
|
|
details and section
|
|
<link linkend="gst-running">Running GStreamer Applications</link>
|
|
for how to disable automatic registry updates.
|
|
|
|
> This function will terminate your program if it was unable to initialize
|
|
> GStreamer for some reason. If you want your program to fall back,
|
|
> use gst_init_check() instead.
|
|
|
|
WARNING: This function does not work in the same way as corresponding
|
|
functions in other glib-style libraries, such as gtk_init\(\). In
|
|
particular, unknown command line options cause this function to
|
|
abort program execution.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="argc" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to application's argc</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="argv" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to application's argv</doc>
|
|
<array length="0" zero-terminated="0" c:type="char***">
|
|
<type name="utf8" c:type="char**"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="init_check" c:identifier="gst_init_check" throws="1">
|
|
<doc xml:space="preserve">Initializes the GStreamer library, setting up internal path lists,
|
|
registering built-in elements, and loading standard plugins.
|
|
|
|
This function will return %FALSE if GStreamer could not be initialized
|
|
for some reason. If you want your program to fail fatally,
|
|
use gst_init() instead.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if GStreamer could be initialized.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="argc" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to application's argc</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="argv" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to application's argv</doc>
|
|
<array length="0" zero-terminated="0" c:type="char***">
|
|
<type name="utf8" c:type="char**"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="init_get_option_group" c:identifier="gst_init_get_option_group" introspectable="0">
|
|
<doc xml:space="preserve">Returns a #GOptionGroup with GStreamer's argument specifications. The
|
|
group is set up to use standard GOption callbacks, so when using this
|
|
group in combination with GOption parsing methods, all argument parsing
|
|
and initialization is automated.
|
|
|
|
This function is useful if you want to integrate GStreamer with other
|
|
libraries that use GOption (see g_option_context_add_group() ).
|
|
|
|
If you use this function, you should make sure you initialise the GLib
|
|
threading system as one of the very first things in your program
|
|
(see the example at the beginning of this section).</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a pointer to GStreamer's option group.</doc>
|
|
<type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="is_caps_features" c:identifier="gst_is_caps_features">
|
|
<doc xml:space="preserve">Checks if @obj is a #GstCapsFeatures</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @obj is a #GstCapsFeatures %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="obj" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_initialized" c:identifier="gst_is_initialized">
|
|
<doc xml:space="preserve">Use this function to check if GStreamer has been initialized with gst_init()
|
|
or gst_init_check().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if initialization has been done, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="library_error_quark" c:identifier="gst_library_error_quark" moved-to="LibraryError.quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="make_element_message_details" c:identifier="gst_make_element_message_details" version="1.10" introspectable="0">
|
|
<doc xml:space="preserve">Create a #GstStructure to be used with #gst_element_message_full_with_details</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">Name of the first field to set</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">variable arguments in the same form as #GstStructure</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="memory_is_writable" c:identifier="gst_memory_is_writable" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="m">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="memory_lock" c:identifier="gst_memory_lock" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="m">
|
|
</parameter>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="memory_make_writable" c:identifier="gst_memory_make_writable" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="m">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="memory_unlock" c:identifier="gst_memory_unlock" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="m">
|
|
</parameter>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="message_is_writable" c:identifier="gst_message_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely write into a message's structure or validly
|
|
modify the seqnum and timestamp fields.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="msg">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="message_make_writable" c:identifier="gst_message_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Checks if a message is writable. If not, a writable copy is made and
|
|
returned.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="msg">
|
|
<doc xml:space="preserve">the message to make writable</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="message_new_duration" c:identifier="gst_message_new_duration" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="src">
|
|
</parameter>
|
|
<parameter name="fmt">
|
|
</parameter>
|
|
<parameter name="dur">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="message_parse_duration" c:identifier="gst_message_parse_duration" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="msg">
|
|
</parameter>
|
|
<parameter name="fmt">
|
|
</parameter>
|
|
<parameter name="dur">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="message_replace" c:identifier="gst_message_replace" moved-to="Message.replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstMessage to point to a different #GstMessage. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
message is unreffed, the new one is reffed).
|
|
|
|
Either @new_message or the #GstMessage pointed to by @old_message may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_message was different from @old_message</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_message" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a
|
|
pointer to a #GstMessage to be replaced.</doc>
|
|
<type name="Message" c:type="GstMessage**"/>
|
|
</parameter>
|
|
<parameter name="new_message" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstMessage that will
|
|
replace the message pointed to by @old_message.</doc>
|
|
<type name="Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_type_get_name" c:identifier="gst_message_type_get_name" moved-to="MessageType.get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given message type. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference to the static name of the message.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message type</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_type_to_quark" c:identifier="gst_message_type_to_quark" moved-to="MessageType.to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given message type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the message type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the message type</doc>
|
|
<type name="MessageType" c:type="GstMessageType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="meta_api_type_get_tags" c:identifier="gst_meta_api_type_get_tags" moved-to="Meta.api_type_get_tags" version="1.2">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an array of tags as strings.</doc>
|
|
<array c:type="const gchar* const*">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">an API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="meta_api_type_has_tag" c:identifier="gst_meta_api_type_has_tag" moved-to="Meta.api_type_has_tag">
|
|
<doc xml:space="preserve">Check if @api was registered with @tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @api was registered with @tag.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">an API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag to check</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="meta_api_type_register" c:identifier="gst_meta_api_type_register" moved-to="Meta.api_type_register">
|
|
<doc xml:space="preserve">Register and return a GType for the @api and associate it with
|
|
@tags.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a unique GType for @api.</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">an API to register</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="tags" transfer-ownership="none">
|
|
<doc xml:space="preserve">tags for @api</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="meta_get_info" c:identifier="gst_meta_get_info" moved-to="Meta.get_info">
|
|
<doc xml:space="preserve">Lookup a previously registered meta info structure by its implementation name
|
|
@impl.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #GstMetaInfo with @impl, or
|
|
%NULL when no such metainfo exists.</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="impl" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="meta_register" c:identifier="gst_meta_register" moved-to="Meta.register">
|
|
<doc xml:space="preserve">Register a new #GstMeta implementation.
|
|
|
|
The same @info can be retrieved later with gst_meta_get_info() by using
|
|
@impl as the key.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #GstMetaInfo that can be used to
|
|
access metadata.</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="api" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type of the #GstMeta API</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="impl" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the #GstMeta implementation</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the #GstMeta structure</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="init_func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GstMetaInitFunction</doc>
|
|
<type name="MetaInitFunction" c:type="GstMetaInitFunction"/>
|
|
</parameter>
|
|
<parameter name="free_func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GstMetaFreeFunction</doc>
|
|
<type name="MetaFreeFunction" c:type="GstMetaFreeFunction"/>
|
|
</parameter>
|
|
<parameter name="transform_func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GstMetaTransformFunction</doc>
|
|
<type name="MetaTransformFunction" c:type="GstMetaTransformFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="mini_object_replace" c:identifier="gst_mini_object_replace" moved-to="MiniObject.replace">
|
|
<doc xml:space="preserve">Atomically modifies a pointer to point to a new mini-object.
|
|
The reference count of @olddata is decreased and the reference count of
|
|
@newdata is increased.
|
|
|
|
Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newdata was different from @olddata</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="olddata" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer to a
|
|
mini-object to be replaced</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
<parameter name="newdata" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to new mini-object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="mini_object_steal" c:identifier="gst_mini_object_steal" moved-to="MiniObject.steal" introspectable="0">
|
|
<doc xml:space="preserve">Replace the current #GstMiniObject pointer to by @olddata with %NULL and
|
|
return the old value.</doc>
|
|
|
|
<return-value nullable="1">
|
|
<doc xml:space="preserve">the #GstMiniObject at @oldata</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="olddata" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a pointer to a mini-object to
|
|
be stolen</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="mini_object_take" c:identifier="gst_mini_object_take" moved-to="MiniObject.take">
|
|
<doc xml:space="preserve">Modifies a pointer to point to a new mini-object. The modification
|
|
is done atomically. This version is similar to gst_mini_object_replace()
|
|
except that it does not increase the refcount of @newdata and thus
|
|
takes ownership of @newdata.
|
|
|
|
Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newdata was different from @olddata</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="olddata" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a pointer to a mini-object to
|
|
be replaced</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject**"/>
|
|
</parameter>
|
|
<parameter name="newdata" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to new mini-object</doc>
|
|
<type name="MiniObject" c:type="GstMiniObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="pad_get_caps_reffed" c:identifier="gst_pad_get_caps_reffed" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_get_name" c:identifier="gst_pad_get_name" introspectable="0">
|
|
<doc xml:space="preserve">Get a copy of the name of the pad. g_free() after usage.
|
|
|
|
MT safe.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">the pad to get the name from</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_get_parent" c:identifier="gst_pad_get_parent" introspectable="0">
|
|
<doc xml:space="preserve">Get the parent of @pad. This function increases the refcount
|
|
of the parent object so you should gst_object_unref() it after usage.
|
|
Can return %NULL if the pad did not have a parent.
|
|
|
|
MT safe.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="pad">
|
|
<doc xml:space="preserve">the pad to get the parent of</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="pad_mode_get_name" c:identifier="gst_pad_mode_get_name" moved-to="PadMode.get_name">
|
|
<doc xml:space="preserve">Return the name of a pad mode, for use in debug messages mostly.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">short mnemonic for pad mode @mode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the pad mode</doc>
|
|
<type name="PadMode" c:type="GstPadMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="pad_peer_get_caps_reffed" c:identifier="gst_pad_peer_get_caps_reffed" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_activate_function" c:identifier="gst_pad_set_activate_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_activate_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadActivateFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_activatemode_function" c:identifier="gst_pad_set_activatemode_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_activatemode_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadActivateModeFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_chain_function" c:identifier="gst_pad_set_chain_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_chain_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a sink #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadChainFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_chain_list_function" c:identifier="gst_pad_set_chain_list_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_chain_list_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a sink #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadChainListFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_event_full_function" c:identifier="gst_pad_set_event_full_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_event_full_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadEventFullFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_event_function" c:identifier="gst_pad_set_event_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_event_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadEventFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_getrange_function" c:identifier="gst_pad_set_getrange_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_getrange_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a source #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadGetRangeFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_iterate_internal_links_function" c:identifier="gst_pad_set_iterate_internal_links_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_iterate_internal_links_function_full() with %NULL
|
|
for the user_data and notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadIterIntLinkFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_link_function" c:identifier="gst_pad_set_link_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_link_function_full() with %NULL
|
|
for the user_data and notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadLinkFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_query_function" c:identifier="gst_pad_set_query_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_query_function_full() with %NULL for the user_data and
|
|
notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad of either direction.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadQueryFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="pad_set_unlink_function" c:identifier="gst_pad_set_unlink_function" introspectable="0">
|
|
<doc xml:space="preserve">Calls gst_pad_set_unlink_function_full() with %NULL
|
|
for the user_data and notify.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="p">
|
|
<doc xml:space="preserve">a #GstPad.</doc>
|
|
</parameter>
|
|
<parameter name="f">
|
|
<doc xml:space="preserve">the #GstPadUnlinkFunction to set.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="param_spec_array" c:identifier="gst_param_spec_array" version="1.14">
|
|
<doc xml:space="preserve">This function creates a GstArray GParamSpec for use by objects/elements
|
|
that want to expose properties of GstArray type. This function is
|
|
typically * used in connection with g_object_class_install_property() in a
|
|
GObjects's instance_init function.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly created parameter specification</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">canonical name of the property specified</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">nick name for the property specified</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="blurb" transfer-ownership="none">
|
|
<doc xml:space="preserve">description of the property specified</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="element_spec" transfer-ownership="none">
|
|
<doc xml:space="preserve">GParamSpec of the array</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags for the property specified</doc>
|
|
<type name="GObject.ParamFlags" c:type="GParamFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="param_spec_fraction" c:identifier="gst_param_spec_fraction">
|
|
<doc xml:space="preserve">This function creates a fraction GParamSpec for use by objects/elements
|
|
that want to expose properties of fraction type. This function is typically
|
|
used in connection with g_object_class_install_property() in a GObjects's
|
|
instance_init function.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly created parameter specification</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">canonical name of the property specified</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">nick name for the property specified</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="blurb" transfer-ownership="none">
|
|
<doc xml:space="preserve">description of the property specified</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="min_num" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum value (fraction numerator)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="min_denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum value (fraction denominator)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="max_num" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum value (fraction numerator)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="max_denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum value (fraction denominator)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="default_num" transfer-ownership="none">
|
|
<doc xml:space="preserve">default value (fraction numerator)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="default_denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">default value (fraction denominator)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags for the property specified</doc>
|
|
<type name="GObject.ParamFlags" c:type="GParamFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parent_buffer_meta_api_get_type" c:identifier="gst_parent_buffer_meta_api_get_type">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="parent_buffer_meta_get_info" c:identifier="gst_parent_buffer_meta_get_info" moved-to="ParentBufferMeta.get_info" version="1.6">
|
|
<doc xml:space="preserve">Get the global #GstMetaInfo describing the #GstParentBufferMeta meta.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMetaInfo</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="parse_bin_from_description" c:identifier="gst_parse_bin_from_description" throws="1">
|
|
<doc xml:space="preserve">This is a convenience wrapper around gst_parse_launch() to create a
|
|
#GstBin from a gst-launch-style pipeline description. See
|
|
gst_parse_launch() and the gst-launch man page for details about the
|
|
syntax. Ghost pads on the bin for unlinked source or sink pads
|
|
within the bin can automatically be created (but only a maximum of
|
|
one ghost pad for each direction will be created; if you expect
|
|
multiple unlinked source pads or multiple unlinked sink pads
|
|
and want them all ghosted, you will have to create the ghost pads
|
|
yourself).</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a
|
|
newly-created bin, or %NULL if an error occurred.</doc>
|
|
<type name="Bin" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin_description" transfer-ownership="none">
|
|
<doc xml:space="preserve">command line describing the bin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="ghost_unlinked_pads" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to automatically create ghost pads
|
|
for unlinked source or sink pads within the bin</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_bin_from_description_full" c:identifier="gst_parse_bin_from_description_full" throws="1">
|
|
<doc xml:space="preserve">This is a convenience wrapper around gst_parse_launch() to create a
|
|
#GstBin from a gst-launch-style pipeline description. See
|
|
gst_parse_launch() and the gst-launch man page for details about the
|
|
syntax. Ghost pads on the bin for unlinked source or sink pads
|
|
within the bin can automatically be created (but only a maximum of
|
|
one ghost pad for each direction will be created; if you expect
|
|
multiple unlinked source pads or multiple unlinked sink pads
|
|
and want them all ghosted, you will have to create the ghost pads
|
|
yourself).</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a newly-created
|
|
element, which is guaranteed to be a bin unless
|
|
#GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or %NULL if an error
|
|
occurred.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bin_description" transfer-ownership="none">
|
|
<doc xml:space="preserve">command line describing the bin</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="ghost_unlinked_pads" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to automatically create ghost pads
|
|
for unlinked source or sink pads within the bin</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a parse context allocated with
|
|
gst_parse_context_new(), or %NULL</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">parsing options, or #GST_PARSE_FLAG_NONE</doc>
|
|
<type name="ParseFlags" c:type="GstParseFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_error_quark" c:identifier="gst_parse_error_quark" moved-to="ParseError.quark">
|
|
<doc xml:space="preserve">Get the error quark used by the parsing subsystem.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark of the parse errors.</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="parse_launch" c:identifier="gst_parse_launch" throws="1">
|
|
<doc xml:space="preserve">Create a new pipeline based on command line syntax.
|
|
Please note that you might get a return value that is not %NULL even though
|
|
the @error is set. In this case there was a recoverable parsing error and you
|
|
can try to play the pipeline.
|
|
|
|
To create a sub-pipeline (bin) for embedding into an existing pipeline
|
|
use gst_parse_bin_from_description().</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new element on success, %NULL on
|
|
failure. If more than one toplevel element is specified by the
|
|
@pipeline_description, all elements are put into a #GstPipeline, which
|
|
than is returned.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pipeline_description" transfer-ownership="none">
|
|
<doc xml:space="preserve">the command line describing the pipeline</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_launch_full" c:identifier="gst_parse_launch_full" throws="1">
|
|
<doc xml:space="preserve">Create a new pipeline based on command line syntax.
|
|
Please note that you might get a return value that is not %NULL even though
|
|
the @error is set. In this case there was a recoverable parsing error and you
|
|
can try to play the pipeline.
|
|
|
|
To create a sub-pipeline (bin) for embedding into an existing pipeline
|
|
use gst_parse_bin_from_description_full().</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new element on success, %NULL on
|
|
failure. If more than one toplevel element is specified by the
|
|
@pipeline_description, all elements are put into a #GstPipeline, which
|
|
then is returned (unless the GST_PARSE_FLAG_PLACE_IN_BIN flag is set, in
|
|
which case they are put in a #GstBin instead).</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pipeline_description" transfer-ownership="none">
|
|
<doc xml:space="preserve">the command line describing the pipeline</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a parse context allocated with
|
|
gst_parse_context_new(), or %NULL</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">parsing options, or #GST_PARSE_FLAG_NONE</doc>
|
|
<type name="ParseFlags" c:type="GstParseFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_launchv" c:identifier="gst_parse_launchv" throws="1">
|
|
<doc xml:space="preserve">Create a new element based on command line syntax.
|
|
@error will contain an error message if an erroneous pipeline is specified.
|
|
An error does not mean that the pipeline could not be constructed.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new element on success and %NULL
|
|
on failure.</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="argv" transfer-ownership="none">
|
|
<doc xml:space="preserve">null-terminated array of arguments</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_launchv_full" c:identifier="gst_parse_launchv_full" throws="1">
|
|
<doc xml:space="preserve">Create a new element based on command line syntax.
|
|
@error will contain an error message if an erroneous pipeline is specified.
|
|
An error does not mean that the pipeline could not be constructed.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a new element on success; on
|
|
failure, either %NULL or a partially-constructed bin or element will be
|
|
returned and @error will be set (unless you passed
|
|
#GST_PARSE_FLAG_FATAL_ERRORS in @flags, then %NULL will always be returned
|
|
on failure)</doc>
|
|
<type name="Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="argv" transfer-ownership="none">
|
|
<doc xml:space="preserve">null-terminated array of arguments</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a parse context allocated with
|
|
gst_parse_context_new(), or %NULL</doc>
|
|
<type name="ParseContext" c:type="GstParseContext*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">parsing options, or #GST_PARSE_FLAG_NONE</doc>
|
|
<type name="ParseFlags" c:type="GstParseFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="plugin_error_quark" c:identifier="gst_plugin_error_quark" moved-to="PluginError.quark">
|
|
<doc xml:space="preserve">Get the error quark.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The error quark used in GError messages</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function-macro name="plugin_feature_get_name" c:identifier="gst_plugin_feature_get_name" introspectable="0">
|
|
<doc xml:space="preserve">Returns the name of @feature.
|
|
For a nameless plugin feature, this returns %NULL.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="feature">
|
|
<doc xml:space="preserve">a #GstPluginFeature to get the name of @feature.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="plugin_feature_set_name" c:identifier="gst_plugin_feature_set_name" introspectable="0">
|
|
<doc xml:space="preserve">Sets the name of the plugin feature, getting rid of the old name if there was one.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="feature">
|
|
<doc xml:space="preserve">a #GstPluginFeature to set the name of.</doc>
|
|
</parameter>
|
|
<parameter name="name">
|
|
<doc xml:space="preserve">the new name</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="poll_new" c:identifier="gst_poll_new" moved-to="Poll.new" introspectable="0">
|
|
<doc xml:space="preserve">Create a new file descriptor set. If @controllable, it
|
|
is possible to restart or flush a call to gst_poll_wait() with
|
|
gst_poll_restart() and gst_poll_set_flushing() respectively.
|
|
|
|
Free-function: gst_poll_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPoll, or %NULL in
|
|
case of an error. Free with gst_poll_free().</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="controllable" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether it should be possible to control a wait.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="poll_new_timer" c:identifier="gst_poll_new_timer" moved-to="Poll.new_timer" introspectable="0">
|
|
<doc xml:space="preserve">Create a new poll object that can be used for scheduling cancellable
|
|
timeouts.
|
|
|
|
A timeout is performed with gst_poll_wait(). Multiple timeouts can be
|
|
performed from different threads.
|
|
|
|
Free-function: gst_poll_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstPoll, or %NULL in
|
|
case of an error. Free with gst_poll_free().</doc>
|
|
<type name="Poll" c:type="GstPoll*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="preset_get_app_dir" c:identifier="gst_preset_get_app_dir" moved-to="Preset.get_app_dir">
|
|
<doc xml:space="preserve">Gets the directory for application specific presets if set by the
|
|
application.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the directory or %NULL, don't free or modify
|
|
the string</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="preset_set_app_dir" c:identifier="gst_preset_set_app_dir" moved-to="Preset.set_app_dir">
|
|
<doc xml:space="preserve">Sets an extra directory as an absolute path that should be considered when
|
|
looking for presets. Any presets in the application dir will shadow the
|
|
system presets.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for success, %FALSE if the dir already has been set</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="app_dir" transfer-ownership="none">
|
|
<doc xml:space="preserve">the application specific preset dir</doc>
|
|
<type name="filename" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="print" c:identifier="gst_print" version="1.12" introspectable="0">
|
|
<doc xml:space="preserve">Outputs a formatted message via the GLib print handler. The default print
|
|
handler simply outputs the message to stdout.
|
|
|
|
This function will not append a new-line character at the end, unlike
|
|
gst_println() which will.
|
|
|
|
All strings must be in ASCII or UTF-8 encoding.
|
|
|
|
This function differs from g_print() in that it supports all the additional
|
|
printf specifiers that are supported by GStreamer's debug logging system,
|
|
such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
|
|
|
|
This function is primarily for printing debug output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the printf arguments for @format</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="printerr" c:identifier="gst_printerr" version="1.12" introspectable="0">
|
|
<doc xml:space="preserve">Outputs a formatted message via the GLib error message handler. The default
|
|
handler simply outputs the message to stderr.
|
|
|
|
This function will not append a new-line character at the end, unlike
|
|
gst_printerrln() which will.
|
|
|
|
All strings must be in ASCII or UTF-8 encoding.
|
|
|
|
This function differs from g_printerr() in that it supports the additional
|
|
printf specifiers that are supported by GStreamer's debug logging system,
|
|
such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
|
|
|
|
This function is primarily for printing debug output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the printf arguments for @format</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="printerrln" c:identifier="gst_printerrln" version="1.12" introspectable="0">
|
|
<doc xml:space="preserve">Outputs a formatted message via the GLib error message handler. The default
|
|
handler simply outputs the message to stderr.
|
|
|
|
This function will append a new-line character at the end, unlike
|
|
gst_printerr() which will not.
|
|
|
|
All strings must be in ASCII or UTF-8 encoding.
|
|
|
|
This function differs from g_printerr() in that it supports the additional
|
|
printf specifiers that are supported by GStreamer's debug logging system,
|
|
such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
|
|
|
|
This function is primarily for printing debug output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the printf arguments for @format</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="println" c:identifier="gst_println" version="1.12" introspectable="0">
|
|
<doc xml:space="preserve">Outputs a formatted message via the GLib print handler. The default print
|
|
handler simply outputs the message to stdout.
|
|
|
|
This function will append a new-line character at the end, unlike
|
|
gst_print() which will not.
|
|
|
|
All strings must be in ASCII or UTF-8 encoding.
|
|
|
|
This function differs from g_print() in that it supports all the additional
|
|
printf specifiers that are supported by GStreamer's debug logging system,
|
|
such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
|
|
|
|
This function is primarily for printing debug output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a printf style format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">the printf arguments for @format</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="protection_filter_systems_by_available_decryptors" c:identifier="gst_protection_filter_systems_by_available_decryptors" version="1.14">
|
|
<doc xml:space="preserve">Iterates the supplied list of UUIDs and checks the GstRegistry for
|
|
all the decryptors supporting one of the supplied UUIDs.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">
|
|
A null terminated array containing all
|
|
the @system_identifiers supported by the set of available decryptors, or
|
|
%NULL if no matches were found.</doc>
|
|
<array c:type="gchar**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="system_identifiers" transfer-ownership="none">
|
|
<doc xml:space="preserve">
|
|
A null terminated array of strings that contains the UUID values of each
|
|
protection system that is to be checked.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="protection_meta_api_get_type" c:identifier="gst_protection_meta_api_get_type">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="protection_meta_get_info" c:identifier="gst_protection_meta_get_info" moved-to="ProtectionMeta.get_info">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="protection_select_system" c:identifier="gst_protection_select_system" version="1.6">
|
|
<doc xml:space="preserve">Iterates the supplied list of UUIDs and checks the GstRegistry for
|
|
an element that supports one of the supplied UUIDs. If more than one
|
|
element matches, the system ID of the highest ranked element is selected.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">One of the strings from
|
|
@system_identifiers that indicates the highest ranked element that
|
|
implements the protection system indicated by that system ID, or %NULL if no
|
|
element has been found.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="system_identifiers" transfer-ownership="none">
|
|
<doc xml:space="preserve">A null terminated array of strings
|
|
that contains the UUID values of each protection system that is to be
|
|
checked.</doc>
|
|
<array c:type="const gchar**">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="query_is_writable" c:identifier="gst_query_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely write data into a query's structure.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="q">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="query_make_writable" c:identifier="gst_query_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Makes a writable query from the given query.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="q">
|
|
<doc xml:space="preserve">a #GstQuery to make writable</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="query_replace" c:identifier="gst_query_replace" moved-to="Query.replace" introspectable="0">
|
|
<doc xml:space="preserve">Modifies a pointer to a #GstQuery to point to a different #GstQuery. The
|
|
modification is done atomically (so this is useful for ensuring thread safety
|
|
in some cases), and the reference counts are updated appropriately (the old
|
|
query is unreffed, the new one is reffed).
|
|
|
|
Either @new_query or the #GstQuery pointed to by @old_query may be %NULL.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_query was different from @old_query</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="old_query" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a pointer to a
|
|
#GstQuery to be replaced.</doc>
|
|
<type name="Query" c:type="GstQuery**"/>
|
|
</parameter>
|
|
<parameter name="new_query" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a #GstQuery that will
|
|
replace the query pointed to by @old_query.</doc>
|
|
<type name="Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_type_get_flags" c:identifier="gst_query_type_get_flags" moved-to="QueryType.get_flags">
|
|
<doc xml:space="preserve">Gets the #GstQueryTypeFlags associated with @type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQueryTypeFlags.</doc>
|
|
<type name="QueryTypeFlags" c:type="GstQueryTypeFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQueryType</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_type_get_name" c:identifier="gst_query_type_get_name" moved-to="QueryType.get_name">
|
|
<doc xml:space="preserve">Get a printable name for the given query type. Do not modify or free.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a reference to the static name of the query.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the query type</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_type_to_quark" c:identifier="gst_query_type_to_quark" moved-to="QueryType.to_quark">
|
|
<doc xml:space="preserve">Get the unique quark for the given query type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the quark associated with the query type</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the query type</doc>
|
|
<type name="QueryType" c:type="GstQueryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="reference_timestamp_meta_api_get_type" c:identifier="gst_reference_timestamp_meta_api_get_type">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="reference_timestamp_meta_get_info" c:identifier="gst_reference_timestamp_meta_get_info" moved-to="ReferenceTimestampMeta.get_info" version="1.14">
|
|
<doc xml:space="preserve">Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstMetaInfo</doc>
|
|
<type name="MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="resource_error_quark" c:identifier="gst_resource_error_quark" moved-to="ResourceError.quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function-macro name="sample_is_writable" c:identifier="gst_sample_is_writable" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely set the buffer and / or buffer list of @sample.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="sample">
|
|
<doc xml:space="preserve">A #GstSample</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="sample_make_writable" c:identifier="gst_sample_make_writable" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Returns a writable copy of @sample. If the source sample is
|
|
already writable, this will simply return the same sample.
|
|
|
|
Use this function to ensure that a sample can be safely modified before
|
|
making changes to it, for example before calling gst_sample_set_buffer()
|
|
|
|
If the reference count of the source sample @sample is exactly one, the caller
|
|
is the sole owner and this function will return the sample object unchanged.
|
|
|
|
If there is more than one reference on the object, a copy will be made using
|
|
gst_sample_copy(). The passed-in @sample will be unreffed in that case, and the
|
|
caller will now own a reference to the new returned sample object.
|
|
|
|
In short, this function unrefs the sample in the argument and refs the sample
|
|
that it returns. Don't access the argument after calling this function unless
|
|
you have an additional reference to it.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="sample">
|
|
<doc xml:space="preserve">A #GstSample</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="segtrap_is_enabled" c:identifier="gst_segtrap_is_enabled">
|
|
<doc xml:space="preserve">Some functions in the GStreamer core might install a custom SIGSEGV handler
|
|
to better catch and report errors to the application. Currently this feature
|
|
is enabled by default when loading plugins.
|
|
|
|
Applications might want to disable this behaviour with the
|
|
gst_segtrap_set_enabled() function. This is typically done if the application
|
|
wants to install its own handler without GStreamer interfering.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if GStreamer is allowed to install a custom SIGSEGV handler.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="segtrap_set_enabled" c:identifier="gst_segtrap_set_enabled">
|
|
<doc xml:space="preserve">Applications might want to disable/enable the SIGSEGV handling of
|
|
the GStreamer core. See gst_segtrap_is_enabled() for more information.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether a custom SIGSEGV handler should be installed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="state_change_get_name" c:identifier="gst_state_change_get_name" moved-to="StateChange.get_name" version="1.14">
|
|
<doc xml:space="preserve">Gets a string representing the given state transition.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a string with the name of the state
|
|
result.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStateChange to get the name of.</doc>
|
|
<type name="StateChange" c:type="GstStateChange"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="static_caps_get_type" c:identifier="gst_static_caps_get_type">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="static_pad_template_get_type" c:identifier="gst_static_pad_template_get_type">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="stream_error_quark" c:identifier="gst_stream_error_quark" moved-to="StreamError.quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="stream_type_get_name" c:identifier="gst_stream_type_get_name" moved-to="StreamType.get_name" version="1.10">
|
|
<doc xml:space="preserve">Get a descriptive string for a given #GstStreamType</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">A string describing the stream type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stype" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStreamType</doc>
|
|
<type name="StreamType" c:type="GstStreamType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="structure_take" c:identifier="gst_structure_take" moved-to="Structure.take" version="1.18">
|
|
<doc xml:space="preserve">Atomically modifies a pointer to point to a new structure.
|
|
The #GstStructure @oldstr_ptr is pointing to is freed and
|
|
@newstr is taken ownership over.
|
|
|
|
Either @newstr and the value pointed to by @oldstr_ptr may be %NULL.
|
|
|
|
It is a programming error if both @newstr and the value pointed to by
|
|
@oldstr_ptr refer to the same, non-%NULL structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @newstr was different from @oldstr_ptr</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oldstr_ptr" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to a place of
|
|
a #GstStructure to take</doc>
|
|
<type name="Structure" c:type="GstStructure**"/>
|
|
</parameter>
|
|
<parameter name="newstr" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a new #GstStructure</doc>
|
|
<type name="Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_exists" c:identifier="gst_tag_exists">
|
|
<doc xml:space="preserve">Checks if the given type is already registered.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the type is already registered</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">name of the tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_get_description" c:identifier="gst_tag_get_description">
|
|
<doc xml:space="preserve">Returns the human-readable description of this tag, You must not change or
|
|
free this string.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the human-readable description of this tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_get_flag" c:identifier="gst_tag_get_flag">
|
|
<doc xml:space="preserve">Gets the flag of @tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the flag of this tag.</doc>
|
|
<type name="TagFlag" c:type="GstTagFlag"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_get_nick" c:identifier="gst_tag_get_nick">
|
|
<doc xml:space="preserve">Returns the human-readable name of this tag, You must not change or free
|
|
this string.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the human-readable name of this tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_get_type" c:identifier="gst_tag_get_type">
|
|
<doc xml:space="preserve">Gets the #GType used for this tag.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GType of this tag</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_is_fixed" c:identifier="gst_tag_is_fixed">
|
|
<doc xml:space="preserve">Checks if the given tag is fixed. A fixed tag can only contain one value.
|
|
Unfixed tags can contain lists of values.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if the given tag is fixed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to check</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_list_copy_value" c:identifier="gst_tag_list_copy_value" moved-to="TagList.copy_value">
|
|
<doc xml:space="preserve">Copies the contents for the given tag into the value,
|
|
merging multiple values into one if multiple values are associated
|
|
with the tag.
|
|
You must g_value_unset() the value after use.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
|
|
given list.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">uninitialized #GValue to copy into</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">list to get the tag from</doc>
|
|
<type name="TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="tag" transfer-ownership="none">
|
|
<doc xml:space="preserve">tag to read out</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="tag_list_free" c:identifier="gst_tag_list_free" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="taglist">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="tag_list_is_writable" c:identifier="gst_tag_list_is_writable" introspectable="0">
|
|
<doc xml:space="preserve">Tests if you can safely modify @taglist. It is only safe to modify taglist
|
|
when there is only one owner of the taglist - ie, the refcount is 1.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="taglist">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="tag_list_make_writable" c:identifier="gst_tag_list_make_writable" introspectable="0">
|
|
<doc xml:space="preserve">Returns a writable copy of @taglist.
|
|
|
|
If there is only one reference count on @taglist, the caller must be the
|
|
owner, and so this function will return the taglist object unchanged. If on
|
|
the other hand there is more than one reference on the object, a new taglist
|
|
object will be returned (which will be a copy of @taglist). The caller's
|
|
reference on @taglist will be removed, and instead the caller will own a
|
|
reference to the returned object.
|
|
|
|
In short, this function unrefs the taglist in the argument and refs the
|
|
taglist that it returns. Don't access the argument after calling this
|
|
function. See also: gst_tag_list_ref().</doc>
|
|
|
|
<parameters>
|
|
<parameter name="taglist">
|
|
<doc xml:space="preserve">a #GstTagList</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="tag_merge_strings_with_comma" c:identifier="gst_tag_merge_strings_with_comma">
|
|
<doc xml:space="preserve">This is a convenience function for the func argument of gst_tag_register().
|
|
It concatenates all given strings using a comma. The tag must be registered
|
|
as a G_TYPE_STRING or this function will fail.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">uninitialized GValue to store result in</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">GValue to copy from</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_merge_use_first" c:identifier="gst_tag_merge_use_first">
|
|
<doc xml:space="preserve">This is a convenience function for the func argument of gst_tag_register().
|
|
It creates a copy of the first value from the list.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">uninitialized GValue to store result in</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">GValue to copy from</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_register" c:identifier="gst_tag_register" introspectable="0">
|
|
<doc xml:space="preserve">Registers a new tag type for the use with GStreamer's type system. If a type
|
|
with that name is already registered, that one is used.
|
|
The old registration may have used a different type however. So don't rely
|
|
on your supplied values.
|
|
|
|
Important: if you do not supply a merge function the implication will be
|
|
that there can only be one single value for this tag in a tag list and
|
|
any additional values will silently be discarded when being added (unless
|
|
#GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or
|
|
#GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new
|
|
value will replace the old one in the list).
|
|
|
|
The merge function will be called from gst_tag_list_copy_value() when
|
|
it is required that one or more values for a tag be condensed into
|
|
one single value. This may happen from gst_tag_list_get_string(),
|
|
gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen
|
|
exactly in that case depends on how the tag was registered and if a
|
|
merge function was supplied and if so which one.
|
|
|
|
Two default merge functions are provided: gst_tag_merge_use_first() and
|
|
gst_tag_merge_strings_with_comma().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name or identifier string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="flag" transfer-ownership="none">
|
|
<doc xml:space="preserve">a flag describing the type of tag info</doc>
|
|
<type name="TagFlag" c:type="GstTagFlag"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type this data is in</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">human-readable name</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="blurb" transfer-ownership="none">
|
|
<doc xml:space="preserve">a human-readable description about this tag</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">function for merging multiple values of this tag, or %NULL</doc>
|
|
<type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tag_register_static" c:identifier="gst_tag_register_static" introspectable="0">
|
|
<doc xml:space="preserve">Registers a new tag type for the use with GStreamer's type system.
|
|
|
|
Same as gst_tag_register(), but @name, @nick, and @blurb must be
|
|
static strings or inlined strings, as they will not be copied. (GStreamer
|
|
plugins will be made resident once loaded, so this function can be used
|
|
even from dynamically loaded plugins.)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name or identifier string (string constant)</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="flag" transfer-ownership="none">
|
|
<doc xml:space="preserve">a flag describing the type of tag info</doc>
|
|
<type name="TagFlag" c:type="GstTagFlag"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type this data is in</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="nick" transfer-ownership="none">
|
|
<doc xml:space="preserve">human-readable name or short description (string constant)</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="blurb" transfer-ownership="none">
|
|
<doc xml:space="preserve">a human-readable description for this tag (string constant)</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">function for merging multiple values of this tag, or %NULL</doc>
|
|
<type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="toc_copy" c:identifier="gst_toc_copy" introspectable="0">
|
|
<doc xml:space="preserve">Copy #GstToc with all subentries (deep copy).</doc>
|
|
|
|
<parameters>
|
|
<parameter name="toc">
|
|
<doc xml:space="preserve">#GstToc to copy.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="toc_entry_copy" c:identifier="gst_toc_entry_copy" introspectable="0">
|
|
<doc xml:space="preserve">Copy #GstTocEntry with all subentries (deep copy).</doc>
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
<doc xml:space="preserve">#GstTocEntry to copy.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="toc_entry_make_writable" c:identifier="gst_toc_entry_make_writable" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="toc_entry_ref" c:identifier="gst_toc_entry_ref" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="toc_entry_type_get_nick" c:identifier="gst_toc_entry_type_get_nick" moved-to="TocEntryType.get_nick">
|
|
<doc xml:space="preserve">Converts @type to a string representation.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Returns a human-readable string for @type. This string is
|
|
only for debugging purpose and should not be displayed in a user
|
|
interface.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstTocEntryType.</doc>
|
|
<type name="TocEntryType" c:type="GstTocEntryType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="toc_entry_unref" c:identifier="gst_toc_entry_unref" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="entry">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="toc_make_writable" c:identifier="gst_toc_make_writable" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="toc">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="toc_ref" c:identifier="gst_toc_ref" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="toc">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="toc_unref" c:identifier="gst_toc_unref" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="toc">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="tracing_get_active_tracers" c:identifier="gst_tracing_get_active_tracers" version="1.18">
|
|
<doc xml:space="preserve">Get a list of all active tracer objects owned by the tracing framework for
|
|
the entirety of the run-time of the process or till gst_deinit() is called.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A #GList of
|
|
#GstTracer objects</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Tracer"/>
|
|
</type>
|
|
</return-value>
|
|
</function>
|
|
<function name="tracing_register_hook" c:identifier="gst_tracing_register_hook" version="1.8">
|
|
<doc xml:space="preserve">Register @func to be called when the trace hook @detail is getting invoked.
|
|
Use %NULL for @detail to register to all hooks.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tracer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the tracer</doc>
|
|
<type name="Tracer" c:type="GstTracer*"/>
|
|
</parameter>
|
|
<parameter name="detail" transfer-ownership="none">
|
|
<doc xml:space="preserve">the detailed hook</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">the callback</doc>
|
|
<type name="GObject.Callback" c:type="GCallback"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="type_find_get_type" c:identifier="gst_type_find_get_type">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="type_find_register" c:identifier="gst_type_find_register" moved-to="TypeFind.register">
|
|
<doc xml:space="preserve">Registers a new typefind function to be used for typefinding. After
|
|
registering this function will be available for typefinding.
|
|
This function is typically called during an element's plugin initialization.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="plugin" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">A #GstPlugin, or %NULL for a static typefind function</doc>
|
|
<type name="Plugin" c:type="GstPlugin*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name for registering</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="rank" transfer-ownership="none">
|
|
<doc xml:space="preserve">The rank (or importance) of this typefind function</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified" closure="6" destroy="7">
|
|
<doc xml:space="preserve">The #GstTypeFindFunction to use</doc>
|
|
<type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
|
|
</parameter>
|
|
<parameter name="extensions" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Optional comma-separated list of extensions
|
|
that could belong to this type</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="possible_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">Optionally the caps that could be returned when typefinding
|
|
succeeds</doc>
|
|
<type name="Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Optional user data. This user data must be available until the plugin
|
|
is unloaded.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="data_notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">a #GDestroyNotify that will be called on @data when the plugin
|
|
is unloaded.</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="type_is_plugin_api" c:identifier="gst_type_is_plugin_api" version="1.18">
|
|
<doc xml:space="preserve">Checks if @type is plugin API. See gst_type_mark_as_plugin_api() for
|
|
details.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @type is plugin API or %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GType</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="flags" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">What #GstPluginAPIFlags the plugin was marked with</doc>
|
|
<type name="PluginAPIFlags" c:type="GstPluginAPIFlags*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="type_mark_as_plugin_api" c:identifier="gst_type_mark_as_plugin_api" version="1.18">
|
|
<doc xml:space="preserve">Marks @type as plugin API. This should be called in `class_init` of
|
|
elements that expose new types (i.e. enums, flags or internal GObjects) via
|
|
properties, signals or pad templates.
|
|
|
|
Types exposed by plugins are not automatically added to the documentation
|
|
as they might originate from another library and should in that case be
|
|
documented via that library instead.
|
|
|
|
By marking a type as plugin API it will be included in the documentation of
|
|
the plugin that defines it.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GType</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a set of #GstPluginAPIFlags to further inform cache generation.</doc>
|
|
<type name="PluginAPIFlags" c:type="GstPluginAPIFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="update_registry" c:identifier="gst_update_registry">
|
|
<doc xml:space="preserve">Forces GStreamer to re-scan its plugin paths and update the default
|
|
plugin registry.
|
|
|
|
Applications will almost never need to call this function, it is only
|
|
useful if the application knows new plugins have been installed (or old
|
|
ones removed) since the start of the application (or, to be precise, the
|
|
first call to gst_init()) and the application wants to make use of any
|
|
newly-installed plugins without restarting the application.
|
|
|
|
Applications should assume that the registry update is neither atomic nor
|
|
thread-safe and should therefore not have any dynamic pipelines running
|
|
(including the playbin and decodebin elements) and should also not create
|
|
any elements or access the GStreamer registry while the update is in
|
|
progress.
|
|
|
|
Note that this function may block for a significant amount of time.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the registry has been updated successfully (does not
|
|
imply that there were changes), otherwise %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="uri_construct" c:identifier="gst_uri_construct" moved-to="Uri.construct" deprecated="1">
|
|
<doc xml:space="preserve">Constructs a URI for a given valid protocol and location.
|
|
|
|
Free-function: g_free</doc>
|
|
<doc-deprecated xml:space="preserve">Use GstURI instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new string for this URI. Returns %NULL if the
|
|
given URI protocol is not valid, or the given location is %NULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">Protocol for URI</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="location" transfer-ownership="none">
|
|
<doc xml:space="preserve">Location for URI</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_error_quark" c:identifier="gst_uri_error_quark" moved-to="URIError.quark">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="uri_from_string" c:identifier="gst_uri_from_string" moved-to="Uri.from_string" version="1.6">
|
|
<doc xml:space="preserve">Parses a URI string into a new #GstUri object. Will return NULL if the URI
|
|
cannot be parsed.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A new #GstUri object, or NULL.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The URI string to parse.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_from_string_escaped" c:identifier="gst_uri_from_string_escaped" moved-to="Uri.from_string_escaped" version="1.18">
|
|
<doc xml:space="preserve">Parses a URI string into a new #GstUri object. Will return NULL if the URI
|
|
cannot be parsed. This is identical to gst_uri_from_string() except that
|
|
the userinfo and fragment components of the URI will not be unescaped while
|
|
parsing.
|
|
|
|
Use this when you need to extract a username and password from the userinfo
|
|
such as https://user:password@example.com since either may contain
|
|
a URI-escaped ':' character. gst_uri_from_string() will unescape the entire
|
|
userinfo component, which will make it impossible to know which ':'
|
|
delineates the username and password.
|
|
|
|
The same applies to the fragment component of the URI, such as
|
|
https://example.com/path#fragment which may contain a URI-escaped '#'.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A new #GstUri object, or NULL.</doc>
|
|
<type name="Uri" c:type="GstUri*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The URI string to parse.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_get_location" c:identifier="gst_uri_get_location" moved-to="Uri.get_location">
|
|
<doc xml:space="preserve">Extracts the location out of a given valid URI, ie. the protocol and "://"
|
|
are stripped from the URI, which means that the location returned includes
|
|
the hostname if one is specified. The returned string must be freed using
|
|
g_free().
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the location for this URI. Returns
|
|
%NULL if the URI isn't valid. If the URI does not contain a location, an
|
|
empty string is returned.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">A URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_get_protocol" c:identifier="gst_uri_get_protocol" moved-to="Uri.get_protocol">
|
|
<doc xml:space="preserve">Extracts the protocol out of a given valid URI. The returned string must be
|
|
freed using g_free().</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">The protocol for this URI.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">A URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_has_protocol" c:identifier="gst_uri_has_protocol" moved-to="Uri.has_protocol">
|
|
<doc xml:space="preserve">Checks if the protocol of a given valid URI matches @protocol.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the protocol matches.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">a URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">a protocol string (e.g. "http")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_is_valid" c:identifier="gst_uri_is_valid" moved-to="Uri.is_valid">
|
|
<doc xml:space="preserve">Tests if the given string is a valid URI identifier. URIs start with a valid
|
|
scheme followed by ":" and maybe a string identifying the location.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the string is a valid URI</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">A URI string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_join_strings" c:identifier="gst_uri_join_strings" moved-to="Uri.join_strings" version="1.6">
|
|
<doc xml:space="preserve">This is a convenience function to join two URI strings and return the result.
|
|
The returned string should be g_free()'d after use.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A string representing the percent-encoded join of
|
|
the two URIs.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="base_uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The percent-encoded base URI.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="ref_uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The percent-encoded reference URI to join to the @base_uri.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_protocol_is_supported" c:identifier="gst_uri_protocol_is_supported" moved-to="Uri.protocol_is_supported">
|
|
<doc xml:space="preserve">Checks if an element exists that supports the given URI protocol. Note
|
|
that a positive return value does not imply that a subsequent call to
|
|
gst_element_make_from_uri() is guaranteed to work.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to check for a source or a sink</doc>
|
|
<type name="URIType" c:type="const GstURIType"/>
|
|
</parameter>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">Protocol that should be checked for (e.g. "http" or "smb")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="uri_protocol_is_valid" c:identifier="gst_uri_protocol_is_valid" moved-to="Uri.protocol_is_valid">
|
|
<doc xml:space="preserve">Tests if the given string is a valid protocol identifier. Protocols
|
|
must consist of alphanumeric characters, '+', '-' and '.' and must
|
|
start with a alphabetic character. See RFC 3986 Section 3.1.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the string is a valid protocol identifier, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="protocol" transfer-ownership="none">
|
|
<doc xml:space="preserve">A string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_array_binary_search" c:identifier="gst_util_array_binary_search">
|
|
<doc xml:space="preserve">Searches inside @array for @search_data by using the comparison function
|
|
@search_func. @array must be sorted ascending.
|
|
|
|
As @search_data is always passed as second argument to @search_func it's
|
|
not required that @search_data has the same type as the array elements.
|
|
|
|
The complexity of this search function is O(log (num_elements)).</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The address of the found
|
|
element or %NULL if nothing was found</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="array" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the sorted input array</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="num_elements" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of elements in the array</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="element_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of every element in bytes</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
<parameter name="search_func" transfer-ownership="none" scope="call" closure="6">
|
|
<doc xml:space="preserve">function to compare two elements, @search_data will always be passed as second argument</doc>
|
|
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">search mode that should be used</doc>
|
|
<type name="SearchMode" c:type="GstSearchMode"/>
|
|
</parameter>
|
|
<parameter name="search_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">element that should be found</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">data to pass to @search_func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_double_to_fraction" c:identifier="gst_util_double_to_fraction">
|
|
<doc xml:space="preserve">Transforms a #gdouble to a fraction and simplifies
|
|
the result.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">#gdouble to transform</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="dest_n" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a #gint to hold the result numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="dest_d" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a #gint to hold the result denominator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_dump_buffer" c:identifier="gst_util_dump_buffer" version="1.14">
|
|
<doc xml:space="preserve">Dumps the buffer memory into a hex representation. Useful for debugging.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer whose memory to dump</doc>
|
|
<type name="Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_dump_mem" c:identifier="gst_util_dump_mem">
|
|
<doc xml:space="preserve">Dumps the memory block into a hex representation. Useful for debugging.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mem" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to the memory to dump</doc>
|
|
<array length="1" zero-terminated="0" c:type="const guchar*">
|
|
<type name="guint8" c:type="guchar"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the memory block to dump</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_fraction_add" c:identifier="gst_util_fraction_add">
|
|
<doc xml:space="preserve">Adds the fractions @a_n/@a_d and @b_n/@b_d and stores
|
|
the result in @res_n and @res_d.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE on overflow, %TRUE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="a_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of first value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="a_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of first value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of second value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of second value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="res_n" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Pointer to #gint to hold the result numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="res_d" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Pointer to #gint to hold the result denominator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_fraction_compare" c:identifier="gst_util_fraction_compare">
|
|
<doc xml:space="preserve">Compares the fractions @a_n/@a_d and @b_n/@b_d and returns
|
|
-1 if a < b, 0 if a = b and 1 if a > b.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">-1 if a < b; 0 if a = b; 1 if a > b.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="a_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of first value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="a_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of first value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of second value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of second value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_fraction_multiply" c:identifier="gst_util_fraction_multiply">
|
|
<doc xml:space="preserve">Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores
|
|
the result in @res_n and @res_d.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE on overflow, %TRUE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="a_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of first value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="a_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of first value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of second value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of second value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="res_n" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Pointer to #gint to hold the result numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="res_d" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Pointer to #gint to hold the result denominator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_fraction_to_double" c:identifier="gst_util_fraction_to_double">
|
|
<doc xml:space="preserve">Transforms a fraction to a #gdouble.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Fraction numerator as #gint</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="src_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Fraction denominator #gint</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a #gdouble for the result</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_gdouble_to_guint64" c:identifier="gst_util_gdouble_to_guint64">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@value casted to #guint64</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #gdouble value to convert guint64 double</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_get_object_array" c:identifier="gst_util_get_object_array" version="1.12">
|
|
<doc xml:space="preserve">Get a property of type %GST_TYPE_ARRAY and transform it into a
|
|
#GValueArray. This allow language bindings to get GST_TYPE_ARRAY
|
|
properties which are otherwise not an accessible type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object to set the array to</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="array" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a return #GValueArray</doc>
|
|
<type name="GObject.ValueArray" c:type="GValueArray**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_get_timestamp" c:identifier="gst_util_get_timestamp">
|
|
<doc xml:space="preserve">Get a timestamp as GstClockTime to be used for interval measurements.
|
|
The timestamp should not be interpreted in any other way.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the timestamp</doc>
|
|
<type name="ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="util_greatest_common_divisor" c:identifier="gst_util_greatest_common_divisor">
|
|
<doc xml:space="preserve">Calculates the greatest common divisor of @a
|
|
and @b.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Greatest common divisor of @a and @b</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="a" transfer-ownership="none">
|
|
<doc xml:space="preserve">First value as #gint</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="b" transfer-ownership="none">
|
|
<doc xml:space="preserve">Second value as #gint</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_greatest_common_divisor_int64" c:identifier="gst_util_greatest_common_divisor_int64">
|
|
<doc xml:space="preserve">Calculates the greatest common divisor of @a
|
|
and @b.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">Greatest common divisor of @a and @b</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="a" transfer-ownership="none">
|
|
<doc xml:space="preserve">First value as #gint64</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="b" transfer-ownership="none">
|
|
<doc xml:space="preserve">Second value as #gint64</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_group_id_next" c:identifier="gst_util_group_id_next">
|
|
<doc xml:space="preserve">Return a constantly incrementing group id.
|
|
|
|
This function is used to generate a new group-id for the
|
|
stream-start event.
|
|
|
|
This function never returns %GST_GROUP_ID_INVALID (which is 0)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A constantly incrementing unsigned integer, which might
|
|
overflow back to 0 at some point.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="util_guint64_to_gdouble" c:identifier="gst_util_guint64_to_gdouble">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@value casted to #gdouble</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #guint64 value to convert to double</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_seqnum_compare" c:identifier="gst_util_seqnum_compare">
|
|
<doc xml:space="preserve">Compare two sequence numbers, handling wraparound.
|
|
|
|
The current implementation just returns (gint32)(@s1 - @s2).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A negative number if @s1 is before @s2, 0 if they are equal, or a
|
|
positive number if @s1 is after @s2.</doc>
|
|
<type name="gint32" c:type="gint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="s1" transfer-ownership="none">
|
|
<doc xml:space="preserve">A sequence number.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
<parameter name="s2" transfer-ownership="none">
|
|
<doc xml:space="preserve">Another sequence number.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_seqnum_next" c:identifier="gst_util_seqnum_next">
|
|
<doc xml:space="preserve">Return a constantly incrementing sequence number.
|
|
|
|
This function is used internally to GStreamer to be able to determine which
|
|
events and messages are "the same". For example, elements may set the seqnum
|
|
on a segment-done message to be the same as that of the last seek event, to
|
|
indicate that event and the message correspond to the same segment.
|
|
|
|
This function never returns %GST_SEQNUM_INVALID (which is 0).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A constantly incrementing 32-bit unsigned integer, which might
|
|
overflow at some point. Use gst_util_seqnum_compare() to make sure
|
|
you handle wraparound correctly.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="util_set_object_arg" c:identifier="gst_util_set_object_arg">
|
|
<doc xml:space="preserve">Converts the string value to the type of the objects argument and
|
|
sets the argument with it.
|
|
|
|
Note that this function silently returns if @object has no property named
|
|
@name or when @value cannot be converted to the type of the property.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object to set the argument of</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the argument to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the string value to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_set_object_array" c:identifier="gst_util_set_object_array" version="1.12">
|
|
<doc xml:space="preserve">Transfer a #GValueArray to %GST_TYPE_ARRAY and set this value on the
|
|
specified property name. This allow language bindings to set GST_TYPE_ARRAY
|
|
properties which are otherwise not an accessible type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">the object to set the array to</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValueArray containing the values</doc>
|
|
<type name="GObject.ValueArray" c:type="const GValueArray*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_set_value_from_string" c:identifier="gst_util_set_value_from_string">
|
|
<doc xml:space="preserve">Converts the string to the type of the value and
|
|
sets the value with it.
|
|
|
|
Note that this function is dangerous as it does not return any indication
|
|
if the conversion worked or not.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to set</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="value_str" transfer-ownership="none">
|
|
<doc xml:space="preserve">the string to get the value from</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_uint64_scale" c:identifier="gst_util_uint64_scale">
|
|
<doc xml:space="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
|
|
underflows and without loss of precision.
|
|
|
|
This function can potentially be very slow if val and num are both
|
|
greater than G_MAXUINT32.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@val * @num / @denom. In the case of an overflow, this
|
|
function returns G_MAXUINT64. If the result is not exactly
|
|
representable as an integer it is truncated. See also
|
|
gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(),
|
|
gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
|
|
gst_util_uint64_scale_int_ceil().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number to scale</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the scale ratio</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the scale ratio</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_uint64_scale_ceil" c:identifier="gst_util_uint64_scale_ceil">
|
|
<doc xml:space="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
|
|
underflows and without loss of precision.
|
|
|
|
This function can potentially be very slow if val and num are both
|
|
greater than G_MAXUINT32.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@val * @num / @denom. In the case of an overflow, this
|
|
function returns G_MAXUINT64. If the result is not exactly
|
|
representable as an integer, it is rounded up. See also
|
|
gst_util_uint64_scale(), gst_util_uint64_scale_round(),
|
|
gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
|
|
gst_util_uint64_scale_int_ceil().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number to scale</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the scale ratio</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the scale ratio</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_uint64_scale_int" c:identifier="gst_util_uint64_scale_int">
|
|
<doc xml:space="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
|
|
underflows and without loss of precision. @num must be non-negative and
|
|
@denom must be positive.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@val * @num / @denom. In the case of an overflow, this
|
|
function returns G_MAXUINT64. If the result is not exactly
|
|
representable as an integer, it is truncated. See also
|
|
gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(),
|
|
gst_util_uint64_scale(), gst_util_uint64_scale_round(),
|
|
gst_util_uint64_scale_ceil().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">guint64 (such as a #GstClockTime) to scale.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">numerator of the scale factor.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">denominator of the scale factor.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_uint64_scale_int_ceil" c:identifier="gst_util_uint64_scale_int_ceil">
|
|
<doc xml:space="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
|
|
underflows and without loss of precision. @num must be non-negative and
|
|
@denom must be positive.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@val * @num / @denom. In the case of an overflow, this
|
|
function returns G_MAXUINT64. If the result is not exactly
|
|
representable as an integer, it is rounded up. See also
|
|
gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
|
|
gst_util_uint64_scale(), gst_util_uint64_scale_round(),
|
|
gst_util_uint64_scale_ceil().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">guint64 (such as a #GstClockTime) to scale.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">numerator of the scale factor.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">denominator of the scale factor.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_uint64_scale_int_round" c:identifier="gst_util_uint64_scale_int_round">
|
|
<doc xml:space="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
|
|
underflows and without loss of precision. @num must be non-negative and
|
|
@denom must be positive.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@val * @num / @denom. In the case of an overflow, this
|
|
function returns G_MAXUINT64. If the result is not exactly
|
|
representable as an integer, it is rounded to the nearest integer
|
|
(half-way cases are rounded up). See also gst_util_uint64_scale_int(),
|
|
gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(),
|
|
gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">guint64 (such as a #GstClockTime) to scale.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">numerator of the scale factor.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">denominator of the scale factor.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="util_uint64_scale_round" c:identifier="gst_util_uint64_scale_round">
|
|
<doc xml:space="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
|
|
underflows and without loss of precision.
|
|
|
|
This function can potentially be very slow if val and num are both
|
|
greater than G_MAXUINT32.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@val * @num / @denom. In the case of an overflow, this
|
|
function returns G_MAXUINT64. If the result is not exactly
|
|
representable as an integer, it is rounded to the nearest integer
|
|
(half-way cases are rounded up). See also gst_util_uint64_scale(),
|
|
gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(),
|
|
gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil().</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number to scale</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the scale ratio</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="denom" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the scale ratio</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_can_compare" c:identifier="gst_value_can_compare">
|
|
<doc xml:space="preserve">Determines if @value1 and @value2 can be compared.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the values can be compared</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to compare</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another value to compare</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_can_intersect" c:identifier="gst_value_can_intersect">
|
|
<doc xml:space="preserve">Determines if intersecting two values will produce a valid result.
|
|
Two values will produce a valid intersection if they have the same
|
|
type.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the values can intersect</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to intersect</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another value to intersect</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_can_subtract" c:identifier="gst_value_can_subtract">
|
|
<doc xml:space="preserve">Checks if it's possible to subtract @subtrahend from @minuend.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if a subtraction is possible</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="minuend" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to subtract from</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="subtrahend" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to subtract</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_can_union" c:identifier="gst_value_can_union">
|
|
<doc xml:space="preserve">Determines if @value1 and @value2 can be non-trivially unioned.
|
|
Any two values can be trivially unioned by adding both of them
|
|
to a GstValueList. However, certain types have the possibility
|
|
to be unioned in a simpler way. For example, an integer range
|
|
and an integer can be unioned if the integer is a subset of the
|
|
integer range. If there is the possibility that two values can
|
|
be unioned, this function returns %TRUE.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if there is a function allowing the two values to
|
|
be unioned.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to union</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another value to union</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_compare" c:identifier="gst_value_compare">
|
|
<doc xml:space="preserve">Compares @value1 and @value2. If @value1 and @value2 cannot be
|
|
compared, the function returns GST_VALUE_UNORDERED. Otherwise,
|
|
if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned.
|
|
If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned.
|
|
If the values are equal, GST_VALUE_EQUAL is returned.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">comparison result</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to compare</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another value to compare</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_deserialize" c:identifier="gst_value_deserialize">
|
|
<doc xml:space="preserve">Tries to deserialize a string into the type specified by the given GValue.
|
|
If the operation succeeds, %TRUE is returned, %FALSE otherwise.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GValue to fill with contents of
|
|
deserialization</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">string to deserialize</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_fixate" c:identifier="gst_value_fixate">
|
|
<doc xml:space="preserve">Fixate @src into a new value @dest.
|
|
For ranges, the first element is taken. For lists and arrays, the
|
|
first item is fixated and returned.
|
|
If @src is already fixed, this function returns %FALSE.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @dest contains a fixated version of @src.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue destination</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue to fixate</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_fraction_multiply" c:identifier="gst_value_fraction_multiply">
|
|
<doc xml:space="preserve">Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets
|
|
@product to the product of the two fractions.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE in case of an error (like integer overflow), %TRUE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="product" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="factor1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="factor2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_fraction_subtract" c:identifier="gst_value_fraction_subtract">
|
|
<doc xml:space="preserve">Subtracts the @subtrahend from the @minuend and sets @dest to the result.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE in case of an error (like integer overflow), %TRUE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="minuend" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="subtrahend" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_bitmask" c:identifier="gst_value_get_bitmask">
|
|
<doc xml:space="preserve">Gets the bitmask specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the bitmask.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_BITMASK</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="value_get_buffer" c:identifier="gst_value_get_buffer" introspectable="0">
|
|
<doc xml:space="preserve">Receives a #GstBuffer as the value of @v. Does not return a reference to
|
|
the buffer, so the pointer is only valid for as long as the caller owns
|
|
a reference to @v.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="v">
|
|
<doc xml:space="preserve">a #GValue to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="value_get_caps" c:identifier="gst_value_get_caps">
|
|
<doc xml:space="preserve">Gets the contents of @value. The reference count of the returned
|
|
#GstCaps will not be modified, therefore the caller must take one
|
|
before getting rid of the @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the contents of @value</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_CAPS</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_caps_features" c:identifier="gst_value_get_caps_features">
|
|
<doc xml:space="preserve">Gets the contents of @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the contents of @value</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_CAPS_FEATURES</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_double_range_max" c:identifier="gst_value_get_double_range_max">
|
|
<doc xml:space="preserve">Gets the maximum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum of the range</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_double_range_min" c:identifier="gst_value_get_double_range_min">
|
|
<doc xml:space="preserve">Gets the minimum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum of the range</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_flagset_flags" c:identifier="gst_value_get_flagset_flags" version="1.6">
|
|
<doc xml:space="preserve">Retrieve the flags field of a GstFlagSet @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the flags field of the flagset instance.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FLAG_SET</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_flagset_mask" c:identifier="gst_value_get_flagset_mask" version="1.6">
|
|
<doc xml:space="preserve">Retrieve the mask field of a GstFlagSet @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the mask field of the flagset instance.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FLAG_SET</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_fraction_denominator" c:identifier="gst_value_get_fraction_denominator">
|
|
<doc xml:space="preserve">Gets the denominator of the fraction specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the fraction.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_fraction_numerator" c:identifier="gst_value_get_fraction_numerator">
|
|
<doc xml:space="preserve">Gets the numerator of the fraction specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the fraction.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_fraction_range_max" c:identifier="gst_value_get_fraction_range_max">
|
|
<doc xml:space="preserve">Gets the maximum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the maximum of the range</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_fraction_range_min" c:identifier="gst_value_get_fraction_range_min">
|
|
<doc xml:space="preserve">Gets the minimum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the minimum of the range</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_int64_range_max" c:identifier="gst_value_get_int64_range_max">
|
|
<doc xml:space="preserve">Gets the maximum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_int64_range_min" c:identifier="gst_value_get_int64_range_min">
|
|
<doc xml:space="preserve">Gets the minimum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_int64_range_step" c:identifier="gst_value_get_int64_range_step">
|
|
<doc xml:space="preserve">Gets the step of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the step of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_int_range_max" c:identifier="gst_value_get_int_range_max">
|
|
<doc xml:space="preserve">Gets the maximum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_int_range_min" c:identifier="gst_value_get_int_range_min">
|
|
<doc xml:space="preserve">Gets the minimum of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_get_int_range_step" c:identifier="gst_value_get_int_range_step">
|
|
<doc xml:space="preserve">Gets the step of the range specified by @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the step of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="value_get_sample" c:identifier="gst_value_get_sample" introspectable="0">
|
|
<doc xml:space="preserve">Receives a #GstSample as the value of @v. Does not return a reference to
|
|
the sample, so the pointer is only valid for as long as the caller owns
|
|
a reference to @v.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="v">
|
|
<doc xml:space="preserve">a #GValue to query</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="value_get_structure" c:identifier="gst_value_get_structure">
|
|
<doc xml:space="preserve">Gets the contents of @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the contents of @value</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_STRUCTURE</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_init_and_copy" c:identifier="gst_value_init_and_copy">
|
|
<doc xml:space="preserve">Initialises the target value to be of the same type as source and then copies
|
|
the contents from source to target.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the target value</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source value</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_intersect" c:identifier="gst_value_intersect">
|
|
<doc xml:space="preserve">Calculates the intersection of two values. If the values have
|
|
a non-empty intersection, the value representing the intersection
|
|
is placed in @dest, unless %NULL. If the intersection is non-empty,
|
|
@dest is not modified.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the intersection is non-empty</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
a uninitialized #GValue that will hold the calculated
|
|
intersection value. May be %NULL if the resulting set if not
|
|
needed.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to intersect</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another value to intersect</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_is_fixed" c:identifier="gst_value_is_fixed">
|
|
<doc xml:space="preserve">Tests if the given GValue, if available in a GstStructure (or any other
|
|
container) contains a "fixed" (which means: one value) or an "unfixed"
|
|
(which means: multiple possible values, such as data lists or data
|
|
ranges) value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">true if the value is "fixed".</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GValue to check</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_is_subset" c:identifier="gst_value_is_subset">
|
|
<doc xml:space="preserve">Check that @value1 is a subset of @value2.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE is @value1 is a subset of @value2</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_register" c:identifier="gst_value_register">
|
|
<doc xml:space="preserve">Registers functions to perform calculations on #GValue items of a given
|
|
type. Each type can only be added once.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="table" transfer-ownership="none">
|
|
<doc xml:space="preserve">structure containing functions to register</doc>
|
|
<type name="ValueTable" c:type="const GstValueTable*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_serialize" c:identifier="gst_value_serialize">
|
|
<doc xml:space="preserve">tries to transform the given @value into a string representation that allows
|
|
getting back this string later on using gst_value_deserialize().
|
|
|
|
Free-function: g_free</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the serialization for @value
|
|
or %NULL if none exists</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GValue to serialize</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_bitmask" c:identifier="gst_value_set_bitmask">
|
|
<doc xml:space="preserve">Sets @value to the bitmask specified by @bitmask.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_BITMASK</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="bitmask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the bitmask</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="value_set_buffer" c:identifier="gst_value_set_buffer" introspectable="0">
|
|
<doc xml:space="preserve">Sets @b as the value of @v. Caller retains reference to buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="v">
|
|
<doc xml:space="preserve">a #GValue to receive the data</doc>
|
|
</parameter>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">a #GstBuffer to assign to the GstValue</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="value_set_caps" c:identifier="gst_value_set_caps">
|
|
<doc xml:space="preserve">Sets the contents of @value to @caps. A reference to the
|
|
provided @caps will be taken by the @value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_CAPS</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the caps to set the value to</doc>
|
|
<type name="Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_caps_features" c:identifier="gst_value_set_caps_features">
|
|
<doc xml:space="preserve">Sets the contents of @value to @features.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_CAPS_FEATURES</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">the features to set the value to</doc>
|
|
<type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_double_range" c:identifier="gst_value_set_double_range">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @start and @end.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start of the range</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the end of the range</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_flagset" c:identifier="gst_value_set_flagset" version="1.6">
|
|
<doc xml:space="preserve">Sets @value to the flags and mask values provided in @flags and @mask.
|
|
The @flags value indicates the values of flags, the @mask represents
|
|
which bits in the flag value have been set, and which are "don't care"</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to %GST_TYPE_FLAG_SET</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of the flags set or unset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">The mask indicate which flags bits must match for comparisons</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_fraction" c:identifier="gst_value_set_fraction">
|
|
<doc xml:space="preserve">Sets @value to the fraction specified by @numerator over @denominator.
|
|
The fraction gets reduced to the smallest numerator and denominator,
|
|
and if necessary the sign is moved to the numerator.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="numerator" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator of the fraction</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="denominator" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator of the fraction</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_fraction_range" c:identifier="gst_value_set_fraction_range">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @start and @end.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start of the range (a GST_TYPE_FRACTION GValue)</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the end of the range (a GST_TYPE_FRACTION GValue)</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_fraction_range_full" c:identifier="gst_value_set_fraction_range_full">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @numerator_start/@denominator_start
|
|
and @numerator_end/@denominator_end.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="numerator_start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator start of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="denominator_start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator start of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="numerator_end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the numerator end of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="denominator_end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the denominator end of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_int64_range" c:identifier="gst_value_set_int64_range">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @start and @end.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the end of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_int64_range_step" c:identifier="gst_value_set_int64_range_step">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @start, @end and @step.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the end of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="step" transfer-ownership="none">
|
|
<doc xml:space="preserve">the step of the range</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_int_range" c:identifier="gst_value_set_int_range">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @start and @end.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the end of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_set_int_range_step" c:identifier="gst_value_set_int_range_step">
|
|
<doc xml:space="preserve">Sets @value to the range specified by @start, @end and @step.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">the start of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">the end of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="step" transfer-ownership="none">
|
|
<doc xml:space="preserve">the step of the range</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="value_set_sample" c:identifier="gst_value_set_sample" introspectable="0">
|
|
<doc xml:space="preserve">Sets @b as the value of @v. Caller retains reference to sample.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="v">
|
|
<doc xml:space="preserve">a #GValue to receive the data</doc>
|
|
</parameter>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">a #GstSample to assign to the GstValue</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="value_set_structure" c:identifier="gst_value_set_structure">
|
|
<doc xml:space="preserve">Sets the contents of @value to @structure.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a GValue initialized to GST_TYPE_STRUCTURE</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<doc xml:space="preserve">the structure to set the value to</doc>
|
|
<type name="Structure" c:type="const GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="value_subtract" c:identifier="gst_value_subtract">
|
|
<doc xml:space="preserve">Subtracts @subtrahend from @minuend and stores the result in @dest.
|
|
Note that this means subtraction as in sets, not as in mathematics.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the subtraction is not empty</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the destination value
|
|
for the result if the subtraction is not empty. May be %NULL,
|
|
in which case the resulting set will not be computed, which can
|
|
give a fair speedup.</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="minuend" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to subtract from</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="subtrahend" transfer-ownership="none">
|
|
<doc xml:space="preserve">the value to subtract</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="value_take_buffer" c:identifier="gst_value_take_buffer" introspectable="0">
|
|
<doc xml:space="preserve">Sets @b as the value of @v. Caller gives away reference to buffer.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="v">
|
|
<doc xml:space="preserve">a #GValue to receive the data</doc>
|
|
</parameter>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">a #GstBuffer to assign to the GstValue</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="value_take_sample" c:identifier="gst_value_take_sample" introspectable="0">
|
|
<doc xml:space="preserve">Sets @b as the value of @v. Caller gives away reference to sample.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="v">
|
|
<doc xml:space="preserve">a #GValue to receive the data</doc>
|
|
</parameter>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">a #GstSample to assign to the GstValue</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="value_union" c:identifier="gst_value_union">
|
|
<doc xml:space="preserve">Creates a GValue corresponding to the union of @value1 and @value2.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the union succeeded.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">the destination value</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
<parameter name="value1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value to union</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="value2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another value to union</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="version" c:identifier="gst_version">
|
|
<doc xml:space="preserve">Gets the version number of the GStreamer library.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a guint to store the major version number</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="minor" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a guint to store the minor version number</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="micro" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a guint to store the micro version number</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="nano" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to a guint to store the nano version number</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="version_string" c:identifier="gst_version_string">
|
|
<doc xml:space="preserve">This function returns a string that is useful for describing this version
|
|
of GStreamer to the outside world: user agent strings, logging, ...</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated string describing this version
|
|
of GStreamer.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
</function>
|
|
</namespace>
|
|
</repository>
|