<method name="get_by_interface" c:identifier="gst_bin_get_by_interface">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4489">Looks for an element inside the bin that implements the given
+ line="4504">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
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4502">A #GstElement inside the bin
+ line="4517">A #GstElement inside the bin
implementing the interface</doc>
<type name="Element" c:type="GstElement*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4491">a #GstBin</doc>
+ line="4506">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
<parameter name="iface" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4492">the #GType of an interface</doc>
+ line="4507">the #GType of an interface</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
<method name="get_by_name" c:identifier="gst_bin_get_by_name">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4390">Gets the element with the given name from a bin. This
+ line="4405">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.
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4402">the #GstElement with the given
+ line="4417">the #GstElement with the given
name, or %NULL</doc>
<type name="Element" c:type="GstElement*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4392">a #GstBin</doc>
+ line="4407">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4393">the element name to search for</doc>
+ line="4408">the element name to search for</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
c:identifier="gst_bin_get_by_name_recurse_up">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4433">Gets the element with the given name from this bin. If the
+ line="4448">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:
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4446">the #GstElement with the given
+ line="4461">the #GstElement with the given
name, or %NULL</doc>
<type name="Element" c:type="GstElement*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4435">a #GstBin</doc>
+ line="4450">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4436">the element name to search for</doc>
+ line="4451">the element name to search for</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
version="1.18">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4587">Looks for all elements inside the bin with the given element factory name.
+ line="4602">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.
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4598">a #GstIterator of #GstElement
+ line="4613">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*"/>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4589">a #GstBin</doc>
+ line="4604">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
<parameter name="factory_name" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4590">the name of the #GstElementFactory</doc>
+ line="4605">the name of the #GstElementFactory</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
c:identifier="gst_bin_iterate_all_by_interface">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4536">Looks for all elements inside the bin that implements the given
+ line="4551">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.
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4548">a #GstIterator of #GstElement
+ line="4563">a #GstIterator of #GstElement
for all elements in the bin implementing the given interface,
or %NULL</doc>
<type name="Iterator" c:type="GstIterator*"/>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4538">a #GstBin</doc>
+ line="4553">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
<parameter name="iface" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="4539">the #GType of an interface</doc>
+ line="4554">the #GType of an interface</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
<method name="iterate_elements" c:identifier="gst_bin_iterate_elements">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1899">Gets an iterator for the elements in this bin.
+ line="1914">Gets an iterator for the elements in this bin.
MT safe. Caller owns returned value.</doc>
<source-position filename="gst/gstbin.h" line="223"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1907">a #GstIterator of #GstElement,
+ line="1922">a #GstIterator of #GstElement,
or %NULL</doc>
<type name="Iterator" c:type="GstIterator*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1901">a #GstBin</doc>
+ line="1916">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
</parameters>
<method name="iterate_recurse" c:identifier="gst_bin_iterate_recurse">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1939">Gets an iterator for the elements in this bin.
+ line="1954">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"
filename="gst/gstbin.c"
- line="1948">a #GstIterator of #GstElement,
+ line="1963">a #GstIterator of #GstElement,
or %NULL</doc>
<type name="Iterator" c:type="GstIterator*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1941">a #GstBin</doc>
+ line="1956">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
</parameters>
<method name="iterate_sinks" c:identifier="gst_bin_iterate_sinks">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1997">Gets an iterator for all elements in the bin that have the
+ line="2012">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"
filename="gst/gstbin.c"
- line="2006">a #GstIterator of #GstElement,
+ line="2021">a #GstIterator of #GstElement,
or %NULL</doc>
<type name="Iterator" c:type="GstIterator*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1999">a #GstBin</doc>
+ line="2014">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
</parameters>
<method name="iterate_sorted" c:identifier="gst_bin_iterate_sorted">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2447">Gets an iterator for the elements in this bin in topologically
+ line="2462">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.
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2460">a #GstIterator of #GstElement,
+ line="2475">a #GstIterator of #GstElement,
or %NULL</doc>
<type name="Iterator" c:type="GstIterator*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2449">a #GstBin</doc>
+ line="2464">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
</parameters>
<method name="iterate_sources" c:identifier="gst_bin_iterate_sources">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2058">Gets an iterator for all elements in the bin that have the
+ line="2073">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"
filename="gst/gstbin.c"
- line="2067">a #GstIterator of #GstElement,
+ line="2082">a #GstIterator of #GstElement,
or %NULL</doc>
<type name="Iterator" c:type="GstIterator*"/>
</return-value>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2060">a #GstBin</doc>
+ line="2075">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
</parameters>
c:identifier="gst_bin_recalculate_latency">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2730">Query @bin for the current latency using and reconfigures this latency to all the
+ line="2745">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
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="2743">%TRUE if the latency could be queried and reconfigured.</doc>
+ line="2758">%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"
filename="gst/gstbin.c"
- line="2732">a #GstBin</doc>
+ line="2747">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
</parameters>
<method name="remove" c:identifier="gst_bin_remove">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1846">Removes the element from the bin, unparenting it as well.
+ line="1861">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
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1863">%TRUE if the element could be removed, %FALSE if
+ line="1878">%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>
<instance-parameter name="bin" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1848">a #GstBin</doc>
+ line="1863">a #GstBin</doc>
<type name="Bin" c:type="GstBin*"/>
</instance-parameter>
<parameter name="element" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstbin.c"
- line="1849">the #GstElement to remove</doc>
+ line="1864">the #GstElement to remove</doc>
<type name="Element" c:type="GstElement*"/>
</parameter>
</parameters>
direction="out"
caller-allocates="0"
transfer-ownership="none"
+ nullable="1"
optional="1"
allow-none="1">
<doc xml:space="preserve"
line="937">Parse an available @config and get the option at @index of the options API
array.</doc>
<source-position filename="gst/gstbufferpool.h" line="236"/>
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve"
filename="gst/gstbufferpool.c"
line="945">a #gchar of the option at @index.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="none"
+ nullable="1"
optional="1"
allow-none="1">
<doc xml:space="preserve"
line="819">a #GstBufferPool configuration</doc>
<type name="Structure" c:type="GstStructure*"/>
</parameter>
- <parameter name="caps" transfer-ownership="none">
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve"
filename="gst/gstbufferpool.c"
line="820">caps for the buffers</doc>
line="1059">a #GstBufferPool configuration</doc>
<type name="Structure" c:type="GstStructure*"/>
</parameter>
- <parameter name="caps" transfer-ownership="none">
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve"
filename="gst/gstbufferpool.c"
line="1060">the excepted caps of buffers</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="132"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="661">the newly created #GstDateTime</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="103"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="421">the newly created #GstDateTime</doc>
line="452">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
@usecs. The #GstDateTime is in the local timezone.</doc>
<source-position filename="gst/gstdatetime.h" line="109"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="459">a newly created #GstDateTime</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="106"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="441">the newly created #GstDateTime</doc>
line="476">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
@usecs. The #GstDateTime is in UTC.</doc>
<source-position filename="gst/gstdatetime.h" line="112"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="483">a newly created #GstDateTime</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="115"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="549">the newly created #GstDateTime</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="122"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="354">the newly created #GstDateTime</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="125"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="377">the newly created #GstDateTime</doc>
Free-function: gst_date_time_unref</doc>
<source-position filename="gst/gstdatetime.h" line="128"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdatetime.c"
line="404">the newly created #GstDateTime</doc>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="791">Create a new #GstDeviceMonitor</doc>
+ line="792">Create a new #GstDeviceMonitor</doc>
<source-position filename="gst/gstdevicemonitor.h" line="82"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="796">a new device monitor.</doc>
+ line="797">a new device monitor.</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</return-value>
</constructor>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="620">Adds a filter for which #GstDevice will be monitored, any device that matches
+ line="621">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
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="638">The id of the new filter or 0 if no provider matched the filter's
+ line="639">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>
<instance-parameter name="monitor" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="622">a device monitor</doc>
+ line="623">a device monitor</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</instance-parameter>
<parameter name="classes"
allow-none="1">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="623">device classes to use as filter or %NULL for any class</doc>
+ line="624">device classes to use as filter or %NULL for any class</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="caps"
allow-none="1">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="624">the #GstCaps to filter or %NULL for ANY</doc>
+ line="625">the #GstCaps to filter or %NULL for ANY</doc>
<type name="Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="813">Gets the #GstBus of this #GstDeviceMonitor</doc>
+ line="814">Gets the #GstBus of this #GstDeviceMonitor</doc>
<source-position filename="gst/gstdevicemonitor.h" line="85"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="819">a #GstBus</doc>
+ line="820">a #GstBus</doc>
<type name="Bus" c:type="GstBus*"/>
</return-value>
<parameters>
<instance-parameter name="monitor" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="815">a #GstDeviceProvider</doc>
+ line="816">a #GstDeviceProvider</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</instance-parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="831">Get a list of the currently selected device provider factories.
+ line="832">Get a list of the currently selected device provider factories.
This</doc>
<source-position filename="gst/gstdevicemonitor.h" line="106"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="839">
+ line="840">
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**">
<instance-parameter name="monitor" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="833">a #GstDeviceMonitor</doc>
+ line="834">a #GstDeviceMonitor</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</instance-parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="897">Get if @monitor is currently showing all devices, even those from hidden
+ line="898">Get if @monitor is currently showing all devices, even those from hidden
providers.</doc>
<source-position filename="gst/gstdevicemonitor.h" line="112"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="904">%TRUE when all devices will be shown.</doc>
+ line="905">%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"
filename="gst/gstdevicemonitor.c"
- line="899">a #GstDeviceMonitor</doc>
+ line="900">a #GstDeviceMonitor</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="724">Removes a filter from the #GstDeviceMonitor using the id that was returned
+ line="725">Removes a filter from the #GstDeviceMonitor using the id that was returned
by gst_device_monitor_add_filter().</doc>
<source-position filename="gst/gstdevicemonitor.h" line="103"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="732">%TRUE of the filter id was valid, %FALSE otherwise</doc>
+ line="733">%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"
filename="gst/gstdevicemonitor.c"
- line="726">a device monitor</doc>
+ line="727">a device monitor</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</instance-parameter>
<parameter name="filter_id" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="727">the id of the filter</doc>
+ line="728">the id of the filter</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="876">Set if all devices should be visible, even those devices from hidden
+ line="877">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>
<source-position filename="gst/gstdevicemonitor.h" line="109"/>
<return-value transfer-ownership="none">
<instance-parameter name="monitor" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="878">a #GstDeviceMonitor</doc>
+ line="879">a #GstDeviceMonitor</doc>
<type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
</instance-parameter>
<parameter name="show_all" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdevicemonitor.c"
- line="879">show all devices</doc>
+ line="880">show all devices</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
<virtual-method name="start" invoker="start" version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="434">Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED
+ line="436">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.
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="451">%TRUE if the device providering could be started</doc>
+ line="453">%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"
filename="gst/gstdeviceprovider.c"
- line="436">A #GstDeviceProvider</doc>
+ line="438">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
<virtual-method name="stop" invoker="stop" version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="510">Decreases the use-count by one. If the use count reaches zero, this
+ line="512">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>
<source-position filename="gst/gstdeviceprovider.h" line="94"/>
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="512">A #GstDeviceProvider</doc>
+ line="514">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="609">Posts a message on the provider's #GstBus to inform applications that
+ line="611">Posts a message on the provider's #GstBus to inform applications that
a new device has been added.
This is for use by subclasses.
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="611">a #GstDeviceProvider</doc>
+ line="613">a #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
<parameter name="device" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="612">a #GstDevice that has been added</doc>
+ line="614">a #GstDevice that has been added</doc>
<type name="Device" c:type="GstDevice*"/>
</parameter>
</parameters>
version="1.16">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="808">This function is used when @changed_device was modified into its new form
+ line="810">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>
- <source-position filename="gst/gstdeviceprovider.h" line="167"/>
+ <source-position filename="gst/gstdeviceprovider.h" line="170"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameter name="device" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="810">the new version of @changed_device</doc>
+ line="812">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"
filename="gst/gstdeviceprovider.c"
- line="811">the old version of the device that has been updated</doc>
+ line="813">the old version of the device that has been updated</doc>
<type name="Device" c:type="GstDevice*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="652">Posts a message on the provider's #GstBus to inform applications that
+ line="654">Posts a message on the provider's #GstBus to inform applications that
a device has been removed.
This is for use by subclasses.</doc>
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="654">a #GstDeviceProvider</doc>
+ line="656">a #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
<parameter name="device" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="655">a #GstDevice that has been removed</doc>
+ line="657">a #GstDevice that has been removed</doc>
<type name="Device" c:type="GstDevice*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="591">Gets the #GstBus of this #GstDeviceProvider</doc>
+ line="593">Gets the #GstBus of this #GstDeviceProvider</doc>
<source-position filename="gst/gstdeviceprovider.h" line="120"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="597">a #GstBus</doc>
+ line="599">a #GstBus</doc>
<type name="Bus" c:type="GstBus*"/>
</return-value>
<parameters>
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="593">a #GstDeviceProvider</doc>
+ line="595">a #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="385">Gets a list of devices that this provider understands. This may actually
+ line="387">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
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="395">a #GList of
+ line="397">a #GList of
#GstDevice</doc>
<type name="GLib.List" c:type="GList*">
<type name="Device"/>
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="387">A #GstDeviceProvider</doc>
+ line="389">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="549">Retrieves the factory that was used to create this device provider.</doc>
- <source-position filename="gst/gstdeviceprovider.h" line="174"/>
- <return-value transfer-ownership="none">
+ line="551">Retrieves the factory that was used to create this device provider.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="177"/>
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="555">the #GstDeviceProviderFactory used for
+ line="557">the #GstDeviceProviderFactory used for
creating this device provider. no refcounting is needed.</doc>
<type name="DeviceProviderFactory"
c:type="GstDeviceProviderFactory*"/>
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="551">a #GstDeviceProvider to request the device provider factory of.</doc>
+ line="553">a #GstDeviceProvider to request the device provider factory of.</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="688">Get the provider factory names of the #GstDeviceProvider instances that
+ line="690">Get the provider factory names of the #GstDeviceProvider instances that
are hidden by @provider.</doc>
<source-position filename="gst/gstdeviceprovider.h" line="129"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="695">
+ line="697">
a list of hidden providers factory names or %NULL when
nothing is hidden by @provider. Free with g_strfreev.</doc>
<array c:type="gchar**">
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="690">a #GstDeviceProvider</doc>
+ line="692">a #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.14">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="362">Get metadata with @key in @provider.</doc>
+ line="364">Get metadata with @key in @provider.</doc>
<source-position filename="gst/gstdeviceprovider.h" line="139"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="369">the metadata for @key.</doc>
+ line="371">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"
filename="gst/gstdeviceprovider.c"
- line="364">provider to get metadata for</doc>
+ line="366">provider to get metadata for</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="365">the key to get</doc>
+ line="367">the key to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="727">Make @provider hide the devices from the factory with @name.
+ line="729">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
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="729">a #GstDeviceProvider</doc>
+ line="731">a #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="730">a provider factory name</doc>
+ line="732">a provider factory name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
+ <method name="is_started"
+ c:identifier="gst_device_provider_is_started"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="860">This function can be used to know if the @provider was successfully started.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="862">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
<method name="start"
c:identifier="gst_device_provider_start"
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="434">Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED
+ line="436">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.
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="451">%TRUE if the device providering could be started</doc>
+ line="453">%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"
filename="gst/gstdeviceprovider.c"
- line="436">A #GstDeviceProvider</doc>
+ line="438">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="510">Decreases the use-count by one. If the use count reaches zero, this
+ line="512">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>
<source-position filename="gst/gstdeviceprovider.h" line="114"/>
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="512">A #GstDeviceProvider</doc>
+ line="514">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="766">Make @provider unhide the devices from factory @name.
+ line="768">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
<instance-parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="768">a #GstDeviceProvider</doc>
+ line="770">a #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="769">a provider factory name</doc>
+ line="771">a provider factory name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="451">%TRUE if the device providering could be started</doc>
+ line="453">%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"
filename="gst/gstdeviceprovider.c"
- line="436">A #GstDeviceProvider</doc>
+ line="438">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</parameter>
</parameters>
<parameter name="provider" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="512">A #GstDeviceProvider</doc>
+ line="514">A #GstDeviceProvider</doc>
<type name="DeviceProvider" c:type="GstDeviceProvider*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="198">Set @key with @value as metadata in @klass.</doc>
- <source-position filename="gst/gstdeviceprovider.h" line="157"/>
+ line="200">Set @key with @value as metadata in @klass.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="160"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="klass" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="200">class to set metadata for</doc>
+ line="202">class to set metadata for</doc>
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="201">the key to set</doc>
+ line="203">the key to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="202">the value to set</doc>
+ line="204">the value to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="220">Set @key with @value as metadata in @klass.
+ line="222">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>
- <source-position filename="gst/gstdeviceprovider.h" line="160"/>
+ <source-position filename="gst/gstdeviceprovider.h" line="163"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="klass" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="222">class to set metadata for</doc>
+ line="224">class to set metadata for</doc>
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="223">the key to set</doc>
+ line="225">the key to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="224">the value to set</doc>
+ line="226">the value to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="341">Get metadata with @key in @klass.</doc>
- <source-position filename="gst/gstdeviceprovider.h" line="163"/>
+ line="343">Get metadata with @key in @klass.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="166"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="348">the metadata for @key.</doc>
+ line="350">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"
filename="gst/gstdeviceprovider.c"
- line="343">class to get metadata for</doc>
+ line="345">class to get metadata for</doc>
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="344">the key to get</doc>
+ line="346">the key to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="250">Sets the detailed information for a #GstDeviceProviderClass.
+ line="252">Sets the detailed information for a #GstDeviceProviderClass.
> This function is for use in _class_init functions only.</doc>
- <source-position filename="gst/gstdeviceprovider.h" line="145"/>
+ <source-position filename="gst/gstdeviceprovider.h" line="148"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="klass" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="252">class to set metadata for</doc>
+ line="254">class to set metadata for</doc>
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
</instance-parameter>
<parameter name="longname" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="253">The long English name of the device provider. E.g. "File Sink"</doc>
+ line="255">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"
filename="gst/gstdeviceprovider.c"
- line="254">String describing the type of device provider, as an
+ line="256">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>
<parameter name="description" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="258">Sentence describing the purpose of the device provider.
+ line="260">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"
filename="gst/gstdeviceprovider.c"
- line="260">Name and contact details of the author(s). Use \n to separate
+ line="262">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>
version="1.4">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="287">Sets the detailed information for a #GstDeviceProviderClass.
+ line="289">Sets the detailed information for a #GstDeviceProviderClass.
> This function is for use in _class_init functions only.
@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>
- <source-position filename="gst/gstdeviceprovider.h" line="151"/>
+ <source-position filename="gst/gstdeviceprovider.h" line="154"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="klass" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="289">class to set metadata for</doc>
+ line="291">class to set metadata for</doc>
<type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
</instance-parameter>
<parameter name="longname" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="290">The long English name of the element. E.g. "File Sink"</doc>
+ line="292">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"
filename="gst/gstdeviceprovider.c"
- line="291">String describing the type of element, as
+ line="293">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 name="description" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gstdeviceprovider.c"
- line="294">Sentence describing the purpose of the
+ line="296">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"
filename="gst/gstdeviceprovider.c"
- line="296">Name and contact details of the author(s). Use \n
+ line="298">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*"/>
filename="gst/gsturi.c"
line="612">Creates an element for handling the given URI.</doc>
<source-position filename="gst/gsturi.h" line="161"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsturi.c"
line="621">a new element or %NULL if none
MT safe.</doc>
<source-position filename="gst/gstelement.h" line="886"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstelement.c"
line="3634">A #GstContext or NULL</doc>
</parameter>
</parameters>
</function-macro>
+ <function-macro name="IS_SHARED_TASK_POOL"
+ c:identifier="GST_IS_SHARED_TASK_POOL"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="128"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SHARED_TASK_POOL_CLASS"
+ c:identifier="GST_IS_SHARED_TASK_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="130"/>
+ <parameters>
+ <parameter name="pclass">
+ </parameter>
+ </parameters>
+ </function-macro>
<function-macro name="IS_STREAM"
c:identifier="GST_IS_STREAM"
introspectable="0">
filename="gst/gstplugin.c"
line="982">get the filename of the plugin</doc>
<source-position filename="gst/gstplugin.h" line="345"/>
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve"
filename="gst/gstplugin.c"
line="988">the filename of the plugin</doc>
filename="gst/gstregistry.c"
line="1014">Find a #GstPluginFeature with @name in @registry.</doc>
<source-position filename="gst/gstregistry.h" line="118"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gstregistry.c"
line="1021">a #GstPluginFeature with its refcount incremented,
<source-position filename="gst/gstutils.h" line="112"/>
<type name="gint" c:type="gint"/>
</constant>
+ <function-macro name="SHARED_TASK_POOL"
+ c:identifier="GST_SHARED_TASK_POOL"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="127"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SHARED_TASK_POOL_CLASS"
+ c:identifier="GST_SHARED_TASK_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="129"/>
+ <parameters>
+ <parameter name="pclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SHARED_TASK_POOL_GET_CLASS"
+ c:identifier="GST_SHARED_TASK_POOL_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="131"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
<function-macro name="STATE" c:identifier="GST_STATE" introspectable="0">
<doc xml:space="preserve"
filename="gst/gstelement.h"
possible (Since: 1.6)</doc>
</member>
</bitfield>
+ <class name="SharedTaskPool"
+ c:symbol-prefix="shared_task_pool"
+ c:type="GstSharedTaskPool"
+ version="1.20"
+ parent="TaskPool"
+ glib:type-name="GstSharedTaskPool"
+ glib:get-type="gst_shared_task_pool_get_type"
+ glib:type-struct="SharedTaskPoolClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="133">The #GstSharedTaskPool object.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="161"/>
+ <constructor name="new"
+ c:identifier="gst_shared_task_pool_new"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="525">Create a new shared task pool. The shared task pool will queue tasks on
+a maximum number of threads, 1 by default.
+
+Do not use a #GstSharedTaskPool to manage potentially inter-dependent tasks such
+as pad tasks, as having one task waiting on another to return before returning
+would cause obvious deadlocks if they happen to share the same thread.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="173"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="535">a new #GstSharedTaskPool. gst_object_unref() after usage.</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </return-value>
+ </constructor>
+ <method name="get_max_threads"
+ c:identifier="gst_shared_task_pool_get_max_threads"
+ version="1.20">
+ <source-position filename="gst/gsttaskpool.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="508">the maximum number of threads @pool is configured to spawn</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="506">a #GstSharedTaskPool</doc>
+ <type name="SharedTaskPool" c:type="GstSharedTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_max_threads"
+ c:identifier="gst_shared_task_pool_set_max_threads"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="474">Update the maximal number of threads the @pool may spawn. When
+the maximal number of threads is reduced, existing threads are not
+immediately shut down, see g_thread_pool_set_max_threads().
+
+Setting @max_threads to 0 effectively freezes the pool.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="167"/>
+ <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"
+ filename="gst/gsttaskpool.c"
+ line="476">a #GstSharedTaskPool</doc>
+ <type name="SharedTaskPool" c:type="GstSharedTaskPool*"/>
+ </instance-parameter>
+ <parameter name="max_threads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="477">Maximum number of threads to spawn.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="TaskPool" c:type="GstTaskPool"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SharedTaskPoolPrivate" c:type="GstSharedTaskPoolPrivate*"/>
+ </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="SharedTaskPoolClass"
+ c:type="GstSharedTaskPoolClass"
+ glib:is-gtype-struct-for="SharedTaskPool"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="149">The #GstSharedTaskPoolClass object.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="161"/>
+ <field name="parent_class">
+ <type name="TaskPoolClass" c:type="GstTaskPoolClass"/>
+ </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="SharedTaskPoolPrivate"
+ c:type="GstSharedTaskPoolPrivate"
+ disguised="1">
+ <source-position filename="gst/gsttaskpool.h" line="124"/>
+ </record>
<bitfield name="StackTraceFlags"
version="1.12"
glib:type-name="GstStackTraceFlags"
filename="gst/gststreamcollection.c"
line="201">Returns the upstream id of the @collection.</doc>
<source-position filename="gst/gststreamcollection.h" line="103"/>
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve"
filename="gst/gststreamcollection.c"
line="207">The upstream id</doc>
implementation uses a regular GThreadPool to start tasks.
Subclasses can be made to create custom threads.</doc>
- <source-position filename="gst/gsttaskpool.h" line="86"/>
+ <source-position filename="gst/gsttaskpool.h" line="97"/>
<constructor name="new" c:identifier="gst_task_pool_new">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="162">Create a new default task pool. The default task pool will use a regular
+ line="169">Create a new default task pool. The default task pool will use a regular
GThreadPool for threads.</doc>
- <source-position filename="gst/gsttaskpool.h" line="92"/>
+ <source-position filename="gst/gsttaskpool.h" line="103"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="168">a new #GstTaskPool. gst_object_unref() after usage.</doc>
+ line="175">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"
filename="gst/gsttaskpool.c"
- line="205">Wait for all tasks to be stopped. This is mainly used internally
+ line="212">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>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="207">a #GstTaskPool</doc>
+ line="214">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
</parameters>
</virtual-method>
+ <virtual-method name="dispose_handle"
+ invoker="dispose_handle"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="297">Dispose of the handle returned by gst_task_pool_push(). This does
+not need to be called with the default implementation as the default
+#GstTaskPoolClass::push implementation always returns %NULL. This does not need to be
+called either when calling gst_task_pool_join(), but should be called
+when joining is not necessary, but gst_task_pool_push() returned a
+non-%NULL value.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="93"/>
+ <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"
+ filename="gst/gsttaskpool.c"
+ line="299">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="300">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
<virtual-method name="join" invoker="join">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="263">Join a task and/or return it to the pool. @id is the id obtained from
-gst_task_pool_push().</doc>
+ line="272">Join a task and/or return it to the pool. @id is the id obtained from
+gst_task_pool_push(). The default implementation does nothing, as the
+default #GstTaskPoolClass::push implementation always returns %NULL.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
<source-position filename="gst/gsttaskpool.h" line="82"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="265">a #GstTaskPool</doc>
+ line="274">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
<parameter name="id"
- transfer-ownership="none"
+ transfer-ownership="full"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="266">the id</doc>
+ line="275">the id</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<virtual-method name="prepare" invoker="prepare" throws="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="183">Prepare the taskpool for accepting gst_task_pool_push() operations.
+ line="190">Prepare the taskpool for accepting gst_task_pool_push() operations.
MT safe.</doc>
<source-position filename="gst/gsttaskpool.h" line="77"/>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="185">a #GstTaskPool</doc>
+ line="192">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
</parameters>
<virtual-method name="push" invoker="push" throws="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="227">Start the execution of a new thread from @pool.</doc>
+ line="234">Start the execution of a new thread from @pool.</doc>
<source-position filename="gst/gsttaskpool.h" line="80"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="236">a pointer that should be used
+ line="243">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>
+must check @error to detect errors. If the pointer is not %NULL and
+gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+instead.</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="229">a #GstTaskPool</doc>
+ line="236">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
<parameter name="func"
closure="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="230">the function to call</doc>
+ line="237">the function to call</doc>
<type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
</parameter>
<parameter name="user_data"
closure="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="231">data to pass to @func</doc>
+ line="238">data to pass to @func</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<method name="cleanup" c:identifier="gst_task_pool_cleanup">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="205">Wait for all tasks to be stopped. This is mainly used internally
+ line="212">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>
- <source-position filename="gst/gsttaskpool.h" line="104"/>
+ <source-position filename="gst/gsttaskpool.h" line="118"/>
+ <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"
+ filename="gst/gsttaskpool.c"
+ line="214">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="dispose_handle"
+ c:identifier="gst_task_pool_dispose_handle"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="297">Dispose of the handle returned by gst_task_pool_push(). This does
+not need to be called with the default implementation as the default
+#GstTaskPoolClass::push implementation always returns %NULL. This does not need to be
+called either when calling gst_task_pool_join(), but should be called
+when joining is not necessary, but gst_task_pool_push() returned a
+non-%NULL value.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="115"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="207">a #GstTaskPool</doc>
+ line="299">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="300">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
</parameters>
</method>
<method name="join" c:identifier="gst_task_pool_join">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="263">Join a task and/or return it to the pool. @id is the id obtained from
-gst_task_pool_push().</doc>
- <source-position filename="gst/gsttaskpool.h" line="101"/>
+ line="272">Join a task and/or return it to the pool. @id is the id obtained from
+gst_task_pool_push(). The default implementation does nothing, as the
+default #GstTaskPoolClass::push implementation always returns %NULL.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="265">a #GstTaskPool</doc>
+ line="274">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
<parameter name="id"
- transfer-ownership="none"
+ transfer-ownership="full"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="266">the id</doc>
+ line="275">the id</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<method name="prepare" c:identifier="gst_task_pool_prepare" throws="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="183">Prepare the taskpool for accepting gst_task_pool_push() operations.
+ line="190">Prepare the taskpool for accepting gst_task_pool_push() operations.
MT safe.</doc>
- <source-position filename="gst/gsttaskpool.h" line="95"/>
+ <source-position filename="gst/gsttaskpool.h" line="106"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="185">a #GstTaskPool</doc>
+ line="192">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
</parameters>
<method name="push" c:identifier="gst_task_pool_push" throws="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="227">Start the execution of a new thread from @pool.</doc>
- <source-position filename="gst/gsttaskpool.h" line="98"/>
- <return-value transfer-ownership="none" nullable="1">
+ line="234">Start the execution of a new thread from @pool.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="109"/>
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="236">a pointer that should be used
+ line="243">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>
+must check @error to detect errors. If the pointer is not %NULL and
+gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+instead.</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<instance-parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="229">a #GstTaskPool</doc>
+ line="236">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</instance-parameter>
<parameter name="func"
closure="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="230">the function to call</doc>
+ line="237">the function to call</doc>
<type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
</parameter>
<parameter name="user_data"
allow-none="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="231">data to pass to @func</doc>
+ line="238">data to pass to @func</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<doc xml:space="preserve"
filename="gst/gsttaskpool.h"
line="63">The #GstTaskPoolClass object.</doc>
- <source-position filename="gst/gsttaskpool.h" line="86"/>
+ <source-position filename="gst/gsttaskpool.h" line="97"/>
<field name="parent_class">
<doc xml:space="preserve"
filename="gst/gsttaskpool.h"
<parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="185">a #GstTaskPool</doc>
+ line="192">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</parameter>
</parameters>
<parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="207">a #GstTaskPool</doc>
+ line="214">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</parameter>
</parameters>
<field name="push">
<callback name="push" throws="1">
<source-position filename="gst/gsttaskpool.h" line="80"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="236">a pointer that should be used
+ line="243">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>
+must check @error to detect errors. If the pointer is not %NULL and
+gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+instead.</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="229">a #GstTaskPool</doc>
+ line="236">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</parameter>
<parameter name="func"
closure="2">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="230">the function to call</doc>
+ line="237">the function to call</doc>
<type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
</parameter>
<parameter name="user_data"
closure="2">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="231">data to pass to @func</doc>
+ line="238">data to pass to @func</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
<parameter name="pool" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="265">a #GstTaskPool</doc>
+ line="274">a #GstTaskPool</doc>
<type name="TaskPool" c:type="GstTaskPool*"/>
</parameter>
<parameter name="id"
- transfer-ownership="none"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="275">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dispose_handle">
+ <callback name="dispose_handle">
+ <source-position filename="gst/gsttaskpool.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="299">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ <parameter name="id"
+ transfer-ownership="full"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="gst/gsttaskpool.c"
- line="266">the id</doc>
+ line="300">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">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
that could belong to this type</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="possible_caps" transfer-ownership="none">
+ <parameter name="possible_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve"
filename="gst/gsttypefind.c"
line="50">Optionally the caps that could be returned when typefinding
filename="gst/gsttypefindfactory.c"
line="156">Gets the #GstCaps associated with a typefind factory.</doc>
<source-position filename="gst/gsttypefindfactory.h" line="59"/>
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve"
filename="gst/gsttypefindfactory.c"
line="162">the #GstCaps associated with this factory</doc>
line="497">a #GstValueDeserializeFunc</doc>
<type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
</field>
- <field name="deserialize_with_pspec" writable="1">
+ <field name="deserialize_with_pspec" version="1.20" writable="1">
<doc xml:space="preserve"
filename="gst/gstvalue.h"
- line="498">a #GstValueDeserializeWithPSpecFunc</doc>
+ line="508">a #GstValueDeserializeWithPSpecFunc</doc>
<type name="ValueDeserializeWithPSpecFunc"
c:type="GstValueDeserializeWithPSpecFunc"/>
</field>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
+ <docsection name="gst">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="23">GStreamer is a framework for constructing graphs of various filters
+(termed elements here) that will handle streaming media. Any discrete
+(packetizable) media type is supported, with provisions for automatically
+determining source type. Formatting/framing information is provided with
+a powerful negotiation framework. Plugins are heavily used to provide for
+all elements, allowing one to construct plugins outside of the GST
+library, even released binary-only if license require (please don't).
+GStreamer covers a wide range of use cases including: playback, recording,
+editing, serving streams, voice over ip and video calls.
+
+The `GStreamer` library should be initialized with
+gst_init() before it can be used. You should pass pointers to the main argc
+and argv variables so that GStreamer can process its own command line
+options, as shown in the following example.
+
+## Initializing the gstreamer library
+
+|[ <!-- language="C" -->
+int
+main (int argc, char *argv[])
+{
+ // initialize the GStreamer library
+ gst_init (&amp;argc, &amp;argv);
+ ...
+}
+]|
+
+It's allowed to pass two %NULL pointers to gst_init() in case you don't want
+to pass the command line args to GStreamer.
+
+You can also use GOption to initialize your own parameters as shown in
+the next code fragment:
+
+## Initializing own parameters when initializing gstreamer
+|[ <!-- language="C" -->
+static gboolean stats = FALSE;
+...
+int
+main (int argc, char *argv[])
+{
+ GOptionEntry options[] = {
+ {"tags", 't', 0, G_OPTION_ARG_NONE, &amp;tags,
+ N_("Output tags (also known as metadata)"), NULL},
+ {NULL}
+ };
+ ctx = g_option_context_new ("[ADDITIONAL ARGUMENTS]");
+ g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
+ g_option_context_add_group (ctx, gst_init_get_option_group ());
+ if (!g_option_context_parse (ctx, &amp;argc, &amp;argv, &amp;err)) {
+ g_print ("Error initializing: &percnt;s\n", GST_STR_NULL (err->message));
+ exit (1);
+ }
+ g_option_context_free (ctx);
+...
+}
+]|
+
+Use gst_version() to query the library version at runtime or use the
+GST_VERSION_* macros to find the version at compile time. Optionally
+gst_version_string() returns a printable string.
+
+The gst_deinit() call is used to clean up all internal resources used
+by GStreamer. It is mostly used in unit tests to check for leaks.</doc>
+ </docsection>
+ <docsection name="gstcompat">
+ <doc xml:space="preserve"
+ filename="gst/gstcompat.h"
+ line="26">Please do not use these in new code.
+These symbols are only available by defining GST_DISABLE_DEPRECATED.
+This can be done in CFLAGS for compiling old code.</doc>
+ </docsection>
+ <docsection name="gsterror">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.c"
+ line="20">GStreamer elements can throw non-fatal warnings and fatal errors.
+Higher-level elements and applications can programmatically filter
+the ones they are interested in or can recover from,
+and have a default handler handle the rest of them.
+
+The rest of this section will use the term "error"
+to mean both (non-fatal) warnings and (fatal) errors; they are treated
+similarly.
+
+Errors from elements are the combination of a #GError and a debug string.
+The #GError contains:
+- a domain type: CORE, LIBRARY, RESOURCE or STREAM
+- a code: an enum value specific to the domain
+- a translated, human-readable message
+- a non-translated additional debug string, which also contains
+- file and line information
+
+Elements do not have the context required to decide what to do with
+errors. As such, they should only inform about errors, and stop their
+processing. In short, an element doesn't know what it is being used for.
+
+It is the application or compound element using the given element that
+has more context about the use of the element. Errors can be received by
+listening to the #GstBus of the element/pipeline for #GstMessage objects with
+the type %GST_MESSAGE_ERROR or %GST_MESSAGE_WARNING. The thrown errors should
+be inspected, and filtered if appropriate.
+
+An application is expected to, by default, present the user with a
+dialog box (or an equivalent) showing the error message. The dialog
+should also allow a way to get at the additional debug information,
+so the user can provide bug reporting information.
+
+A compound element is expected to forward errors by default higher up
+the hierarchy; this is done by default in the same way as for other types
+of #GstMessage.
+
+When applications or compound elements trigger errors that they can
+recover from, they can filter out these errors and take appropriate action.
+For example, an application that gets an error from xvimagesink
+that indicates all XVideo ports are taken, the application can attempt
+to use another sink instead.
+
+Elements throw errors using the #GST_ELEMENT_ERROR convenience macro:
+
+## Throwing an error
+
+ |[
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
+ (_("No file name specified for reading.")), (NULL));
+ ]|
+
+Things to keep in mind:
+
+ * Don't go off inventing new error codes. The ones
+ currently provided should be enough. If you find your type of error
+ does not fit the current codes, you should use FAILED.
+ * Don't provide a message if the default one suffices.
+ this keeps messages more uniform. Use (%NULL) - not forgetting the
+ parentheses.
+ * If you do supply a custom message, it should be
+ marked for translation. The message should start with a capital
+ and end with a period. The message should describe the error in short,
+ in a human-readable form, and without any complex technical terms.
+ A user interface will present this message as the first thing a user
+ sees. Details, technical info, ... should go in the debug string.
+
+ * The debug string can be as you like. Again, use (%NULL)
+ if there's nothing to add - file and line number will still be
+ passed. #GST_ERROR_SYSTEM can be used as a shortcut to give
+ debug information on a system call error.</doc>
+ </docsection>
+ <docsection name="gstformat">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="24">GstFormats functions are used to register a new format to the gstreamer
+core. Formats can be used to perform seeking or conversions/query
+operations.</doc>
+ </docsection>
+ <docsection name="gstinfo">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="25">GStreamer's debugging subsystem is an easy way to get information about what
+the application is doing. It is not meant for programming errors. Use GLib
+methods (g_warning and friends) for that.
+
+The debugging subsystem works only after GStreamer has been initialized
+- for example by calling gst_init().
+
+The debugging subsystem is used to log informational messages while the
+application runs. Each messages has some properties attached to it. Among
+these properties are the debugging category, the severity (called "level"
+here) and an optional #GObject it belongs to. Each of these messages is sent
+to all registered debugging handlers, which then handle the messages.
+GStreamer attaches a default handler on startup, which outputs requested
+messages to stderr.
+
+Messages are output by using shortcut macros like #GST_DEBUG,
+#GST_CAT_ERROR_OBJECT or similar. These all expand to calling gst_debug_log()
+with the right parameters.
+The only thing a developer will probably want to do is define his own
+categories. This is easily done with 3 lines. At the top of your code,
+declare
+the variables and set the default category.
+|[<!-- language="C" -->
+ GST_DEBUG_CATEGORY_STATIC (my_category); // define category (statically)
+ #define GST_CAT_DEFAULT my_category // set as default
+]|
+After that you only need to initialize the category.
+|[<!-- language="C" -->
+ GST_DEBUG_CATEGORY_INIT (my_category, "my category",
+ 0, "This is my very own");
+]|
+Initialization must be done before the category is used first.
+Plugins do this
+in their plugin_init function, libraries and applications should do that
+during their initialization.
+
+The whole debugging subsystem can be disabled at build time with passing the
+--disable-gst-debug switch to configure. If this is done, every function,
+macro and even structs described in this file evaluate to default values or
+nothing at all.
+So don't take addresses of these functions or use other tricks.
+If you must do that for some reason, there is still an option.
+If the debugging
+subsystem was compiled out, GST_DISABLE_GST_DEBUG is defined in
+&lt;gst/gst.h&gt;,
+so you can check that before doing your trick.
+Disabling the debugging subsystem will give you a slight (read: unnoticeable)
+speed increase and will reduce the size of your compiled code. The GStreamer
+library itself becomes around 10% smaller.
+
+Please note that there are naming conventions for the names of debugging
+categories. These are explained at GST_DEBUG_CATEGORY_INIT().</doc>
+ </docsection>
+ <docsection name="gstparamspec">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="19">GParamSpec implementations specific to GStreamer.</doc>
+ </docsection>
+ <docsection name="gstparse">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="25">These function allow to create a pipeline based on the syntax used in the
+gst-launch-1.0 utility (see man-page for syntax documentation).
+
+Please note that these functions take several measures to create
+somewhat dynamic pipelines. Due to that such pipelines are not always
+reusable (set the state to NULL and back to PLAYING).</doc>
+ </docsection>
+ <docsection name="gstprotection">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="20">The GstProtectionMeta class enables the information needed to decrypt a
+#GstBuffer to be attached to that buffer.
+
+Typically, a demuxer element would attach GstProtectionMeta objects
+to the buffers that it pushes downstream. The demuxer would parse the
+protection information for a video/audio frame from its input data and use
+this information to populate the #GstStructure @info field,
+which is then encapsulated in a GstProtectionMeta object and attached to
+the corresponding output buffer using the gst_buffer_add_protection_meta()
+function. The information in this attached GstProtectionMeta would be
+used by a downstream decrypter element to recover the original unencrypted
+frame.</doc>
+ </docsection>
+ <docsection name="gststreams">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="27">A #GstStream is a high-level object defining a stream of data which is, or
+can be, present in a #GstPipeline.
+
+It is defined by a unique identifier, a "Stream ID". A #GstStream does not
+automatically imply the stream is present within a pipeline or element.
+
+Any element that can introduce new streams in a pipeline should create the
+appropriate #GstStream object, and can convey that object via the
+%GST_EVENT_STREAM_START event and/or the #GstStreamCollection.
+
+Elements that do not modify the nature of the stream can add extra information
+on it (such as enrich the #GstCaps, or #GstTagList). This is typically done
+by parsing elements.</doc>
+ </docsection>
+ <docsection name="gstvalue">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="20">GValue implementations specific to GStreamer.
+
+Note that operations on the same #GValue from multiple threads may lead to
+undefined behaviour.</doc>
+ </docsection>
+ <docsection name="gstversion">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="28">Use the GST_VERSION_* macros e.g. when defining own plugins. The GStreamer
+runtime checks if these plugin and core version match and refuses to use a
+plugin compiled against a different version of GStreamer.
+You can also use the macros to keep the GStreamer version information in
+your application.
+
+Use the gst_version() function if you want to know which version of
+GStreamer you are currently linked against.
+
+The version macros get defined by including "gst/gst.h".</doc>
+ </docsection>
<function-macro name="guint64_to_gdouble"
c:identifier="gst_guint64_to_gdouble"
introspectable="0">
and want them all ghosted, you will have to create the ghost pads
yourself).</doc>
<source-position filename="gst/gstutils.h" line="1148"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstutils.c"
line="3410">a
and want them all ghosted, you will have to create the ghost pads
yourself).</doc>
<source-position filename="gst/gstutils.h" line="1152"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstutils.c"
line="3441">a newly-created
To create a sub-pipeline (bin) for embedding into an existing pipeline
use gst_parse_bin_from_description().</doc>
<source-position filename="gst/gstparse.h" line="118"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstparse.c"
line="299">a new element on success, %NULL on
To create a sub-pipeline (bin) for embedding into an existing pipeline
use gst_parse_bin_from_description_full().</doc>
<source-position filename="gst/gstparse.h" line="124"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstparse.c"
line="327">a new element on success, %NULL on
@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>
<source-position filename="gst/gstparse.h" line="121"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstparse.c"
line="221">a new element on success and %NULL
@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>
<source-position filename="gst/gstparse.h" line="129"/>
- <return-value transfer-ownership="none" nullable="1">
+ <return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst/gstparse.c"
line="242">a new element on success; on
that could belong to this type</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="possible_caps" transfer-ownership="none">
+ <parameter name="possible_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve"
filename="gst/gsttypefind.c"
line="50">Optionally the caps that could be returned when typefinding
line="1113">a #GstAppSink</doc>
<type name="AppSink" c:type="GstAppSink*"/>
</instance-parameter>
- <parameter name="caps" transfer-ownership="none">
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/app/gstappsink.c"
line="1114">caps to set</doc>
line="1422">a #GstAppSrc</doc>
<type name="AppSrc" c:type="GstAppSrc*"/>
</instance-parameter>
- <parameter name="caps" transfer-ownership="none">
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/app/gstappsrc.c"
line="1423">caps to set</doc>
</parameter>
</parameters>
</function-macro>
+ <docsection name="gstaudio">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="19">This library contains some helper functions for audio elements.</doc>
+ </docsection>
+ <docsection name="gstaudiochannels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="19">This library contains some helper functions for multichannel audio.</doc>
+ </docsection>
+ <docsection name="gstaudioiec61937">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="22">This module contains some helper functions for encapsulating various
+audio formats in IEC 61937 headers and padding.</doc>
+ </docsection>
<function name="stream_volume_convert_volume"
c:identifier="gst_stream_volume_convert_volume"
moved-to="StreamVolume.convert_volume">
a #GstAggregator::samples-selected handler, and can be used to precisely
control aggregating parameters for a given set of input samples.</doc>
<source-position filename="libs/gst/base/gstaggregator.h" line="350"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstaggregator.c"
line="327">The sample that is about to be aggregated. It may hold a #GstBuffer
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ nullable="1"
optional="1"
allow-none="1">
<doc xml:space="preserve"
<parameter name="params"
direction="out"
caller-allocates="1"
- transfer-ownership="full"
+ transfer-ownership="none"
optional="1"
allow-none="1">
<doc xml:space="preserve"
<method name="get_buffer_pool"
c:identifier="gst_aggregator_get_buffer_pool">
<source-position filename="libs/gst/base/gstaggregator.h" line="402"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstaggregator.c"
line="3609">the instance of the #GstBufferPool used
a #GstAggregator::samples-selected handler, and can be used to precisely
control aggregating parameters for a given set of input samples.</doc>
<source-position filename="libs/gst/base/gstaggregator.h" line="417"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstaggregator.c"
line="327">The sample that is about to be aggregated. It may hold a #GstBuffer
<callback name="peek_next_sample">
<source-position filename="libs/gst/base/gstaggregator.h"
line="350"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstaggregator.c"
line="327">The sample that is about to be aggregated. It may hold a #GstBuffer
</method>
<method name="peek_buffer" c:identifier="gst_aggregator_pad_peek_buffer">
<source-position filename="libs/gst/base/gstaggregator.h" line="113"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstaggregator.c"
line="3445">A reference to the buffer in @pad or
filename="libs/gst/base/gstaggregator.c"
line="3361">Steal the ref to the buffer currently queued in @pad.</doc>
<source-position filename="libs/gst/base/gstaggregator.h" line="110"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstaggregator.c"
line="3367">The buffer in @pad or NULL if no buffer was
c:identifier="gst_base_parse_add_index_entry">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1975">Adds an entry to the index associating @offset to @ts. It is recommended
+ line="1973">Adds an entry to the index associating @offset to @ts. It is recommended
to only add keyframe entries. @force allows to bypass checks, such as
whether the stream is (upstream) seekable, another entry is already "close"
to the new entry, etc.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1988">#gboolean indicating whether entry was added</doc>
+ line="1986">#gboolean indicating whether entry was added</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1977">#GstBaseParse.</doc>
+ line="1975">#GstBaseParse.</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1978">offset of entry</doc>
+ line="1976">offset of entry</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
<parameter name="ts" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1979">timestamp associated with offset</doc>
+ line="1977">timestamp associated with offset</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="key" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1980">whether entry refers to keyframe</doc>
+ line="1978">whether entry refers to keyframe</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="force" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1981">add entry disregarding sanity checks</doc>
+ line="1979">add entry disregarding sanity checks</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
c:identifier="gst_base_parse_convert_default">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1737">Default implementation of #GstBaseParseClass.convert().</doc>
+ line="1735">Default implementation of #GstBaseParseClass.convert().</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="345"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1747">%TRUE if conversion was successful.</doc>
+ line="1745">%TRUE if conversion was successful.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1739">#GstBaseParse.</doc>
+ line="1737">#GstBaseParse.</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="src_format" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1740">#GstFormat describing the source format.</doc>
+ line="1738">#GstFormat describing the source format.</doc>
<type name="Gst.Format" c:type="GstFormat"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1741">Source value to be converted.</doc>
+ line="1739">Source value to be converted.</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
<parameter name="dest_format" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1742">#GstFormat defining the converted format.</doc>
+ line="1740">#GstFormat defining the converted format.</doc>
<type name="Gst.Format" c:type="GstFormat"/>
</parameter>
<parameter name="dest_value"
transfer-ownership="full">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="1743">Pointer where the conversion result will be put.</doc>
+ line="1741">Pointer where the conversion result will be put.</doc>
<type name="gint64" c:type="gint64*"/>
</parameter>
</parameters>
<method name="drain" c:identifier="gst_base_parse_drain" version="1.12">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2756">Drains the adapter until it is empty. It decreases the min_frame_size to
+ line="2754">Drains the adapter until it is empty. It decreases the min_frame_size to
match the current adapter size and calls chain method until the adapter
is emptied or chain returns with error.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="320"/>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2758">a #GstBaseParse</doc>
+ line="2756">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
</parameters>
<method name="finish_frame" c:identifier="gst_base_parse_finish_frame">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2660">Collects parsed data and pushes this downstream.
+ line="2658">Collects parsed data and pushes this downstream.
Source pad caps must be set when this is called.
If @frame's out_buffer is set, that will be used as subsequent frame data.
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2678">a #GstFlowReturn that should be escalated to caller (of caller)</doc>
+ line="2676">a #GstFlowReturn that should be escalated to caller (of caller)</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2662">a #GstBaseParse</doc>
+ line="2660">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2663">a #GstBaseParseFrame</doc>
+ line="2661">a #GstBaseParseFrame</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2664">consumed input data represented by frame</doc>
+ line="2662">consumed input data represented by frame</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4992">Sets the parser subclass's tags and how they should be merged with any
+ line="4988">Sets the parser subclass's tags and how they should be merged with any
upstream stream tags. This will override any tags previously-set
with gst_base_parse_merge_tags().
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4994">a #GstBaseParse</doc>
+ line="4990">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="tags"
allow-none="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4995">a #GstTagList to merge, or NULL to unset
+ line="4991">a #GstTagList to merge, or NULL to unset
previously-set tags</doc>
<type name="Gst.TagList" c:type="GstTagList*"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4997">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ line="4993">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
<type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
</parameter>
</parameters>
<method name="push_frame" c:identifier="gst_base_parse_push_frame">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2446">Pushes the frame's buffer downstream, sends any pending events and
+ line="2444">Pushes the frame's buffer downstream, sends any pending events and
does some timestamp and segment handling. Takes ownership of
frame's buffer, though caller retains ownership of @frame.
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2457">#GstFlowReturn</doc>
+ line="2455">#GstFlowReturn</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2448">#GstBaseParse.</doc>
+ line="2446">#GstBaseParse.</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="2449">a #GstBaseParseFrame</doc>
+ line="2447">a #GstBaseParseFrame</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</parameter>
</parameters>
c:identifier="gst_base_parse_set_average_bitrate">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3882">Optionally sets the average bitrate detected in media (if non-zero),
+ line="3878">Optionally sets the average bitrate detected in media (if non-zero),
e.g. based on metadata, as it will be posted to the application.
By default, announced average bitrate is estimated. The average bitrate
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3884">#GstBaseParse.</doc>
+ line="3880">#GstBaseParse.</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="bitrate" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3885">average bitrate in bits/second</doc>
+ line="3881">average bitrate in bits/second</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
<method name="set_duration" c:identifier="gst_base_parse_set_duration">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3831">Sets the duration of the currently playing media. Subclass can use this
+ line="3827">Sets the duration of the currently playing media. Subclass can use this
when it is able to determine duration and/or notices a change in the media
duration. Alternatively, if @interval is non-zero (default), then stream
duration is determined based on estimated bitrate, and updated every @interval
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3833">#GstBaseParse.</doc>
+ line="3829">#GstBaseParse.</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="fmt" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3834">#GstFormat.</doc>
+ line="3830">#GstFormat.</doc>
<type name="Gst.Format" c:type="GstFormat"/>
</parameter>
<parameter name="duration" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3835">duration value.</doc>
+ line="3831">duration value.</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
<parameter name="interval" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3836">how often to update the duration estimate based on bitrate, or 0.</doc>
+ line="3832">how often to update the duration estimate based on bitrate, or 0.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
c:identifier="gst_base_parse_set_frame_rate">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3920">If frames per second is configured, parser can take care of buffer duration
+ line="3916">If frames per second is configured, parser can take care of buffer duration
and timestamping. When performing segment clipping, or seeking to a specific
location, a corresponding decoder might need an initial @lead_in and a
following @lead_out number of frames to ensure the desired segment is
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3922">the #GstBaseParse to set</doc>
+ line="3918">the #GstBaseParse to set</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="fps_num" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3923">frames per second (numerator).</doc>
+ line="3919">frames per second (numerator).</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="fps_den" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3924">frames per second (denominator).</doc>
+ line="3920">frames per second (denominator).</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="lead_in" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3925">frames needed before a segment for subsequent decode</doc>
+ line="3921">frames needed before a segment for subsequent decode</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="lead_out" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3926">frames needed after a segment</doc>
+ line="3922">frames needed after a segment</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
c:identifier="gst_base_parse_set_has_timing_info">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3977">Set if frames carry timing information which the subclass can (generally)
+ line="3973">Set if frames carry timing information which the subclass can (generally)
parse and provide. In particular, intrinsic (rather than estimated) time
can be obtained following a seek.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="317"/>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3979">a #GstBaseParse</doc>
+ line="3975">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="has_timing" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3980">whether frames carry timing information</doc>
+ line="3976">whether frames carry timing information</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
<method name="set_infer_ts" c:identifier="gst_base_parse_set_infer_ts">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4048">By default, the base class might try to infer PTS from DTS and vice
+ line="4044">By default, the base class might try to infer PTS from DTS and vice
versa. While this is generally correct for audio data, it may not
be otherwise. Sub-classes implementing such formats should disable
timestamp inferring.</doc>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4050">a #GstBaseParse</doc>
+ line="4046">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="infer_ts" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4051">%TRUE if parser should infer DTS/PTS from each other</doc>
+ line="4047">%TRUE if parser should infer DTS/PTS from each other</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
<method name="set_latency" c:identifier="gst_base_parse_set_latency">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4065">Sets the minimum and maximum (which may likely be equal) latency introduced
+ line="4061">Sets the minimum and maximum (which may likely be equal) latency introduced
by the parsing process. If there is such a latency, which depends on the
particular parsing of the format, it typically corresponds to 1 frame duration.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="341"/>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4067">a #GstBaseParse</doc>
+ line="4063">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="min_latency" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4068">minimum parse latency</doc>
+ line="4064">minimum parse latency</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="max_latency" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4069">maximum parse latency</doc>
+ line="4065">maximum parse latency</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
c:identifier="gst_base_parse_set_min_frame_size">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3902">Subclass can use this function to tell the base class that it needs to
+ line="3898">Subclass can use this function to tell the base class that it needs to
be given buffers of at least @min_size bytes.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="314"/>
<return-value transfer-ownership="none">
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3904">#GstBaseParse.</doc>
+ line="3900">#GstBaseParse.</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="min_size" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3905">Minimum size in bytes of the data that this base class should
+ line="3901">Minimum size in bytes of the data that this base class should
give to subclass.</doc>
<type name="guint" c:type="guint"/>
</parameter>
c:identifier="gst_base_parse_set_passthrough">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4009">Set if the nature of the format or configuration does not allow (much)
+ line="4005">Set if the nature of the format or configuration does not allow (much)
parsing, and the parser should operate in passthrough mode (which only
applies when operating in push mode). That is, incoming buffers are
pushed through unmodified, i.e. no #GstBaseParseClass.handle_frame()
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4011">a #GstBaseParse</doc>
+ line="4007">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="passthrough" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4012">%TRUE if parser should run in passthrough mode</doc>
+ line="4008">%TRUE if parser should run in passthrough mode</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
c:identifier="gst_base_parse_set_pts_interpolation">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4029">By default, the base class will guess PTS timestamps using a simple
+ line="4025">By default, the base class will guess PTS timestamps using a simple
interpolation (previous timestamp + duration), which is incorrect for
data streams with reordering, where PTS can go backward. Sub-classes
implementing such formats should disable PTS interpolation.</doc>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4031">a #GstBaseParse</doc>
+ line="4027">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="pts_interpolate" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4032">%TRUE if parser should interpolate PTS timestamps</doc>
+ line="4028">%TRUE if parser should interpolate PTS timestamps</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
<method name="set_syncable" c:identifier="gst_base_parse_set_syncable">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3993">Set if frame starts can be identified. This is set by default and
+ line="3989">Set if frame starts can be identified. This is set by default and
determines whether seeking based on bitrate averages
is possible for a format/stream.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="323"/>
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3995">a #GstBaseParse</doc>
+ line="3991">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="syncable" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="3996">set if frame starts can be identified</doc>
+ line="3992">set if frame starts can be identified</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
version="1.2">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4952">This function should only be called from a @handle_frame implementation.
+ line="4948">This function should only be called from a @handle_frame implementation.
#GstBaseParse creates initial timestamps for frames by using the last
timestamp seen in the stream before the frame starts. In certain
<instance-parameter name="parse" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4954">a #GstBaseParse</doc>
+ line="4950">a #GstBaseParse</doc>
<type name="BaseParse" c:type="GstBaseParse*"/>
</instance-parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="4955">offset into current buffer</doc>
+ line="4951">offset into current buffer</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="552">If set to %TRUE, baseparse will unconditionally force parsing of the
+ line="551">If set to %TRUE, baseparse will unconditionally force parsing of the
incoming data. This can be required in the rare cases where the incoming
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
force validation and parsing of the incoming data.
<constructor name="new" c:identifier="gst_base_parse_frame_new">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="749">Allocates a new #GstBaseParseFrame. This function is mainly for bindings,
+ line="748">Allocates a new #GstBaseParseFrame. This function is mainly for bindings,
elements written in C should usually allocate the frame on the stack and
then use gst_base_parse_frame_init() to initialise it.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="287"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="761">a newly-allocated #GstBaseParseFrame. Free with
+ line="760">a newly-allocated #GstBaseParseFrame. Free with
gst_base_parse_frame_free() when no longer needed.</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</return-value>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="751">a #GstBuffer</doc>
+ line="750">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="752">the flags</doc>
+ line="751">the flags</doc>
<type name="BaseParseFrameFlags" c:type="GstBaseParseFrameFlags"/>
</parameter>
<parameter name="overhead" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="753">number of bytes in this frame which should be counted as
+ line="752">number of bytes in this frame which should be counted as
metadata overhead, ie. not used to calculate the average bitrate.
Set to -1 to mark the entire frame as metadata. If in doubt, set to 0.</doc>
<type name="gint" c:type="gint"/>
version="1.12.1">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="680">Copies a #GstBaseParseFrame.</doc>
+ line="679">Copies a #GstBaseParseFrame.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="294"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="686">A copy of @frame</doc>
+ line="685">A copy of @frame</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</return-value>
<parameters>
<instance-parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="682">a #GstBaseParseFrame</doc>
+ line="681">a #GstBaseParseFrame</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</instance-parameter>
</parameters>
<method name="free" c:identifier="gst_base_parse_frame_free">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="704">Frees the provided @frame.</doc>
+ line="703">Frees the provided @frame.</doc>
<source-position filename="libs/gst/base/gstbaseparse.h" line="296"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
<instance-parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="706">A #GstBaseParseFrame</doc>
+ line="705">A #GstBaseParseFrame</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</instance-parameter>
</parameters>
<method name="init" c:identifier="gst_base_parse_frame_init">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="731">Sets a #GstBaseParseFrame to initial state. Currently this means
+ line="730">Sets a #GstBaseParseFrame to initial state. Currently this means
all public fields are zero-ed and a private flag is set to make
sure gst_base_parse_frame_free() only frees the contents but not
the actual frame. Use this function to initialise a #GstBaseParseFrame
<instance-parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbaseparse.c"
- line="733">#GstBaseParseFrame.</doc>
+ line="732">#GstBaseParseFrame.</doc>
<type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
</instance-parameter>
</parameters>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ nullable="1"
optional="1"
allow-none="1">
<doc xml:space="preserve"
<parameter name="params"
direction="out"
caller-allocates="1"
- transfer-ownership="full"
+ transfer-ownership="none"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasesrc.c"
- line="4080">the
-#GstAllocationParams of @allocator</doc>
+ line="4080">the #GstAllocationParams of @allocator</doc>
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
</parameter>
</parameters>
<method name="get_buffer_pool"
c:identifier="gst_base_src_get_buffer_pool">
<source-position filename="libs/gst/base/gstbasesrc.h" line="319"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasesrc.c"
line="4057">the instance of the #GstBufferPool used
version="1.14">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasesrc.c"
- line="4104">Subclasses can call this from their create virtual method implementation
+ line="4103">Subclasses can call this from their create virtual method implementation
to submit a buffer list to be pushed out later. This is useful in
cases where the create function wants to produce multiple buffers to be
pushed out in one go in form of a #GstBufferList, which can reduce overhead
<instance-parameter name="src" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasesrc.c"
- line="4106">a #GstBaseSrc</doc>
+ line="4105">a #GstBaseSrc</doc>
<type name="BaseSrc" c:type="GstBaseSrc*"/>
</instance-parameter>
<parameter name="buffer_list" transfer-ownership="full">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasesrc.c"
- line="4107">a #GstBufferList</doc>
+ line="4106">a #GstBufferList</doc>
<type name="Gst.BufferList" c:type="GstBufferList*"/>
</parameter>
</parameters>
direction="out"
caller-allocates="0"
transfer-ownership="full"
+ nullable="1"
optional="1"
allow-none="1">
<doc xml:space="preserve"
<parameter name="params"
direction="out"
caller-allocates="1"
- transfer-ownership="full"
+ transfer-ownership="none"
optional="1"
allow-none="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasetransform.c"
- line="2869">the
-#GstAllocationParams of @allocator</doc>
+ line="2869">the #GstAllocationParams of @allocator</doc>
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
</parameter>
</parameters>
c:identifier="gst_base_transform_get_buffer_pool">
<source-position filename="libs/gst/base/gstbasetransform.h"
line="337"/>
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasetransform.c"
line="2850">the instance of the #GstBufferPool used
version="1.6">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasetransform.c"
- line="2891">Updates the srcpad caps and sends the caps downstream. This function
+ line="2890">Updates the srcpad caps and sends the caps downstream. This function
can be used by subclasses when they have already negotiated their caps
but found a change in them (or computed new information). This way,
they can notify downstream about that change without losing any
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasetransform.c"
- line="2903">%TRUE if the caps could be sent downstream %FALSE otherwise</doc>
+ line="2902">%TRUE if the caps could be sent downstream %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="trans" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasetransform.c"
- line="2893">a #GstBaseTransform</doc>
+ line="2892">a #GstBaseTransform</doc>
<type name="BaseTransform" c:type="GstBaseTransform*"/>
</instance-parameter>
<parameter name="updated_caps" transfer-ownership="none">
<doc xml:space="preserve"
filename="libs/gst/base/gstbasetransform.c"
- line="2894">An updated version of the srcpad caps to be pushed
+ line="2893">An updated version of the srcpad caps to be pushed
downstream</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameter>
</parameters>
</function-macro>
+ <docsection name="gsttypefindhelper">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="24">Utility functions for elements doing typefinding:
+gst_type_find_helper() does typefinding in pull mode, while
+gst_type_find_helper_for_buffer() is useful for elements needing to do
+typefinding in push mode from a chain function.</doc>
+ </docsection>
<function name="queue_array_new"
c:identifier="gst_queue_array_new"
moved-to="QueueArray.new"
</parameter>
</parameters>
</function-macro>
+ <docsection name="gstnetutils">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetutils.c"
+ line="20">GstNetUtils gathers network utility functions, enabling use for all
+gstreamer plugins.</doc>
+ </docsection>
<function name="net_address_meta_api_get_type"
c:identifier="gst_net_address_meta_api_get_type">
<source-position filename="libs/gst/net/gstnetaddressmeta.h" line="45"/>
</parameter>
</parameters>
</function-macro>
+ <docsection name="encoding-profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="21">Functions to create and handle encoding profiles.
+
+Encoding profiles describe the media types and settings one wishes to use
+for an encoding process. The top-level profiles are commonly
+#GstEncodingContainerProfile(s) (which contains a user-readable name and
+description along with which container format to use). These, in turn,
+reference one or more #GstEncodingProfile(s) which indicate which encoding
+format should be used on each individual streams.
+
+#GstEncodingProfile(s) can be provided to the 'encodebin' element, which
+will take care of selecting and setting up the required elements to produce
+an output stream conforming to the specifications of the profile.
+
+Unlike other systems, the encoding profiles do not specify which #GstElement
+to use for the various encoding and muxing steps, but instead relies on
+specifying the format one wishes to use.
+
+Encoding profiles can be created at runtime by the application or loaded
+from (and saved to) file using the #GstEncodingTarget API.
+
+## Defining a GstEncodingProfile as a string
+
+### Serialized encoding profile formats
+
+#### Using encoders and muxer element factory name:
+
+```
+ muxer_factory_name:video_encoder_factory_name:audio_encoder_factory_name
+```
+
+For example to encode a stream into a WebM container, with an OGG audio
+stream and a VP8 video stream, the serialized #GstEncodingProfile looks
+like:
+
+```
+ webmmux:vp8enc:vorbisenc
+```
+
+#### Define the encoding profile in a generic way using caps:
+
+```
+ muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
+```
+
+For example to encode a stream into a WebM container, with an OGG audio
+stream and a VP8 video stream, the serialized #GstEncodingProfile looks
+like:
+
+```
+ video/webm:video/x-vp8:audio/x-vorbis
+```
+
+It is possible to mix caps and element type names so you can specify a specific
+video encoder while using caps for other encoders/muxer.
+
+### Advanced encoding format serialization features:
+
+You can also set the preset name of the encoding profile using the
+caps+preset_name syntax as in:
+
+```
+ video/webm:video/x-vp8+youtube-preset:audio/x-vorbis
+```
+
+Moreover, you can set extra properties `presence`, `single-segment` and
+`variable-framerate` * of an * encoding profile using the `|presence=` syntax
+as in:
+
+```
+ video/webm:video/x-vp8|presence=1,variable-framerate=true|single-segment=true:audio/x-vorbis
+```
+
+This field allows specifies the maximum number of times a
+#GstEncodingProfile can be used inside an encodebin. If 0, it is not a
+mandatory stream and can be used as many times as necessary.
+
+You can also use the `restriction_caps->encoded_format_caps` syntax to
+specify the restriction caps to be set on a #GstEncodingProfile
+
+It corresponds to the restriction #GstCaps to apply before the encoder that
+will be used in the profile. The fields present in restriction caps are
+properties of the raw stream (that is, before encoding), such as height and
+width for video and depth and sampling rate for audio. This property does
+not make sense for muxers. See #gst_encoding_profile_get_restriction for
+more details.
+
+To force a video stream to be encoded with a Full HD resolution (using WebM
+as the container format, VP8 as the video codec and Vorbis as the audio
+codec), you should use:
+
+```
+ "video/webm:video/x-raw,width=1920,height=1080->video/x-vp8:audio/x-vorbis"
+```
+
+> NOTE: Make sure to enclose into quotes to avoid '>' to be reinterpreted by
+> the shell.
+
+In the case you are using encoder types, the following is also possible:
+
+```
+ "matroskamux:x264enc,width=1920,height=1080:audio/x-vorbis"
+```
+
+## Some serialized encoding formats examples:
+
+MP3 audio and H264 in MP4:
+
+```
+ video/quicktime,variant=iso:video/x-h264:audio/mpeg,mpegversion=1,layer=3
+```
+
+Vorbis and theora in OGG:
+
+```
+ application/ogg:video/x-theora:audio/x-vorbis
+```
+
+AC3 and H264 in MPEG-TS:
+
+```
+ video/mpegts:video/x-h264:audio/x-ac3
+```
+
+## Loading a profile from encoding targets
+
+Anywhere where you have to use a string to define a #GstEncodingProfile,
+you can use load it from a #GstEncodingTarget using the following syntaxes:
+
+```
+ target_name[/profilename/category]
+```
+
+or
+
+```
+ /path/to/target.gep:profilename
+```
+
+## Examples
+
+### Creating a profile
+
+``` c
+#include <gst/pbutils/encoding-profile.h>
+...
+GstEncodingProfile *
+create_ogg_theora_profile(void)
+{
+ GstEncodingContainerProfile *prof;
+ GstCaps *caps;
+
+ caps = gst_caps_from_string("application/ogg");
+ prof = gst_encoding_container_profile_new("Ogg audio/video",
+ "Standard OGG/THEORA/VORBIS",
+ caps, NULL);
+ gst_caps_unref (caps);
+
+ caps = gst_caps_from_string("video/x-theora");
+ gst_encoding_container_profile_add_profile(prof,
+ (GstEncodingProfile*) gst_encoding_video_profile_new(caps, NULL, NULL, 0));
+ gst_caps_unref (caps);
+
+ caps = gst_caps_from_string("audio/x-vorbis");
+ gst_encoding_container_profile_add_profile(prof,
+ (GstEncodingProfile*) gst_encoding_audio_profile_new(caps, NULL, NULL, 0));
+ gst_caps_unref (caps);
+
+ return (GstEncodingProfile*) prof;
+}
+
+```
+
+### Example: Using an encoder preset with a profile
+
+``` c
+#include <gst/pbutils/encoding-profile.h>
+...
+GstEncodingProfile *
+create_ogg_theora_profile(void)
+{
+ GstEncodingVideoProfile *v;
+ GstEncodingAudioProfile *a;
+ GstEncodingContainerProfile *prof;
+ GstCaps *caps;
+ GstPreset *preset;
+
+ caps = gst_caps_from_string ("application/ogg");
+ prof = gst_encoding_container_profile_new ("Ogg audio/video",
+ "Standard OGG/THEORA/VORBIS",
+ caps, NULL);
+ gst_caps_unref (caps);
+
+ preset = GST_PRESET (gst_element_factory_make ("theoraenc", "theorapreset"));
+ g_object_set (preset, "bitrate", 1000, NULL);
+ // The preset will be saved on the filesystem,
+ // so try to use a descriptive name
+ gst_preset_save_preset (preset, "theora_bitrate_preset");
+ gst_object_unref (preset);
+
+ caps = gst_caps_from_string ("video/x-theora");
+ v = gst_encoding_video_profile_new (caps, "theora_bitrate_preset", NULL, 0);
+ gst_encoding_container_profile_add_profile (prof, (GstEncodingProfile*) v);
+ gst_caps_unref (caps);
+
+ caps = gst_caps_from_string ("audio/x-vorbis");
+ a = gst_encoding_audio_profile_new (caps, NULL, NULL, 0);
+ gst_encoding_container_profile_add_profile (prof, (GstEncodingProfile*) a);
+ gst_caps_unref (caps);
+
+ return (GstEncodingProfile*) prof;
+}
+
+```
+
+### Listing categories, targets and profiles
+
+``` c
+#include <gst/pbutils/encoding-profile.h>
+...
+GstEncodingProfile *prof;
+GList *categories, *tmpc;
+GList *targets, *tmpt;
+...
+categories = gst_encoding_list_available_categories ();
+
+... Show available categories to user ...
+
+for (tmpc = categories; tmpc; tmpc = tmpc->next) {
+ gchar *category = (gchar *) tmpc->data;
+
+ ... and we can list all targets within that category ...
+
+ targets = gst_encoding_list_all_targets (category);
+
+ ... and show a list to our users ...
+
+ g_list_foreach (targets, (GFunc) gst_encoding_target_unref, NULL);
+ g_list_free (targets);
+}
+
+g_list_foreach (categories, (GFunc) g_free, NULL);
+g_list_free (categories);
+
+...
+```</doc>
+ </docsection>
+ <docsection name="encoding-target">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="20">On top of the notion of profiles, we implement the notion of EncodingTarget.
+Encoding Targets are basically a higher level of abstraction to define formats
+for specific target types. Those can define several GstEncodingProfiles with
+different names, for example one for transcoding in full HD, another one for
+low res, etc.. which are defined in the same encoding target.
+
+Basically if you want to encode a stream to send it to, say, youtube you should
+have a Youtube encoding target defined in the "online-service" category.
+
+## Encoding target serialization format
+
+Encoding targets are serialized in a KeyFile like files.
+
+|[
+[GStreamer Encoding Target]
+name : <name>
+category : <category>
+\description : <description> #translatable
+
+[profile-<profile1name>]
+name : <name>
+\description : <description> #optional
+format : <format>
+preset : <preset>
+
+[streamprofile-<id>]
+parent : <encodingprofile.name>[,<encodingprofile.name>..]
+\type : <type> # "audio", "video", "text"
+format : <format>
+preset : <preset>
+restriction : <restriction>
+presence : <presence>
+pass : <pass>
+variableframerate : <variableframerate>
+]|
+
+## Location of encoding target files
+
+$GST_DATADIR/gstreamer-GST_API_VERSION/encoding-profile
+$HOME/gstreamer-GST_API_VERSION/encoding-profile
+
+There also is a GST_ENCODING_TARGET_PATH environment variable
+defining a list of folder containing encoding target files.
+
+## Naming convention
+
+|[
+ $(target.category)/$(target.name).gep
+]|
+
+## Naming restrictions:
+
+ * lowercase ASCII letter for the first character
+ * Same for all other characters + numerics + hyphens</doc>
+ </docsection>
<function name="encoding_list_all_targets"
c:identifier="gst_encoding_list_all_targets">
<doc xml:space="preserve"
</parameter>
</parameters>
</function-macro>
+ <docsection name="gstpbutils">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/pbutils.c"
+ line="20">libgstpbutils is a general utility library for plugins and applications.
+It currently provides the
+following:
+
+* human-readable description strings of codecs, elements, sources, decoders,
+encoders, or sinks from decoder/encoder caps, element names, or protocol
+names.
+
+* support for applications to initiate installation of missing plugins (if
+this is supported by the distribution or operating system used)
+
+* API for GStreamer elements to create missing-plugin messages in order to
+communicate to the application that a certain type of plugin is missing
+(decoder, encoder, URI protocol source, URI protocol sink, named element)
+
+* API for applications to recognise and handle missing-plugin messages
+
+## Linking to this library
+
+You should obtain the required CFLAGS and LIBS using pkg-config on the
+gstreamer-plugins-base-1.0 module. You will then also need to add
+'-lgstreamer-pbutils-1.0' manually to your LIBS line.
+
+## Library initialisation
+
+Before using any of its functions, applications and plugins must call
+gst_pb_utils_init() to initialise the library.</doc>
+ </docsection>
+ <docsection name="gstpbutilscodecutils">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="25">Provides codec-specific ulility functions such as functions to provide the
+codec profile and level in human-readable string form from header data.</doc>
+ </docsection>
+ <docsection name="gstpbutilsdescriptions">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="20">The above functions provide human-readable strings for media formats
+and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
+in error dialogs or other messages shown to users.
+
+gst_pb_utils_add_codec_description_to_tag_list() is a utility function
+for demuxer and decoder elements to add audio/video codec tags from a
+given (fixed) #GstCaps.</doc>
+ </docsection>
+ <docsection name="gstpbutilsinstallplugins">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="21">## Overview
+
+Using this API, applications can request the installation of missing
+GStreamer plugins. These may be missing decoders/demuxers or
+encoders/muxers for a certain format, sources or sinks for a certain URI
+protocol (e.g. 'http'), or certain elements known by their element
+factory name ('audioresample').
+
+Whether plugin installation is supported or not depends on the operating
+system and/or distribution in question. The vendor of the operating
+system needs to make sure the necessary hooks and mechanisms are in
+place for plugin installation to work. See below for more detailed
+information.
+
+From the application perspective, plugin installation is usually
+triggered either
+
+- when the application itself has found that it wants or needs to
+ install a certain element
+- when the application has been notified by an element (such as
+ playbin or decodebin) that one or more plugins are missing *and* the
+ application has decided that it wants to install one or more of
+ those missing plugins
+
+The install functions in this section all take one or more 'detail
+strings'. These detail strings contain information about the type of
+plugin that needs to be installed (decoder, encoder, source, sink, or
+named element), and some additional information such GStreamer version
+used and a human-readable description of the component to install for
+user dialogs.
+
+Applications should not concern themselves with the composition of the
+string itself. They should regard the string as if it was a shared
+secret between GStreamer and the plugin installer application.
+
+Detail strings can be obtained using the function
+gst_missing_plugin_message_get_installer_detail() on a
+missing-plugin message. Such a message will either have been found by
+the application on a pipeline's #GstBus, or the application will have
+created it itself using gst_missing_element_message_new(),
+gst_missing_decoder_message_new(),
+gst_missing_encoder_message_new(),
+gst_missing_uri_sink_message_new(), or
+gst_missing_uri_source_message_new().
+
+For each GStreamer element/plugin/component that should be installed,
+the application needs one of those 'installer detail' string mentioned
+in the previous section. This string can be obtained, as already
+mentioned above, from a missing-plugin message using the function
+gst_missing_plugin_message_get_installer_detail(). The
+missing-plugin message is either posted by another element and then
+found on the bus by the application, or the application has created it
+itself as described above.
+
+The application will then call gst_install_plugins_async(), passing a
+NULL-terminated array of installer detail strings, and a function that
+should be called when the installation of the plugins has finished
+(successfully or not). Optionally, a #GstInstallPluginsContext created
+with gst_install_plugins_context_new() may be passed as well. This
+way additional optional arguments like the application window's XID can
+be passed to the external installer application.
+
+gst_install_plugins_async() will return almost immediately, with the
+return code indicating whether plugin installation was started or not.
+If the necessary hooks for plugin installation are in place and an
+external installer application has in fact been called, the passed in
+function will be called with a result code as soon as the external
+installer has finished. If the result code indicates that new plugins
+have been installed, the application will want to call
+gst_update_registry() so the run-time plugin registry is updated and
+the new plugins are made available to the application.
+
+> A Gtk/GLib main loop must be running in order for the result function
+> to be called when the external installer has finished. If this is not
+> the case, make sure to regularly call in your code:
+>
+> g_main_context_iteration (NULL,FALSE);
+
+## 1. Installer hook
+
+When GStreamer applications initiate plugin installation via
+gst_install_plugins_async() or gst_install_plugins_sync(), a
+pre-defined helper application will be called.
+
+The exact path of the helper application to be called is set at compile
+time, usually by the build system based on the install prefix.
+For a normal package build into the `/usr` prefix, this will usually
+default to `/usr/libexec/gst-install-plugins-helper` or
+`/usr/lib/gst-install-plugins-helper`.
+
+Vendors/distros who want to support GStreamer plugin installation should
+either provide such a helper script/application or use the meson option
+`-Dinstall_plugins_helper'=/path/to/installer` to make GStreamer call an
+installer of their own directly.
+
+It is strongly recommended that vendors provide a small helper
+application as interlocutor to the real installer though, even more so
+if command line argument munging is required to transform the command
+line arguments passed by GStreamer to the helper application into
+arguments that are understood by the real installer.
+
+The helper application path defined at compile time can be overridden at
+runtime by setting the GST_INSTALL_PLUGINS_HELPER environment
+variable. This can be useful for testing/debugging purposes.
+
+## 2. Arguments passed to the install helper
+
+GStreamer will pass the following arguments to the install helper (this
+is in addition to the path of the executable itself, which is by
+convention argv[0]):
+
+- none to many optional arguments in the form of `--foo-bar=val`.
+ Example: `--transient-for=XID` where XID is the X Window ID of the
+ main window of the calling application (so the installer can make
+ itself transient to that window). Unknown optional arguments should
+ be ignored by the installer.
+
+- one 'installer detail string' argument for each plugin to be
+ installed; these strings will have a `gstreamer` prefix; the exact
+ format of the detail string is explained below
+
+## 3. Detail string describing the missing plugin
+
+The string is in UTF-8 encoding and is made up of several fields,
+separated by '|' characters (but neither the first nor the last
+character is a '|'). The fields are:
+
+- plugin system identifier, ie. "gstreamer"
+ This identifier determines the format of the rest of the detail
+ string. Automatic plugin installers should not process detail
+ strings with unknown identifiers. This allows other plugin-based
+ libraries to use the same mechanism for their automatic plugin
+ installation needs, or for the format to be changed should it turn
+ out to be insufficient.
+- plugin system version, e.g. "1.0"
+ This is required so that when there is GStreamer-2.0 at some point
+ in future, the different major versions can still co-exist and use
+ the same plugin install mechanism in the same way.
+- application identifier, e.g. "totem"
+ This may also be in the form of "pid/12345" if the program name
+ can't be obtained for some reason.
+- human-readable localised description of the required component, e.g.
+ "Vorbis audio decoder"
+- identifier string for the required component (see below for details
+ about how to map this to the package/plugin that needs installing),
+ e.g.
+ - urisource-$(PROTOCOL_REQUIRED), e.g. urisource-http or
+ urisource-mms
+ - element-$(ELEMENT_REQUIRED), e.g. element-videoconvert
+ - decoder-$(CAPS_REQUIRED), e.g. (do read below for more
+ details!):
+ - decoder-audio/x-vorbis
+ - decoder-application/ogg
+ - decoder-audio/mpeg, mpegversion=(int)4
+ - decoder-video/mpeg, systemstream=(boolean)true,
+ mpegversion=(int)2
+ - encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis
+- optional further fields not yet specified
+
+An entire ID string might then look like this, for example: `
+gstreamer|1.0|totem|Vorbis audio decoder|decoder-audio/x-vorbis`
+
+Plugin installers parsing this ID string should expect further fields
+also separated by '|' symbols and either ignore them, warn the user, or
+error out when encountering them.
+
+Those unfamiliar with the GStreamer 'caps' system should note a few
+things about the caps string used in the above decoder/encoder case:
+
+- the first part ("video/mpeg") of the caps string is a GStreamer
+ media type and *not* a MIME type. Wherever possible, the GStreamer
+ media type will be the same as the corresponding MIME type, but
+ often it is not.
+- a caps string may or may not have additional comma-separated fields
+ of various types (as seen in the examples above)
+- the caps string of a 'required' component (as above) will always
+ have fields with fixed values, whereas an introspected string (see
+ below) may have fields with non-fixed values. Compare for example:
+ - `audio/mpeg, mpegversion=(int)4` vs.
+ `audio/mpeg, mpegversion=(int){2, 4}`
+ - `video/mpeg, mpegversion=(int)2` vs.
+ `video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2]`
+
+## 4. Exit codes the installer should return
+
+The installer should return one of the following exit codes when it
+exits:
+
+- 0 if all of the requested plugins could be installed
+ (#GST_INSTALL_PLUGINS_SUCCESS)
+- 1 if no appropriate installation candidate for any of the requested
+ plugins could be found. Only return this if nothing has been
+ installed (#GST_INSTALL_PLUGINS_NOT_FOUND)
+- 2 if an error occurred during the installation. The application will
+ assume that the user will already have seen an error message by the
+ installer in this case and will usually not show another one
+ (#GST_INSTALL_PLUGINS_ERROR)
+- 3 if some of the requested plugins could be installed, but not all
+ (#GST_INSTALL_PLUGINS_PARTIAL_SUCCESS)
+- 4 if the user aborted the installation
+ (#GST_INSTALL_PLUGINS_USER_ABORT)
+
+## 5. How to map the required detail string to packages
+
+It is up to the vendor to find mechanism to map required components from
+the detail string to the actual packages/plugins to install. This could
+be a hardcoded list of mappings, for example, or be part of the
+packaging system metadata.
+
+GStreamer plugin files can be introspected for this information. The
+`gst-inspect` utility has a special command line option that will output
+information similar to what is required. For example `
+$ gst-inspect-1.0 --print-plugin-auto-install-info /path/to/libgstvorbis.so
+should output something along the lines of
+`decoder-audio/x-vorbis`, `element-vorbisdec` `element-vorbisenc`
+`element-vorbisparse`, `element-vorbistag`, `encoder-audio/x-vorbis`
+
+Note that in the encoder and decoder case the introspected caps can be
+more complex with additional fields, e.g.
+`audio/mpeg,mpegversion=(int){2,4}`, so they will not always exactly
+match the caps wanted by the application. It is up to the installer to
+deal with this (either by doing proper caps intersection using the
+GStreamer #GstCaps API, or by only taking into account the media type).
+
+Another potential source of problems are plugins such as ladspa or
+libvisual where the list of elements depends on the installed
+ladspa/libvisual plugins at the time. This is also up to the
+distribution to handle (but usually not relevant for playback
+applications).</doc>
+ </docsection>
+ <docsection name="gstpbutilsmissingplugins">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="20">Functions to create, recognise and parse missing-plugins messages for
+applications and elements.
+
+Missing-plugin messages are posted on the bus by elements like decodebin
+or playbin if they can't find an appropriate source element or decoder
+element. The application can use these messages for two things:
+
+ * concise error/problem reporting to the user mentioning what exactly
+ is missing, see gst_missing_plugin_message_get_description()
+
+ * initiate installation of missing plugins, see
+ gst_missing_plugin_message_get_installer_detail() and
+ gst_install_plugins_async()
+
+Applications may also create missing-plugin messages themselves to install
+required elements that are missing, using the install mechanism mentioned
+above.</doc>
+ </docsection>
+ <docsection name="gstpluginsbaseversion">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="20">Use the GST_PLUGINS_BASE_VERSION_* macros e.g. to check what version of
+gst-plugins-base you are building against, and gst_plugins_base_version()
+if you need to check at runtime what version of the gst-plugins-base
+libraries are being used / you are currently linked against.
+
+The version macros get defined by including &lt;gst/pbutils/pbutils.h&gt;.</doc>
+ </docsection>
<function name="install_plugins_async"
c:identifier="gst_install_plugins_async">
<doc xml:space="preserve"
</parameter>
</parameters>
</function>
+ <docsection name="gstrtpdefs">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="30">Provides common defines for the RTP library.</doc>
+ </docsection>
+ <docsection name="gstrtppayloads">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="23">The GstRTPPayloads helper functions makes it easy to deal with static and dynamic
+payloads. Its main purpose is to retrieve properties such as the default clock-rate
+and get session bandwidth information.</doc>
+ </docsection>
<function name="rtcp_buffer_map"
c:identifier="gst_rtcp_buffer_map"
moved-to="RTCPBuffer.map">
</parameter>
</parameters>
</function-macro>
+ <docsection name="gstrtspdefs">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="43">Provides common defines for the RTSP library.</doc>
+ </docsection>
<function name="rtsp_auth_credentials_free"
c:identifier="gst_rtsp_auth_credentials_free"
version="1.12">
</parameter>
</parameters>
</function-macro>
+ <docsection name="gstmikey">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="22">The GstMIKEY helper functions makes it easy to parse and create MIKEY
+messages.</doc>
+ </docsection>
<function name="sdp_address_is_multicast"
c:identifier="gst_sdp_address_is_multicast">
<doc xml:space="preserve"
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
+ <docsection name="gsttag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="33">Contains additional standardized GStreamer tag definitions for plugins
+and applications, and functions to register them with the GStreamer
+tag system.</doc>
+ </docsection>
+ <docsection name="gsttagexif">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="22">Contains utility function to parse #GstTagList<!-- -->s from exif
+buffers and to create exif buffers from #GstTagList<!-- -->s
+
+Note that next IFD fields on the created exif buffers are set to 0.</doc>
+ </docsection>
+ <docsection name="gsttagid3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="22">Contains various utility functions for plugins to parse or create
+ID3 tags and map ID3v2 identifiers to and from GStreamer identifiers.</doc>
+ </docsection>
+ <docsection name="gsttaglanguagecodes">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="20">Provides helper functions to convert between the various ISO-639 language
+codes, and to map language codes to language names.</doc>
+ </docsection>
+ <docsection name="gsttaglicenses">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="20">Provides information about Creative Commons media licenses, which are
+often expressed in media files as a license URI in tags. Also useful
+for applications creating media files, in case the user wants to license
+the content under a Creative Commons license.</doc>
+ </docsection>
+ <docsection name="gsttagvorbis">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="22">Contains various utility functions for plugins to parse or create
+vorbiscomments and map them to and from #GstTagList<!-- -->s.</doc>
+ </docsection>
+ <docsection name="gsttagxmp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="23">Contains various utility functions for plugins to parse or create
+xmp packets and map them to and from #GstTagList<!-- -->s.
+
+Please note that the xmp parser is very lightweight and not strict at all.</doc>
+ </docsection>
<function name="tag_check_language_code"
c:identifier="gst_tag_check_language_code">
<doc xml:space="preserve"
c:identifier="gst_video_aggregator_convert_pad_update_conversion_info">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideoaggregator.c"
- line="686">Requests the pad to check and update the converter before the next usage to
+ line="725">Requests the pad to check and update the converter before the next usage to
update for any changes that have happened.</doc>
<source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
line="168"/>
<instance-parameter name="pad" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideoaggregator.c"
- line="688">a #GstVideoAggregatorPad</doc>
+ line="727">a #GstVideoAggregatorPad</doc>
<type name="VideoAggregatorConvertPad"
c:type="GstVideoAggregatorConvertPad*"/>
</instance-parameter>
</member>
<member name="corrupted"
value="16"
- c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED">
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED"
+ version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideoutils.h"
- line="85">the buffer data is corrupted (Since: 1.20)</doc>
+ line="95">The buffer data is corrupted.</doc>
</member>
</bitfield>
<record name="VideoCodecState"
version="1.6">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2693">Convert the pixels of @src into @dest using @convert.</doc>
+ line="2671">Convert the pixels of @src into @dest using @convert.</doc>
<source-position filename="gst-libs/gst/video/video-converter.h"
- line="293"/>
+ line="299"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="convert" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2695">a #GstVideoConverter</doc>
+ line="2673">a #GstVideoConverter</doc>
<type name="VideoConverter" c:type="GstVideoConverter*"/>
</instance-parameter>
<parameter name="src" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2697">a #GstVideoFrame</doc>
+ line="2675">a #GstVideoFrame</doc>
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
</parameter>
<parameter name="dest" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2696">a #GstVideoFrame</doc>
+ line="2674">a #GstVideoFrame</doc>
<type name="VideoFrame" c:type="GstVideoFrame*"/>
</parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2527">Free @convert</doc>
+ line="2505">Free @convert</doc>
<source-position filename="gst-libs/gst/video/video-converter.h"
- line="284"/>
+ line="290"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="convert" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2529">a #GstVideoConverter</doc>
+ line="2507">a #GstVideoConverter</doc>
<type name="VideoConverter" c:type="GstVideoConverter*"/>
</instance-parameter>
</parameters>
<method name="get_config" c:identifier="gst_video_converter_get_config">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2676">Get the current configuration of @convert.</doc>
+ line="2654">Get the current configuration of @convert.</doc>
<source-position filename="gst-libs/gst/video/video-converter.h"
- line="290"/>
+ line="296"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2682">a #GstStructure that remains valid for as long as @convert is valid
+ line="2660">a #GstStructure that remains valid for as long as @convert is valid
or until gst_video_converter_set_config() is called.</doc>
<type name="Gst.Structure" c:type="const GstStructure*"/>
</return-value>
<instance-parameter name="convert" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2678">a #GstVideoConverter</doc>
+ line="2656">a #GstVideoConverter</doc>
<type name="VideoConverter" c:type="GstVideoConverter*"/>
</instance-parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2645">Set @config as extra configuration for @convert.
+ line="2623">Set @config as extra configuration for @convert.
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
Look at the `GST_VIDEO_CONVERTER_OPT_*` fields to check valid configuration
option and values.</doc>
<source-position filename="gst-libs/gst/video/video-converter.h"
- line="287"/>
+ line="293"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2659">%TRUE when @config could be set.</doc>
+ line="2637">%TRUE when @config could be set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="convert" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2647">a #GstVideoConverter</doc>
+ line="2625">a #GstVideoConverter</doc>
<type name="VideoConverter" c:type="GstVideoConverter*"/>
</instance-parameter>
<parameter name="config" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2648">a #GstStructure</doc>
+ line="2626">a #GstStructure</doc>
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
introspectable="0">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2279">Create a new converter object to convert between @in_info and @out_info
+ line="2477">Create a new converter object to convert between @in_info and @out_info
with @config.</doc>
<source-position filename="gst-libs/gst/video/video-converter.h"
line="279"/>
<return-value>
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2288">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ line="2486">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
<type name="VideoConverter" c:type="GstVideoConverter*"/>
</return-value>
<parameters>
<parameter name="in_info" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2281">a #GstVideoInfo</doc>
+ line="2479">a #GstVideoInfo</doc>
<type name="VideoInfo" c:type="GstVideoInfo*"/>
</parameter>
<parameter name="out_info" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2282">a #GstVideoInfo</doc>
+ line="2480">a #GstVideoInfo</doc>
<type name="VideoInfo" c:type="GstVideoInfo*"/>
</parameter>
<parameter name="config" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2283">a #GstStructure with configuration options</doc>
+ line="2481">a #GstStructure with configuration options</doc>
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
</function>
+ <function name="new_with_pool"
+ c:identifier="gst_video_converter_new_with_pool"
+ version="1.20"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2232">Create a new converter object to convert between @in_info and @out_info
+with @config.
+
+The optional @pool can be used to spawn threads, this is useful when
+creating new converters rapidly, for example when updating cropping.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="284"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2245">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2234">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2235">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2236">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="pool"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2237">a #GstTaskPool to spawn threads from</doc>
+ <type name="Gst.TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </function>
</record>
<record name="VideoCropMeta" c:type="GstVideoCropMeta">
<doc xml:space="preserve"
<virtual-method name="negotiate" invoker="negotiate">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4240">Negotiate with downstream elements to currently configured #GstVideoCodecState.
+ line="4230">Negotiate with downstream elements to currently configured #GstVideoCodecState.
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
negotiate fails.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4248">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ line="4238">%TRUE if the negotiation succeeded, else %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4242">a #GstVideoDecoder</doc>
+ line="4232">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
c:identifier="gst_video_decoder_add_to_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3474">Removes next @n_bytes of input data and adds it to currently parsed frame.</doc>
+ line="3464">Removes next @n_bytes of input data and adds it to currently parsed frame.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="434"/>
<return-value transfer-ownership="none">
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3476">a #GstVideoDecoder</doc>
+ line="3466">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="n_bytes" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3477">the number of bytes to add</doc>
+ line="3467">the number of bytes to add</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
c:identifier="gst_video_decoder_allocate_output_buffer">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4272">Helper function that allocates a buffer to hold a video frame for @decoder's
+ line="4262">Helper function that allocates a buffer to hold a video frame for @decoder's
current #GstVideoCodecState.
You should use gst_video_decoder_allocate_output_frame() instead of this
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4282">allocated buffer, or NULL if no buffer could be
+ line="4272">allocated buffer, or NULL if no buffer could be
allocated (e.g. when downstream is flushing or shutting down)</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4274">a #GstVideoDecoder</doc>
+ line="4264">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
c:identifier="gst_video_decoder_allocate_output_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4338">Helper function that allocates a buffer to hold a video frame for @decoder's
+ line="4328">Helper function that allocates a buffer to hold a video frame for @decoder's
current #GstVideoCodecState. Subclass should already have configured video
state and set src pad caps.
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4350">%GST_FLOW_OK if an output buffer could be allocated</doc>
+ line="4340">%GST_FLOW_OK if an output buffer could be allocated</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4340">a #GstVideoDecoder</doc>
+ line="4330">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4341">a #GstVideoCodecFrame</doc>
+ line="4331">a #GstVideoCodecFrame</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
</parameters>
version="1.12">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4360">Same as #gst_video_decoder_allocate_output_frame except it allows passing
+ line="4350">Same as #gst_video_decoder_allocate_output_frame except it allows passing
#GstBufferPoolAcquireParams to the sub call gst_buffer_pool_acquire_buffer.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="447"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4369">%GST_FLOW_OK if an output buffer could be allocated</doc>
+ line="4359">%GST_FLOW_OK if an output buffer could be allocated</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4362">a #GstVideoDecoder</doc>
+ line="4352">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4363">a #GstVideoCodecFrame</doc>
+ line="4353">a #GstVideoCodecFrame</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="params" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4364">a #GstBufferPoolAcquireParams</doc>
+ line="4354">a #GstBufferPoolAcquireParams</doc>
<type name="Gst.BufferPoolAcquireParams"
c:type="GstBufferPoolAcquireParams*"/>
</parameter>
<method name="drop_frame" c:identifier="gst_video_decoder_drop_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3067">Similar to gst_video_decoder_finish_frame(), but drops @frame in any
+ line="3057">Similar to gst_video_decoder_finish_frame(), but drops @frame in any
case and posts a QoS message with the frame's details on the bus.
In any case, the frame is considered finished and released.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3076">a #GstFlowReturn, usually GST_FLOW_OK.</doc>
+ line="3066">a #GstFlowReturn, usually GST_FLOW_OK.</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3069">a #GstVideoDecoder</doc>
+ line="3059">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3070">the #GstVideoCodecFrame to drop</doc>
+ line="3060">the #GstVideoCodecFrame to drop</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
</parameters>
c:identifier="gst_video_decoder_finish_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3166">@frame should have a valid decoded data buffer, whose metadata fields
+ line="3156">@frame should have a valid decoded data buffer, whose metadata fields
are then appropriately set according to frame data and pushed downstream.
If no output data is provided, @frame is considered skipped.
In any case, the frame is considered finished and released.
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3180">a #GstFlowReturn resulting from sending data downstream</doc>
+ line="3170">a #GstFlowReturn resulting from sending data downstream</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3168">a #GstVideoDecoder</doc>
+ line="3158">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3169">a decoded #GstVideoCodecFrame</doc>
+ line="3159">a decoded #GstVideoCodecFrame</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
</parameters>
c:identifier="gst_video_decoder_get_allocator">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4749">Lets #GstVideoDecoder sub-classes to know the memory @allocator
+ line="4739">Lets #GstVideoDecoder sub-classes to know the memory @allocator
used by the base class and its @params.
Unref the @allocator after use it.</doc>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4751">a #GstVideoDecoder</doc>
+ line="4741">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="allocator"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4752">the #GstAllocator
+ line="4742">the #GstAllocator
used</doc>
<type name="Gst.Allocator" c:type="GstAllocator**"/>
</parameter>
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4754">the
+ line="4744">the
#GstAllocationParams of @allocator</doc>
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
</parameter>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4735">the instance of the #GstBufferPool used
+ line="4725">the instance of the #GstBufferPool used
by the decoder; free it after use it</doc>
<type name="Gst.BufferPool" c:type="GstBufferPool*"/>
</return-value>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4733">a #GstVideoDecoder</doc>
+ line="4723">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4630">currently configured byte to time conversion setting</doc>
+ line="4620">currently configured byte to time conversion setting</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4628">a #GstVideoDecoder</doc>
+ line="4618">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
<method name="get_frame" c:identifier="gst_video_decoder_get_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3866">Get a pending unfinished #GstVideoCodecFrame</doc>
+ line="3856">Get a pending unfinished #GstVideoCodecFrame</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="422"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3873">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
+ line="3863">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3868">a #GstVideoDecoder</doc>
+ line="3858">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame_number" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3869">system_frame_number of a frame</doc>
+ line="3859">system_frame_number of a frame</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
<method name="get_frames" c:identifier="gst_video_decoder_get_frames">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3897">Get all pending unfinished #GstVideoCodecFrame</doc>
+ line="3887">Get all pending unfinished #GstVideoCodecFrame</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="429"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3903">pending unfinished #GstVideoCodecFrame.</doc>
+ line="3893">pending unfinished #GstVideoCodecFrame.</doc>
<type name="GLib.List" c:type="GList*">
<type name="VideoCodecFrame"/>
</type>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3899">a #GstVideoDecoder</doc>
+ line="3889">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
<method name="get_latency" c:identifier="gst_video_decoder_get_latency">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4666">Query the configured decoder latency. Results will be returned via
+ line="4656">Query the configured decoder latency. Results will be returned via
@min_latency and @max_latency.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="407"/>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4668">a #GstVideoDecoder</doc>
+ line="4658">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="min_latency"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4669">address of variable in which to store the
+ line="4659">address of variable in which to store the
configured minimum latency, or %NULL</doc>
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
</parameter>
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4671">address of variable in which to store the
+ line="4661">address of variable in which to store the
configured mximum latency, or %NULL</doc>
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
</parameter>
c:identifier="gst_video_decoder_get_max_decode_time">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4420">Determines maximum possible decoding time for @frame that will
+ line="4410">Determines maximum possible decoding time for @frame that will
allow it to decode and arrive in time (as determined by QoS events).
In particular, a negative result means decoding in time is no longer possible
and should therefore occur as soon/skippy as possible.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4430">max decoding time.</doc>
+ line="4420">max decoding time.</doc>
<type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4422">a #GstVideoDecoder</doc>
+ line="4412">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4423">a #GstVideoCodecFrame</doc>
+ line="4413">a #GstVideoCodecFrame</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
</parameters>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4527">currently configured decoder tolerated error count.</doc>
+ line="4517">currently configured decoder tolerated error count.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4525">a #GstVideoDecoder</doc>
+ line="4515">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4559">Queries decoder required format handling.</doc>
+ line="4549">Queries decoder required format handling.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="392"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4565">%TRUE if required format handling is enabled.</doc>
+ line="4555">%TRUE if required format handling is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4561">a #GstVideoDecoder</doc>
+ line="4551">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4896">Queries if the decoder requires a sync point before it starts outputting
+ line="4886">Queries if the decoder requires a sync point before it starts outputting
data in the beginning.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="399"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4903">%TRUE if a sync point is required in the beginning.</doc>
+ line="4893">%TRUE if a sync point is required in the beginning.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4898">a #GstVideoDecoder</doc>
+ line="4888">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
c:identifier="gst_video_decoder_get_oldest_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3845">Get the oldest pending unfinished #GstVideoCodecFrame</doc>
+ line="3835">Get the oldest pending unfinished #GstVideoCodecFrame</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="426"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3851">oldest pending unfinished #GstVideoCodecFrame.</doc>
+ line="3841">oldest pending unfinished #GstVideoCodecFrame.</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3847">a #GstVideoDecoder</doc>
+ line="3837">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
c:identifier="gst_video_decoder_get_output_state">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3717">Get the #GstVideoCodecState currently describing the output stream.</doc>
+ line="3707">Get the #GstVideoCodecState currently describing the output stream.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="466"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3723">#GstVideoCodecState describing format of video data.</doc>
+ line="3713">#GstVideoCodecState describing format of video data.</doc>
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3719">a #GstVideoDecoder</doc>
+ line="3709">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
c:identifier="gst_video_decoder_get_packetized">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4596">Queries whether input data is considered packetized or not by the
+ line="4586">Queries whether input data is considered packetized or not by the
base class.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="371"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4603">TRUE if input data is considered packetized.</doc>
+ line="4593">TRUE if input data is considered packetized.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4598">a #GstVideoDecoder</doc>
+ line="4588">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3503">Returns the number of bytes previously added to the current frame
+ line="3493">Returns the number of bytes previously added to the current frame
by calling gst_video_decoder_add_to_frame().</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="441"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3510">The number of bytes pending for the current frame</doc>
+ line="3500">The number of bytes pending for the current frame</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3505">a #GstVideoDecoder</doc>
+ line="3495">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4462">The current QoS proportion.</doc>
+ line="4452">The current QoS proportion.</doc>
<type name="gdouble" c:type="gdouble"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4459">a #GstVideoDecoder
+ line="4449">a #GstVideoDecoder
current QoS proportion, or %NULL</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<method name="have_frame" c:identifier="gst_video_decoder_have_frame">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3553">Gathers all data collected for currently parsed frame, gathers corresponding
+ line="3543">Gathers all data collected for currently parsed frame, gathers corresponding
metadata and passes it along for further processing, i.e. @handle_frame.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="438"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3560">a #GstFlowReturn</doc>
+ line="3550">a #GstFlowReturn</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3555">a #GstVideoDecoder</doc>
+ line="3545">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
<method name="merge_tags" c:identifier="gst_video_decoder_merge_tags">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4689">Sets the audio decoder tags and how they should be merged with any
+ line="4679">Sets the audio decoder tags and how they should be merged with any
upstream stream tags. This will override any tags previously-set
with gst_audio_decoder_merge_tags().
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4691">a #GstVideoDecoder</doc>
+ line="4681">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="tags"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4692">a #GstTagList to merge, or NULL to unset
+ line="4682">a #GstTagList to merge, or NULL to unset
previously-set tags</doc>
<type name="Gst.TagList" c:type="const GstTagList*"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4694">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ line="4684">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
<type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
</parameter>
</parameters>
<method name="negotiate" c:identifier="gst_video_decoder_negotiate">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4240">Negotiate with downstream elements to currently configured #GstVideoCodecState.
+ line="4230">Negotiate with downstream elements to currently configured #GstVideoCodecState.
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
negotiate fails.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4248">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ line="4238">%TRUE if the negotiation succeeded, else %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4242">a #GstVideoDecoder</doc>
+ line="4232">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="1913">Returns caps that express @caps (or sink template caps if @caps == NULL)
+ line="1904">Returns caps that express @caps (or sink template caps if @caps == NULL)
restricted to resolution/format/... combinations supported by downstream
elements.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="1923">a #GstCaps owned by caller</doc>
+ line="1914">a #GstCaps owned by caller</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="1915">a #GstVideoDecoder</doc>
+ line="1906">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="caps"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="1916">initial caps</doc>
+ line="1907">initial caps</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="filter"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="1917">filter caps</doc>
+ line="1908">filter caps</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
version="1.2.2">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3000">Similar to gst_video_decoder_drop_frame(), but simply releases @frame
+ line="2990">Similar to gst_video_decoder_drop_frame(), but simply releases @frame
without any processing other than removing it from list of pending frames,
after which it is considered finished and released.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3002">a #GstVideoDecoder</doc>
+ line="2992">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3003">the #GstVideoCodecFrame to release</doc>
+ line="2993">the #GstVideoCodecFrame to release</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
</parameters>
version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4797">Allows the #GstVideoDecoder subclass to request from the base class that
+ line="4787">Allows the #GstVideoDecoder subclass to request from the base class that
a new sync should be requested from upstream, and that @frame was the frame
when the subclass noticed that a new sync point is required. A reason for
the subclass to do this could be missing reference frames, for example.
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4799">a #GstVideoDecoder</doc>
+ line="4789">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4800">a #GstVideoCodecFrame</doc>
+ line="4790">a #GstVideoCodecFrame</doc>
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4801">#GstVideoDecoderRequestSyncPointFlags</doc>
+ line="4791">#GstVideoDecoderRequestSyncPointFlags</doc>
<type name="VideoDecoderRequestSyncPointFlags"
c:type="GstVideoDecoderRequestSyncPointFlags"/>
</parameter>
c:identifier="gst_video_decoder_set_estimate_rate">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4611">Allows baseclass to perform byte to time estimated conversion.</doc>
+ line="4601">Allows baseclass to perform byte to time estimated conversion.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="374"/>
<return-value transfer-ownership="none">
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4613">a #GstVideoDecoder</doc>
+ line="4603">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="enabled" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4614">whether to enable byte to time conversion</doc>
+ line="4604">whether to enable byte to time conversion</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
version="1.16.">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3819">Same as #gst_video_decoder_set_output_state() but also allows you to also set
+ line="3809">Same as #gst_video_decoder_set_output_state() but also allows you to also set
the interlacing mode.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="461"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3831">the newly configured output state.</doc>
+ line="3821">the newly configured output state.</doc>
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3821">a #GstVideoDecoder</doc>
+ line="3811">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="fmt" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3822">a #GstVideoFormat</doc>
+ line="3812">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
- <parameter name="mode" transfer-ownership="none">
+ <parameter name="interlace_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3815">A #GstVideoInterlaceMode</doc>
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3823">The width in pixels</doc>
+ line="3813">The width in pixels</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3824">The height in pixels</doc>
+ line="3814">The height in pixels</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="reference"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3826">An optional reference #GstVideoCodecState</doc>
+ line="3816">An optional reference #GstVideoCodecState</doc>
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
</parameter>
</parameters>
<method name="set_latency" c:identifier="gst_video_decoder_set_latency">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4640">Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder
+ line="4630">Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder
latency is. Will also post a LATENCY message on the bus so the pipeline
can reconfigure its global latency.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4642">a #GstVideoDecoder</doc>
+ line="4632">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="min_latency" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4643">minimum latency</doc>
+ line="4633">minimum latency</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="max_latency" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4644">maximum latency</doc>
+ line="4634">maximum latency</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
c:identifier="gst_video_decoder_set_max_errors">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4503">Sets numbers of tolerated decoder errors, where a tolerated one is then only
+ line="4493">Sets numbers of tolerated decoder errors, where a tolerated one is then only
warned about, but more than tolerated will lead to fatal error. You can set
-1 for never returning fatal errors. Default is set to
GST_VIDEO_DECODER_MAX_ERRORS.
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4505">a #GstVideoDecoder</doc>
+ line="4495">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="num" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4506">max tolerated errors</doc>
+ line="4496">max tolerated errors</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
version="1.4">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4537">Configures decoder format needs. If enabled, subclass needs to be
+ line="4527">Configures decoder format needs. If enabled, subclass needs to be
negotiated with format caps before it can process any data. It will then
never be handed any data before it has been configured.
Otherwise, it might be handed data without having been configured and
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4539">a #GstVideoDecoder</doc>
+ line="4529">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="enabled" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4540">new state</doc>
+ line="4530">new state</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4873">Configures whether the decoder requires a sync point before it starts
+ line="4863">Configures whether the decoder requires a sync point before it starts
outputting data in the beginning. If enabled, the base class will discard
all non-sync point frames in the beginning and after a flush and does not
pass it to the subclass.
<instance-parameter name="dec" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4875">a #GstVideoDecoder</doc>
+ line="4865">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="enabled" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4876">new state</doc>
+ line="4866">new state</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
c:identifier="gst_video_decoder_set_output_state">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3785">Creates a new #GstVideoCodecState with the specified @fmt, @width and @height
+ line="3775">Creates a new #GstVideoCodecState with the specified @fmt, @width and @height
as the output state for the decoder.
Any previously set output state on @decoder will be replaced by the newly
created one.
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3808">the newly configured output state.</doc>
+ line="3798">the newly configured output state.</doc>
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3787">a #GstVideoDecoder</doc>
+ line="3777">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="fmt" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3788">a #GstVideoFormat</doc>
+ line="3778">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3789">The width in pixels</doc>
+ line="3779">The width in pixels</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3790">The height in pixels</doc>
+ line="3780">The height in pixels</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="reference"
allow-none="1">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="3791">An optional reference #GstVideoCodecState</doc>
+ line="3781">An optional reference #GstVideoCodecState</doc>
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
</parameter>
</parameters>
c:identifier="gst_video_decoder_set_packetized">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4581">Allows baseclass to consider input data as packetized or not. If the
+ line="4571">Allows baseclass to consider input data as packetized or not. If the
input is packetized, then the @parse method will not be called.</doc>
<source-position filename="gst-libs/gst/video/gstvideodecoder.h"
line="367"/>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4583">a #GstVideoDecoder</doc>
+ line="4573">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="packetized" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4584">whether the input data should be considered as packetized.</doc>
+ line="4574">whether the input data should be considered as packetized.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
version="1.6">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4776">Lets #GstVideoDecoder sub-classes decide if they want the sink pad
+ line="4766">Lets #GstVideoDecoder sub-classes decide if they want the sink pad
to use the default pad query handler to reply to accept-caps queries.
By setting this to true it is possible to further customize the default
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4778">a #GstVideoDecoder</doc>
+ line="4768">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</instance-parameter>
<parameter name="use" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4779">if the default pad accept-caps query handling should be used</doc>
+ line="4769">if the default pad accept-caps query handling should be used</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
<return-value transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4248">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ line="4238">%TRUE if the negotiation succeeded, else %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/gstvideodecoder.c"
- line="4242">a #GstVideoDecoder</doc>
+ line="4232">a #GstVideoDecoder</doc>
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
</parameter>
</parameters>
<member name="nv12_4l4"
value="97"
c:identifier="GST_VIDEO_FORMAT_NV12_4L4"
+ version="1.18"
glib:nick="nv12-4l4">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-format.h"
- line="132">NV12 with 4x4 tiles in linear order (Since: 1.18)</doc>
+ line="238">NV12 with 4x4 tiles in linear order.</doc>
</member>
<member name="nv12_32l32"
value="98"
c:identifier="GST_VIDEO_FORMAT_NV12_32L32"
+ version="1.18"
glib:nick="nv12-32l32">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-format.h"
- line="133">NV12 with 32x32 tiles in linear order (Since: 1.18)</doc>
+ line="246">NV12 with 32x32 tiles in linear order.</doc>
</member>
<function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
<doc xml:space="preserve"
<member name="linear"
value="131072"
c:identifier="GST_VIDEO_TILE_MODE_LINEAR"
+ version="1.18"
glib:nick="linear">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-tile.h"
- line="115">Tiles are in row order. (Since: 1.18)</doc>
+ line="123">Tiles are in row order.</doc>
</member>
</enumeration>
<enumeration name="VideoTileType"
<member name="bt601"
value="16"
c:identifier="GST_VIDEO_TRANSFER_BT601"
+ version="1.18"
glib:nick="bt601">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-color.h"
- line="106">also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
- Functionally the same as the values
- GST_VIDEO_TRANSFER_BT709, and GST_VIDEO_TRANSFER_BT2020_10.
- Since: 1.18</doc>
+ line="131">also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC</doc>
</member>
<function name="decode"
c:identifier="gst_video_transfer_function_decode"
</parameter>
</parameters>
</function-macro>
+ <docsection name="gstvideo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="32">This library contains some helper functions and includes the
+videosink and videofilter base classes.</doc>
+ </docsection>
+ <docsection name="gstvideoanc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="29">A collection of objects and methods to assist with handling Ancillary Data
+present in Vertical Blanking Interval as well as Closed Caption.</doc>
+ </docsection>
+ <docsection name="gstvideochroma">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="31">The functions gst_video_chroma_from_string() and gst_video_chroma_to_string() convert
+between #GstVideoChromaSite and string descriptions.
+
+#GstVideoChromaResample is a utility object for resampling chroma planes
+and converting between different chroma sampling sitings.</doc>
+ </docsection>
+ <docsection name="gstvideopool">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="30">Special GstBufferPool subclass for raw video buffers.
+
+Allows configuration of video-specific requirements such as
+stride alignments or pixel padding, and can also be configured
+to automatically add #GstVideoMeta to the buffers.</doc>
+ </docsection>
<function name="is_video_overlay_prepare_window_handle_message"
c:identifier="gst_is_video_overlay_prepare_window_handle_message">
<doc xml:space="preserve"
introspectable="0">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2279">Create a new converter object to convert between @in_info and @out_info
+ line="2477">Create a new converter object to convert between @in_info and @out_info
with @config.</doc>
<source-position filename="gst-libs/gst/video/video-converter.h"
line="279"/>
<return-value>
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2288">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ line="2486">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
<type name="VideoConverter" c:type="GstVideoConverter*"/>
</return-value>
<parameters>
<parameter name="in_info" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2281">a #GstVideoInfo</doc>
+ line="2479">a #GstVideoInfo</doc>
<type name="VideoInfo" c:type="GstVideoInfo*"/>
</parameter>
<parameter name="out_info" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2282">a #GstVideoInfo</doc>
+ line="2480">a #GstVideoInfo</doc>
<type name="VideoInfo" c:type="GstVideoInfo*"/>
</parameter>
<parameter name="config" transfer-ownership="full">
<doc xml:space="preserve"
filename="gst-libs/gst/video/video-converter.c"
- line="2283">a #GstStructure with configuration options</doc>
+ line="2481">a #GstStructure with configuration options</doc>
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
</function>
+ <function name="video_converter_new_with_pool"
+ c:identifier="gst_video_converter_new_with_pool"
+ moved-to="VideoConverter.new_with_pool"
+ version="1.20"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2232">Create a new converter object to convert between @in_info and @out_info
+with @config.
+
+The optional @pool can be used to spawn threads, this is useful when
+creating new converters rapidly, for example when updating cropping.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="284"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2245">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2234">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2235">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2236">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="pool"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2237">a #GstTaskPool to spawn threads from</doc>
+ <type name="Gst.TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="video_crop_meta_api_get_type"
c:identifier="gst_video_crop_meta_api_get_type">
<source-position filename="gst-libs/gst/video/gstvideometa.h"
</parameter>
</parameters>
</function>
+ <docsection name="videoconverter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="41">This object is used to convert video frames from one format to another.
+The object can perform conversion of:
+
+ * video format
+ * video colorspace
+ * chroma-siting
+ * video size</doc>
+ </docsection>
</namespace>
</repository>
glib:get-type="gst_webrtc_dtls_transport_get_type"
glib:type-struct="WebRTCDTLSTransportClass">
<source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
- line="62"/>
+ line="61"/>
<constructor name="new" c:identifier="gst_webrtc_dtls_transport_new">
<source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
- line="65"/>
+ line="64"/>
<return-value transfer-ownership="none">
<type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
</return-value>
<parameter name="session_id" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
- <parameter name="rtcp" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
</parameters>
</constructor>
<method name="set_transport"
c:identifier="gst_webrtc_dtls_transport_set_transport">
<source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
- line="68"/>
+ line="67"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<property name="remote-certificate" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</property>
- <property name="rtcp"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
<property name="session-id"
writable="1"
construct-only="1"
<type name="WebRTCDTLSTransportState"
c:type="GstWebRTCDTLSTransportState"/>
</field>
- <field name="is_rtcp">
- <type name="gboolean" c:type="gboolean"/>
- </field>
<field name="client">
<type name="gboolean" c:type="gboolean"/>
</field>
c:type="GstWebRTCDTLSTransportClass"
glib:is-gtype-struct-for="WebRTCDTLSTransport">
<source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
- line="62"/>
+ line="61"/>
<field name="parent_class">
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
</field>
line="38">An object to track the receiving aspect of the stream
Mostly matches the WebRTC RTCRtpReceiver interface.</doc>
- <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="65"/>
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="63"/>
<constructor name="new" c:identifier="gst_webrtc_rtp_receiver_new">
<source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
- line="68"/>
+ line="66"/>
<return-value transfer-ownership="none">
<type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
</return-value>
</constructor>
- <method name="set_rtcp_transport"
- c:identifier="gst_webrtc_rtp_receiver_set_rtcp_transport">
- <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
- line="73"/>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="receiver" transfer-ownership="none">
- <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
- </instance-parameter>
- <parameter name="transport" transfer-ownership="none">
- <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_transport"
- c:identifier="gst_webrtc_rtp_receiver_set_transport">
- <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
- line="70"/>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="receiver" transfer-ownership="none">
- <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
- </instance-parameter>
- <parameter name="transport" transfer-ownership="none">
- <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
- </parameter>
- </parameters>
- </method>
<field name="parent">
<type name="Gst.Object" c:type="GstObject"/>
</field>
line="40">The transport for RTP packets</doc>
<type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
</field>
- <field name="rtcp_transport">
- <doc xml:space="preserve"
- filename="gst-libs/gst/webrtc/rtpreceiver.h"
- line="41">The transport for RTCP packets without rtcp-mux</doc>
- <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
- </field>
<field name="_padding">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
<record name="WebRTCRTPReceiverClass"
c:type="GstWebRTCRTPReceiverClass"
glib:is-gtype-struct-for="WebRTCRTPReceiver">
- <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="65"/>
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="63"/>
<field name="parent_class">
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
</field>
line="38">An object to track the sending aspect of the stream
Mostly matches the WebRTC RTCRtpSender interface.</doc>
- <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="70"/>
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="75"/>
<constructor name="new" c:identifier="gst_webrtc_rtp_sender_new">
- <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="73"/>
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="78"/>
<return-value transfer-ownership="none">
<type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
</return-value>
version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtpsender.c"
- line="85">Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
+ line="59">Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
(Differentiated Services Code Point).
This also sets the Traffic Class field of IPv6.</doc>
- <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="82"/>
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="81"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<instance-parameter name="sender" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtpsender.c"
- line="87">a #GstWebRTCRTPSender</doc>
+ line="61">a #GstWebRTCRTPSender</doc>
<type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
</instance-parameter>
<parameter name="priority" transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtpsender.c"
- line="88">The priority of this sender</doc>
+ line="62">The priority of this sender</doc>
<type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
</parameter>
</parameters>
</method>
- <method name="set_rtcp_transport"
- c:identifier="gst_webrtc_rtp_sender_set_rtcp_transport">
- <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="79"/>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sender" transfer-ownership="none">
- <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
- </instance-parameter>
- <parameter name="transport" transfer-ownership="none">
- <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_transport"
- c:identifier="gst_webrtc_rtp_sender_set_transport">
- <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="76"/>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sender" transfer-ownership="none">
- <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
- </instance-parameter>
- <parameter name="transport" transfer-ownership="none">
- <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
- </parameter>
- </parameters>
- </method>
<property name="priority"
version="1.20"
writable="1"
transfer-ownership="none">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtpsender.c"
- line="166">The priority from which to set the DSCP field on packets</doc>
+ line="136">The priority from which to set the DSCP field on packets</doc>
<type name="WebRTCPriorityType"/>
</property>
<field name="parent">
line="40">The transport for RTP packets</doc>
<type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
</field>
- <field name="rtcp_transport">
- <doc xml:space="preserve"
- filename="gst-libs/gst/webrtc/rtpsender.h"
- line="41">The transport for RTCP packets without rtcp-mux</doc>
- <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
- </field>
<field name="send_encodings">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtpsender.h"
- line="42">Unused</doc>
+ line="41">Unused</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
- <field name="priority">
+ <field name="priority" version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtpsender.h"
- line="43">The priority of the stream (Since: 1.20)</doc>
+ line="50">The priority of the stream</doc>
<type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
</field>
<field name="_padding">
<record name="WebRTCRTPSenderClass"
c:type="GstWebRTCRTPSenderClass"
glib:is-gtype-struct-for="WebRTCRTPSender">
- <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="70"/>
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="75"/>
<field name="parent_class">
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
</field>
line="57">A caps representing the codec preferences (read-only)</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</field>
- <field name="kind">
+ <field name="kind" version="1.20">
<doc xml:space="preserve"
filename="gst-libs/gst/webrtc/rtptransceiver.h"
- line="58">Type of media (Since: 1.20)</doc>
+ line="64">Type of media</doc>
<type name="WebRTCKind" c:type="GstWebRTCKind"/>
</field>
<field name="_padding">
line="248">certificate</doc>
</member>
</enumeration>
+ <docsection name="gstwebrtc-datachannel">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="21"><https://www.w3.org/TR/webrtc/#rtcdatachannel></doc>
+ </docsection>
+ <docsection name="gstwebrtc-dtlstransport">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/dtlstransport.c"
+ line="20"><https://www.w3.org/TR/webrtc/#rtcdtlstransport></doc>
+ </docsection>
+ <docsection name="gstwebrtc-icetransport">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/icetransport.c"
+ line="20"><https://www.w3.org/TR/webrtc/#rtcicetransport></doc>
+ </docsection>
+ <docsection name="gstwebrtc-receiver">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpreceiver.c"
+ line="20"><https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface></doc>
+ </docsection>
+ <docsection name="gstwebrtc-sender">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="20"><https://www.w3.org/TR/webrtc/#rtcrtpsender-interface></doc>
+ </docsection>
+ <docsection name="gstwebrtc-sessiondescription">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="20"><https://www.w3.org/TR/webrtc/#rtcsessiondescription-class></doc>
+ </docsection>
+ <docsection name="gstwebrtc-transceiver">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="20"><https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface></doc>
+ </docsection>
<function name="webrtc_sdp_type_to_string"
c:identifier="gst_webrtc_sdp_type_to_string"
moved-to="WebRTCSDPType.to_string">
}
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gst_video_decoder_set_interlaced_output_state(IntPtr raw, int fmt, int mode, uint width, uint height, IntPtr reference);
+ static extern IntPtr gst_video_decoder_set_interlaced_output_state(IntPtr raw, int fmt, int interlace_mode, uint width, uint height, IntPtr reference);
- public Gst.Video.VideoCodecState SetInterlacedOutputState(Gst.Video.VideoFormat fmt, Gst.Video.VideoInterlaceMode mode, uint width, uint height, Gst.Video.VideoCodecState reference) {
+ public Gst.Video.VideoCodecState SetInterlacedOutputState(Gst.Video.VideoFormat fmt, Gst.Video.VideoInterlaceMode interlace_mode, uint width, uint height, Gst.Video.VideoCodecState reference) {
IntPtr native_reference = GLib.Marshaller.StructureToPtrAlloc (reference);
- IntPtr raw_ret = gst_video_decoder_set_interlaced_output_state(Handle, (int) fmt, (int) mode, width, height, native_reference);
+ IntPtr raw_ret = gst_video_decoder_set_interlaced_output_state(Handle, (int) fmt, (int) interlace_mode, width, height, native_reference);
Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
Marshal.FreeHGlobal (native_reference);
return ret;
}
- public Gst.Video.VideoCodecState SetInterlacedOutputState(Gst.Video.VideoFormat fmt, Gst.Video.VideoInterlaceMode mode, uint width, uint height) {
- return SetInterlacedOutputState (fmt, mode, width, height, Gst.Video.VideoCodecState.Zero);
+ public Gst.Video.VideoCodecState SetInterlacedOutputState(Gst.Video.VideoFormat fmt, Gst.Video.VideoInterlaceMode interlace_mode, uint width, uint height) {
+ return SetInterlacedOutputState (fmt, interlace_mode, width, height, Gst.Video.VideoCodecState.Zero);
}
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
public WebRTCDTLSTransport (IntPtr raw) : base(raw) {}
[DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern IntPtr gst_webrtc_dtls_transport_new(uint session_id, bool rtcp);
+ static extern IntPtr gst_webrtc_dtls_transport_new(uint session_id);
- public WebRTCDTLSTransport (uint session_id, bool rtcp) : base (IntPtr.Zero)
+ public WebRTCDTLSTransport (uint session_id) : base (IntPtr.Zero)
{
if (GetType () != typeof (WebRTCDTLSTransport)) {
var vals = new List<GLib.Value> ();
var names = new List<string> ();
names.Add ("session_id");
vals.Add (new GLib.Value (session_id));
- names.Add ("rtcp");
- vals.Add (new GLib.Value (rtcp));
CreateNativeObject (names.ToArray (), vals.ToArray ());
return;
}
- Raw = gst_webrtc_dtls_transport_new(session_id, rtcp);
+ Raw = gst_webrtc_dtls_transport_new(session_id);
}
[GLib.Property ("certificate")]
}
}
- [GLib.Property ("rtcp")]
- public bool Rtcp {
- get {
- GLib.Value val = GetProperty ("rtcp");
- bool ret = (bool) val;
- val.Dispose ();
- return ret;
- }
- }
-
[GLib.Property ("session-id")]
public uint SessionId {
get {
}
}
- public bool IsRtcp {
- get {
- unsafe {
- bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("is_rtcp"));
- return (*raw_ptr);
- }
- }
- }
-
public bool ClientField {
get {
unsafe {
, -1
, (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCDTLSTransportState))) // state
, "transport"
- , "is_rtcp"
- , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_stateAlign), "state")
- , 0
- ),
- new GLib.AbiField("is_rtcp"
- , -1
- , (uint) Marshal.SizeOf(typeof(bool)) // is_rtcp
- , "state"
, "client"
- , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_is_rtcpAlign), "is_rtcp")
+ , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_stateAlign), "state")
, 0
),
new GLib.AbiField("client"
, -1
, (uint) Marshal.SizeOf(typeof(bool)) // client
- , "is_rtcp"
+ , "state"
, "session_id"
, (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_clientAlign), "client")
, 0
}
[StructLayout(LayoutKind.Sequential)]
- public struct GstWebRTCDTLSTransport_is_rtcpAlign
- {
- sbyte f1;
- private bool is_rtcp;
- }
-
- [StructLayout(LayoutKind.Sequential)]
public struct GstWebRTCDTLSTransport_clientAlign
{
sbyte f1;
Raw = gst_webrtc_rtp_receiver_new();
}
- [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern void gst_webrtc_rtp_receiver_set_transport(IntPtr raw, IntPtr transport);
-
public Gst.WebRTC.WebRTCDTLSTransport Transport {
get {
unsafe {
return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport;
}
}
- set {
- gst_webrtc_rtp_receiver_set_transport(Handle, value == null ? IntPtr.Zero : value.Handle);
- }
- }
-
- [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern void gst_webrtc_rtp_receiver_set_rtcp_transport(IntPtr raw, IntPtr transport);
-
- public Gst.WebRTC.WebRTCDTLSTransport RtcpTransport {
- get {
- unsafe {
- IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("rtcp_transport"));
- return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport;
- }
- }
- set {
- gst_webrtc_rtp_receiver_set_rtcp_transport(Handle, value == null ? IntPtr.Zero : value.Handle);
- }
}
, Gst.Object.abi_info.Fields
, (uint) Marshal.SizeOf(typeof(IntPtr)) // transport
, null
- , "rtcp_transport"
- , (uint) Marshal.SizeOf(typeof(IntPtr))
- , 0
- ),
- new GLib.AbiField("rtcp_transport"
- , -1
- , (uint) Marshal.SizeOf(typeof(IntPtr)) // rtcp_transport
- , "transport"
, "_padding"
, (uint) Marshal.SizeOf(typeof(IntPtr))
, 0
new GLib.AbiField("_padding"
, -1
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
- , "rtcp_transport"
+ , "transport"
, null
, (uint) Marshal.SizeOf(typeof(IntPtr))
, 0
}
}
- [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern void gst_webrtc_rtp_sender_set_transport(IntPtr raw, IntPtr transport);
-
public Gst.WebRTC.WebRTCDTLSTransport Transport {
get {
unsafe {
return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport;
}
}
- set {
- gst_webrtc_rtp_sender_set_transport(Handle, value == null ? IntPtr.Zero : value.Handle);
- }
- }
-
- [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
- static extern void gst_webrtc_rtp_sender_set_rtcp_transport(IntPtr raw, IntPtr transport);
-
- public Gst.WebRTC.WebRTCDTLSTransport RtcpTransport {
- get {
- unsafe {
- IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("rtcp_transport"));
- return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport;
- }
- }
- set {
- gst_webrtc_rtp_sender_set_rtcp_transport(Handle, value == null ? IntPtr.Zero : value.Handle);
- }
}
public Gst.WebRTC.WebRTCPriorityType PriorityField {
, Gst.Object.abi_info.Fields
, (uint) Marshal.SizeOf(typeof(IntPtr)) // transport
, null
- , "rtcp_transport"
- , (uint) Marshal.SizeOf(typeof(IntPtr))
- , 0
- ),
- new GLib.AbiField("rtcp_transport"
- , -1
- , (uint) Marshal.SizeOf(typeof(IntPtr)) // rtcp_transport
- , "transport"
, "send_encodings"
, (uint) Marshal.SizeOf(typeof(IntPtr))
, 0
new GLib.AbiField("send_encodings"
, -1
, (uint) Marshal.SizeOf(typeof(IntPtr)) // send_encodings
- , "rtcp_transport"
+ , "transport"
, "priority"
, (uint) Marshal.SizeOf(typeof(IntPtr))
, 0
gst_buffer_pool_config_set_params(config == null ? IntPtr.Zero : config.Handle, caps == null ? IntPtr.Zero : caps.Handle, size, min_buffers, max_buffers);
}
+ public static void ConfigSetParams(Gst.Structure config, uint size, uint min_buffers, uint max_buffers) {
+ ConfigSetParams (config, null, size, min_buffers, max_buffers);
+ }
+
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_buffer_pool_config_validate_params(IntPtr config, IntPtr caps, uint size, uint min_buffers, uint max_buffers);
return ret;
}
+ public static bool ConfigValidateParams(Gst.Structure config, uint size, uint min_buffers, uint max_buffers) {
+ return ConfigValidateParams (config, null, size, min_buffers, max_buffers);
+ }
+
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern int gst_buffer_pool_acquire_buffer(IntPtr raw, out IntPtr buffer, IntPtr parms);
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_device_provider_is_started(IntPtr raw);
+
+ public bool IsStarted {
+ get {
+ bool raw_ret = gst_device_provider_is_started(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern bool gst_device_provider_start(IntPtr raw);
public bool Start() {
return ret;
}
- public static bool TypeFindRegister(string name, uint rank, Gst.TypeFindFunction func, Gst.Caps possible_caps) {
- return TypeFindRegister (null, name, rank, func, null, possible_caps);
+ public static bool TypeFindRegister(string name, uint rank, Gst.TypeFindFunction func) {
+ return TypeFindRegister (null, name, rank, func, null, null);
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
--- /dev/null
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class SharedTaskPool : Gst.TaskPool {
+
+ public SharedTaskPool (IntPtr raw) : base(raw) {}
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_shared_task_pool_new();
+
+ public SharedTaskPool () : base (IntPtr.Zero)
+ {
+ if (GetType () != typeof (SharedTaskPool)) {
+ CreateNativeObject (new string [0], new GLib.Value[0]);
+ return;
+ }
+ Raw = gst_shared_task_pool_new();
+ }
+
+
+ // Internal representation of the wrapped structure ABI.
+ static GLib.AbiStruct _class_abi = null;
+ static public new GLib.AbiStruct class_abi {
+ get {
+ if (_class_abi == null)
+ _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{
+ new GLib.AbiField("_gst_reserved"
+ , Gst.TaskPool.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+ , null
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_shared_task_pool_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_shared_task_pool_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_shared_task_pool_get_max_threads(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_shared_task_pool_set_max_threads(IntPtr raw, uint max_threads);
+
+ public uint MaxThreads {
+ get {
+ uint raw_ret = gst_shared_task_pool_get_max_threads(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+ set {
+ gst_shared_task_pool_set_max_threads(Handle, value);
+ }
+ }
+
+
+ // Internal representation of the wrapped structure ABI.
+ static GLib.AbiStruct _abi_info = null;
+ static public new GLib.AbiStruct abi_info {
+ get {
+ if (_abi_info == null)
+ _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{
+ new GLib.AbiField("priv"
+ , Gst.TaskPool.abi_info.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+ , null
+ , "_gst_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+ , "priv"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
unmanaged (this.Handle, id);
}
+ static DisposeHandleNativeDelegate DisposeHandle_cb_delegate;
+ static DisposeHandleNativeDelegate DisposeHandleVMCallback {
+ get {
+ if (DisposeHandle_cb_delegate == null)
+ DisposeHandle_cb_delegate = new DisposeHandleNativeDelegate (DisposeHandle_cb);
+ return DisposeHandle_cb_delegate;
+ }
+ }
+
+ static void OverrideDisposeHandle (GLib.GType gtype)
+ {
+ OverrideDisposeHandle (gtype, DisposeHandleVMCallback);
+ }
+
+ static void OverrideDisposeHandle (GLib.GType gtype, DisposeHandleNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("dispose_handle"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void DisposeHandleNativeDelegate (IntPtr inst, IntPtr id);
+
+ static void DisposeHandle_cb (IntPtr inst, IntPtr id)
+ {
+ try {
+ TaskPool __obj = GLib.Object.GetObject (inst, false) as TaskPool;
+ __obj.OnDisposeHandle (id);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.TaskPool), ConnectionMethod="OverrideDisposeHandle")]
+ protected virtual void OnDisposeHandle (IntPtr id)
+ {
+ InternalDisposeHandle (id);
+ }
+
+ private void InternalDisposeHandle (IntPtr id)
+ {
+ DisposeHandleNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("dispose_handle"));
+ unmanaged = (DisposeHandleNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DisposeHandleNativeDelegate));
+ }
+ if (unmanaged == null) return;
+
+ unmanaged (this.Handle, id);
+ }
+
// Internal representation of the wrapped structure ABI.
static GLib.AbiStruct _class_abi = null;
, -1
, (uint) Marshal.SizeOf(typeof(IntPtr)) // join
, "push"
+ , "dispose_handle"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("dispose_handle"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // dispose_handle
+ , "join"
, "_gst_reserved"
, (uint) Marshal.SizeOf(typeof(IntPtr))
, 0
),
new GLib.AbiField("_gst_reserved"
, -1
- , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
- , "join"
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved
+ , "dispose_handle"
, null
, (uint) Marshal.SizeOf(typeof(IntPtr))
, 0
}
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_task_pool_dispose_handle(IntPtr raw, IntPtr id);
+
+ public void DisposeHandle(IntPtr id) {
+ gst_task_pool_dispose_handle(Handle, id);
+ }
+
+ public void DisposeHandle() {
+ DisposeHandle (IntPtr.Zero);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void gst_task_pool_join(IntPtr raw, IntPtr id);
public void Join(IntPtr id) {
return ret;
}
- public static bool Register(string name, uint rank, Gst.TypeFindFunction func, Gst.Caps possible_caps) {
- return Register (null, name, rank, func, null, possible_caps);
+ public static bool Register(string name, uint rank, Gst.TypeFindFunction func) {
+ return Register (null, name, rank, func, null, null);
}
public TypeFind(IntPtr raw) : base(raw) {}
g_print("\"GstProxyPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstProxyPad, priv));
g_print("\"sizeof(GstRegistry)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRegistry));
g_print("\"GstRegistry.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRegistry, priv));
+ g_print("\"sizeof(GstSharedTaskPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSharedTaskPoolClass));
+ g_print("\"sizeof(GstSharedTaskPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSharedTaskPool));
+ g_print("\"GstSharedTaskPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSharedTaskPool, priv));
g_print("\"sizeof(GstStreamClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStreamClass));
g_print("\"sizeof(GstStream)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstStream));
g_print("\"GstStream.stream_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstStream, stream_id));
g_print("\"GstTaskPoolClass.cleanup\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, cleanup));
g_print("\"GstTaskPoolClass.push\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, push));
g_print("\"GstTaskPoolClass.join\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, join));
+ g_print("\"GstTaskPoolClass.dispose_handle\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, dispose_handle));
g_print("\"sizeof(GstTaskPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTaskPool));
g_print("\"GstTaskPool.pool\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPool, pool));
g_print("\"sizeof(GstTracerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTracerClass));
g_print("\"sizeof(GstWebRTCDTLSTransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDTLSTransport));
g_print("\"GstWebRTCDTLSTransport.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, transport));
g_print("\"GstWebRTCDTLSTransport.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, state));
- g_print("\"GstWebRTCDTLSTransport.is_rtcp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, is_rtcp));
g_print("\"GstWebRTCDTLSTransport.client\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, client));
g_print("\"GstWebRTCDTLSTransport.session_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, session_id));
g_print("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpenc));
g_print("\"sizeof(GstWebRTCRTPReceiverClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPReceiverClass));
g_print("\"sizeof(GstWebRTCRTPReceiver)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPReceiver));
g_print("\"GstWebRTCRTPReceiver.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiver, transport));
- g_print("\"GstWebRTCRTPReceiver.rtcp_transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiver, rtcp_transport));
g_print("\"sizeof(GstWebRTCRTPSenderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPSenderClass));
g_print("\"sizeof(GstWebRTCRTPSender)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPSender));
g_print("\"GstWebRTCRTPSender.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, transport));
- g_print("\"GstWebRTCRTPSender.rtcp_transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, rtcp_transport));
g_print("\"GstWebRTCRTPSender.send_encodings\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, send_encodings));
g_print("\"GstWebRTCRTPSender.priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, priority));
g_print("\"sizeof(GstWebRTCRTPTransceiverClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPTransceiverClass));
Console.WriteLine("\"GstProxyPad.priv\": \"" + Gst.ProxyPad.abi_info.GetFieldOffset("priv") + "\"");
Console.WriteLine("\"sizeof(GstRegistry)\": \"" + Gst.Registry.abi_info.Size + "\"");
Console.WriteLine("\"GstRegistry.priv\": \"" + Gst.Registry.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GstSharedTaskPoolClass)\": \"" + Gst.SharedTaskPool.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GstSharedTaskPool)\": \"" + Gst.SharedTaskPool.abi_info.Size + "\"");
+ Console.WriteLine("\"GstSharedTaskPool.priv\": \"" + Gst.SharedTaskPool.abi_info.GetFieldOffset("priv") + "\"");
Console.WriteLine("\"sizeof(GstStreamClass)\": \"" + Gst.Stream.class_abi.Size + "\"");
Console.WriteLine("\"sizeof(GstStream)\": \"" + Gst.Stream.abi_info.Size + "\"");
Console.WriteLine("\"GstStream.stream_id\": \"" + Gst.Stream.abi_info.GetFieldOffset("stream_id") + "\"");
Console.WriteLine("\"GstTaskPoolClass.cleanup\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("cleanup") + "\"");
Console.WriteLine("\"GstTaskPoolClass.push\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("push") + "\"");
Console.WriteLine("\"GstTaskPoolClass.join\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("join") + "\"");
+ Console.WriteLine("\"GstTaskPoolClass.dispose_handle\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("dispose_handle") + "\"");
Console.WriteLine("\"sizeof(GstTaskPool)\": \"" + Gst.TaskPool.abi_info.Size + "\"");
Console.WriteLine("\"GstTaskPool.pool\": \"" + Gst.TaskPool.abi_info.GetFieldOffset("pool") + "\"");
Console.WriteLine("\"sizeof(GstTracerClass)\": \"" + Gst.Tracer.class_abi.Size + "\"");
Console.WriteLine("\"sizeof(GstWebRTCDTLSTransport)\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.Size + "\"");
Console.WriteLine("\"GstWebRTCDTLSTransport.transport\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("transport") + "\"");
Console.WriteLine("\"GstWebRTCDTLSTransport.state\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("state") + "\"");
- Console.WriteLine("\"GstWebRTCDTLSTransport.is_rtcp\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("is_rtcp") + "\"");
Console.WriteLine("\"GstWebRTCDTLSTransport.client\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("client") + "\"");
Console.WriteLine("\"GstWebRTCDTLSTransport.session_id\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("session_id") + "\"");
Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpenc") + "\"");
Console.WriteLine("\"sizeof(GstWebRTCRTPReceiverClass)\": \"" + Gst.WebRTC.WebRTCRTPReceiver.class_abi.Size + "\"");
Console.WriteLine("\"sizeof(GstWebRTCRTPReceiver)\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.Size + "\"");
Console.WriteLine("\"GstWebRTCRTPReceiver.transport\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.GetFieldOffset("transport") + "\"");
- Console.WriteLine("\"GstWebRTCRTPReceiver.rtcp_transport\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.GetFieldOffset("rtcp_transport") + "\"");
Console.WriteLine("\"sizeof(GstWebRTCRTPSenderClass)\": \"" + Gst.WebRTC.WebRTCRTPSender.class_abi.Size + "\"");
Console.WriteLine("\"sizeof(GstWebRTCRTPSender)\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.Size + "\"");
Console.WriteLine("\"GstWebRTCRTPSender.transport\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("transport") + "\"");
- Console.WriteLine("\"GstWebRTCRTPSender.rtcp_transport\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("rtcp_transport") + "\"");
Console.WriteLine("\"GstWebRTCRTPSender.send_encodings\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("send_encodings") + "\"");
Console.WriteLine("\"GstWebRTCRTPSender.priority\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("priority") + "\"");
Console.WriteLine("\"sizeof(GstWebRTCRTPTransceiverClass)\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.class_abi.Size + "\"");
<parameter name="config" type="GstStructure*">
<warning>missing glib:type-name</warning>
</parameter>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter name="size" type="guint" />
<parameter name="config" type="GstStructure*">
<warning>missing glib:type-name</warning>
</parameter>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter name="size" type="guint" />
<parameter name="name" type="const-gchar*" />
</parameters>
</method>
+ <method name="IsStarted" cname="gst_device_provider_is_started" version="1.20">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
<method name="Start" cname="gst_device_provider_start" version="1.4">
<return-type type="gboolean" />
<parameters />
<return-type type="gboolean" />
</method>
</object>
+ <object name="SharedTaskPool" cname="GstSharedTaskPool" opaque="false" hidden="false" parent="GstTaskPool" version="1.20">
+ <class_struct cname="GstSharedTaskPoolClass" version="1.20">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstTaskPoolClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </class_struct>
+ <method name="GetType" cname="gst_shared_task_pool_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="gst_shared_task_pool_new" disable_void_ctor="" version="1.20" />
+ <method name="GetMaxThreads" cname="gst_shared_task_pool_get_max_threads" version="1.20">
+ <return-type type="guint" />
+ <parameters />
+ </method>
+ <method name="SetMaxThreads" cname="gst_shared_task_pool_set_max_threads" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="max_threads" type="guint" />
+ </parameters>
+ </method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstTaskPool*" hidden="true" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstSharedTaskPoolPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </object>
<object name="Stream" cname="GstStream" opaque="false" hidden="false" parent="GstObject" version="1.10">
<class_struct cname="GstStreamClass">
<field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
<method vm="cleanup" />
<method vm="push" />
<method vm="join" />
- <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ <method vm="dispose_handle" />
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" padding="true" />
</class_struct>
<method name="GetType" cname="gst_task_pool_get_type" shared="true">
<return-type type="GType" />
<return-type type="void" />
<parameters />
</virtual_method>
+ <virtual_method name="DisposeHandle" cname="dispose_handle" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
+ </parameters>
+ </virtual_method>
<virtual_method name="Join" cname="join">
<return-type type="void" />
<parameters>
- <parameter allow-none="1" name="id" type="gpointer" />
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
</parameters>
</virtual_method>
<virtual_method name="Prepare" cname="prepare">
</parameters>
</virtual_method>
<virtual_method name="Push" cname="push">
- <return-type type="gpointer" />
+ <return-type type="gpointer*" owned="true" />
<parameters throws="1">
<parameter closure="1" scope="async" name="func" type="GstTaskPoolFunction" />
<parameter closure="1" allow-none="1" name="user_data" type="gpointer" />
<return-type type="void" />
<parameters />
</method>
+ <method name="DisposeHandle" cname="gst_task_pool_dispose_handle" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
+ </parameters>
+ </method>
<method name="Join" cname="gst_task_pool_join">
<return-type type="void" />
<parameters>
- <parameter allow-none="1" name="id" type="gpointer" />
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
</parameters>
</method>
<method name="Prepare" cname="gst_task_pool_prepare">
</parameters>
</method>
<method name="Push" cname="gst_task_pool_push">
- <return-type type="gpointer" />
+ <return-type type="gpointer*" owned="true" />
<parameters throws="1">
<parameter closure="1" scope="async" name="func" type="GstTaskPoolFunction" />
<parameter allow-none="1" name="user_data" type="gpointer" />
</parameters>
</method>
</boxed>
+ <struct name="SharedTaskPoolPrivate" cname="GstSharedTaskPoolPrivate" opaque="true" hidden="true" />
<struct name="StaticCaps" cname="GstStaticCaps" opaque="false" hidden="false">
<field cname="caps" access="public" writeable="true" readable="true" is_callback="false" name="Caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
<parameter name="rank" type="guint" />
<parameter closure="6" destroy="7" scope="notified" name="func" type="GstTypeFindFunction" />
<parameter allow-none="1" name="extensions" type="const-gchar*" />
- <parameter name="possible_caps" type="GstCaps*">
+ <parameter allow-none="1" name="possible_caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter allow-none="1" name="data" type="gpointer" />
<parameter name="rank" type="guint" />
<parameter closure="6" destroy="7" scope="notified" name="func" type="GstTypeFindFunction" />
<parameter allow-none="1" name="extensions" type="const-gchar*" />
- <parameter name="possible_caps" type="GstCaps*">
+ <parameter allow-none="1" name="possible_caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter allow-none="1" name="data" type="gpointer" />
<method name="SetCaps" cname="gst_app_sink_set_caps">
<return-type type="void" />
<parameters>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<method name="SetCaps" cname="gst_app_src_set_caps">
<return-type type="void" />
<parameters>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<return-type type="void" />
<parameters>
<parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
- <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+ <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<return-type type="void" />
<parameters>
<parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
- <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+ <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<return-type type="void" />
<parameters>
<parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out" />
- <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+ <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
</return-type>
<parameters>
<parameter name="fmt" type="GstVideoFormat" />
- <parameter name="mode" type="GstVideoInterlaceMode" />
+ <parameter name="interlace_mode" type="GstVideoInterlaceMode" />
<parameter name="width" type="guint" />
<parameter name="height" type="guint" />
<parameter allow-none="1" name="reference" type="GstVideoCodecState*">
<constructor cname="gst_webrtc_dtls_transport_new">
<parameters>
<parameter name="session_id" type="guint" />
- <parameter name="rtcp" type="gboolean" />
</parameters>
</constructor>
<method name="SetTransport" cname="gst_webrtc_dtls_transport_set_transport">
<property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
<property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
<property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" />
- <property name="Rtcp" cname="rtcp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true" />
<property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true" />
<property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false" />
<property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false" />
<field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
<field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="TransportField" type="GstWebRTCICETransport*" />
<field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCDTLSTransportState" />
- <field cname="is_rtcp" access="public" writeable="false" readable="true" is_callback="false" name="IsRtcp" type="gboolean" />
<field cname="client" access="public" writeable="false" readable="true" is_callback="false" name="ClientField" type="gboolean" />
<field cname="session_id" access="public" writeable="false" readable="true" is_callback="false" name="SessionIdField" type="guint" />
<field cname="dtlssrtpenc" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpenc" type="GstElement*" />
<return-type type="GType" />
</method>
<constructor cname="gst_webrtc_rtp_receiver_new" disable_void_ctor="" />
- <method name="SetRtcpTransport" cname="gst_webrtc_rtp_receiver_set_rtcp_transport">
- <return-type type="void" />
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*" />
- </parameters>
- </method>
- <method name="SetTransport" cname="gst_webrtc_rtp_receiver_set_transport">
- <return-type type="void" />
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*" />
- </parameters>
- </method>
<field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
<field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*" />
- <field cname="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" type="GstWebRTCDTLSTransport*" />
<field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
</object>
<object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject" version="1.16">
<parameter name="priority" type="GstWebRTCPriorityType" />
</parameters>
</method>
- <method name="SetRtcpTransport" cname="gst_webrtc_rtp_sender_set_rtcp_transport">
- <return-type type="void" />
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*" />
- </parameters>
- </method>
- <method name="SetTransport" cname="gst_webrtc_rtp_sender_set_transport">
- <return-type type="void" />
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*" />
- </parameters>
- </method>
<property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
<field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
<field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*" />
- <field cname="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" type="GstWebRTCDTLSTransport*" />
<field cname="send_encodings" access="public" writeable="false" readable="true" is_callback="false" name="SendEncodings" type="GArray*" array="true" null_term_array="true" />
<field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="GstWebRTCPriorityType" />
<field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
'Gst/SeekType.cs',
'Gst/Segment.cs',
'Gst/SegmentFlags.cs',
+ 'Gst/SharedTaskPool.cs',
'Gst/StackTraceFlags.cs',
'Gst/State.cs',
'Gst/StateChange.cs',
<parameter name="config" type="GstStructure*">
<warning>missing glib:type-name</warning>
</parameter>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter name="size" type="guint"/>
<parameter name="config" type="GstStructure*">
<warning>missing glib:type-name</warning>
</parameter>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter name="size" type="guint"/>
<parameter name="name" type="const-gchar*"/>
</parameters>
</method>
+ <method name="IsStarted" cname="gst_device_provider_is_started" version="1.20">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
<method name="Start" cname="gst_device_provider_start" version="1.4">
<return-type type="gboolean"/>
<parameters/>
</parameters>
</signal>
</object>
+ <object name="SharedTaskPool" cname="GstSharedTaskPool" opaque="false" hidden="false" parent="GstTaskPool" version="1.20">
+ <class_struct cname="GstSharedTaskPoolClass" version="1.20">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstTaskPoolClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ </class_struct>
+ <method name="GetType" cname="gst_shared_task_pool_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <constructor cname="gst_shared_task_pool_new" disable_void_ctor="" version="1.20"/>
+ <method name="GetMaxThreads" cname="gst_shared_task_pool_get_max_threads" version="1.20">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="SetMaxThreads" cname="gst_shared_task_pool_set_max_threads" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="max_threads" type="guint"/>
+ </parameters>
+ </method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstTaskPool*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstSharedTaskPoolPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ </object>
<object name="Stream" cname="GstStream" opaque="false" hidden="false" parent="GstObject" version="1.10">
<class_struct cname="GstStreamClass">
<field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
<method vm="cleanup"/>
<method vm="push"/>
<method vm="join"/>
- <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ <method vm="dispose_handle"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3"/>
</class_struct>
<method name="GetType" cname="gst_task_pool_get_type" shared="true">
<return-type type="GType"/>
<return-type type="void"/>
<parameters/>
</virtual_method>
+ <virtual_method name="DisposeHandle" cname="dispose_handle" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
+ </parameters>
+ </virtual_method>
<virtual_method name="Join" cname="join">
<return-type type="void"/>
<parameters>
- <parameter allow-none="1" name="id" type="gpointer"/>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
</parameters>
</virtual_method>
<virtual_method name="Prepare" cname="prepare">
</parameters>
</virtual_method>
<virtual_method name="Push" cname="push">
- <return-type type="gpointer"/>
+ <return-type type="gpointer*" owned="true"/>
<parameters throws="1">
<parameter closure="1" scope="async" name="func" type="GstTaskPoolFunction"/>
<parameter closure="1" allow-none="1" name="user_data" type="gpointer"/>
<return-type type="void"/>
<parameters/>
</method>
+ <method name="DisposeHandle" cname="gst_task_pool_dispose_handle" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
+ </parameters>
+ </method>
<method name="Join" cname="gst_task_pool_join">
<return-type type="void"/>
<parameters>
- <parameter allow-none="1" name="id" type="gpointer"/>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
</parameters>
</method>
<method name="Prepare" cname="gst_task_pool_prepare">
</parameters>
</method>
<method name="Push" cname="gst_task_pool_push">
- <return-type type="gpointer"/>
+ <return-type type="gpointer*" owned="true"/>
<parameters throws="1">
<parameter closure="1" scope="async" name="func" type="GstTaskPoolFunction"/>
<parameter allow-none="1" name="user_data" type="gpointer"/>
</parameters>
</method>
</boxed>
+ <struct name="SharedTaskPoolPrivate" cname="GstSharedTaskPoolPrivate" opaque="true" hidden="true"/>
<struct name="StaticCaps" cname="GstStaticCaps" opaque="false" hidden="false">
<field cname="caps" access="public" writeable="true" readable="true" is_callback="false" name="Caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
<parameter name="rank" type="guint"/>
<parameter closure="6" destroy="7" scope="notified" name="func" type="GstTypeFindFunction"/>
<parameter allow-none="1" name="extensions" type="const-gchar*"/>
- <parameter name="possible_caps" type="GstCaps*">
+ <parameter allow-none="1" name="possible_caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter allow-none="1" name="data" type="gpointer"/>
<parameter name="rank" type="guint"/>
<parameter closure="6" destroy="7" scope="notified" name="func" type="GstTypeFindFunction"/>
<parameter allow-none="1" name="extensions" type="const-gchar*"/>
- <parameter name="possible_caps" type="GstCaps*">
+ <parameter allow-none="1" name="possible_caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
<parameter allow-none="1" name="data" type="gpointer"/>
<method name="SetCaps" cname="gst_app_sink_set_caps">
<return-type type="void"/>
<parameters>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<method name="SetCaps" cname="gst_app_src_set_caps">
<return-type type="void"/>
<parameters>
- <parameter name="caps" type="GstCaps*">
+ <parameter allow-none="1" name="caps" type="GstCaps*">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<return-type type="void"/>
<parameters>
<parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out"/>
- <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+ <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<return-type type="void"/>
<parameters>
<parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out"/>
- <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+ <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
<return-type type="void"/>
<parameters>
<parameter allow-none="1" name="allocator" type="GstAllocator*" owned="true" pass_as="out"/>
- <parameter allow-none="1" name="params" type="GstAllocationParams*" owned="true" pass_as="out">
+ <parameter allow-none="1" name="params" type="GstAllocationParams*" pass_as="out">
<warning>missing glib:type-name</warning>
</parameter>
</parameters>
</return-type>
<parameters>
<parameter name="fmt" type="GstVideoFormat"/>
- <parameter name="mode" type="GstVideoInterlaceMode"/>
+ <parameter name="interlace_mode" type="GstVideoInterlaceMode"/>
<parameter name="width" type="guint"/>
<parameter name="height" type="guint"/>
<parameter allow-none="1" name="reference" type="GstVideoCodecState*">
<constructor cname="gst_webrtc_dtls_transport_new">
<parameters>
<parameter name="session_id" type="guint"/>
- <parameter name="rtcp" type="gboolean"/>
</parameters>
</constructor>
<method name="SetTransport" cname="gst_webrtc_dtls_transport_set_transport">
<property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
<property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
<property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false"/>
- <property name="Rtcp" cname="rtcp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true"/>
<property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/>
<property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false"/>
<property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false"/>
<field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
<field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="TransportField" type="GstWebRTCICETransport*"/>
<field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCDTLSTransportState"/>
- <field cname="is_rtcp" access="public" writeable="false" readable="true" is_callback="false" name="IsRtcp" type="gboolean"/>
<field cname="client" access="public" writeable="false" readable="true" is_callback="false" name="ClientField" type="gboolean"/>
<field cname="session_id" access="public" writeable="false" readable="true" is_callback="false" name="SessionIdField" type="guint"/>
<field cname="dtlssrtpenc" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpenc" type="GstElement*"/>
<return-type type="GType"/>
</method>
<constructor cname="gst_webrtc_rtp_receiver_new" disable_void_ctor=""/>
- <method name="SetRtcpTransport" cname="gst_webrtc_rtp_receiver_set_rtcp_transport">
- <return-type type="void"/>
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*"/>
- </parameters>
- </method>
- <method name="SetTransport" cname="gst_webrtc_rtp_receiver_set_transport">
- <return-type type="void"/>
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*"/>
- </parameters>
- </method>
<field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
<field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*"/>
- <field cname="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" type="GstWebRTCDTLSTransport*"/>
<field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
</object>
<object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject" version="1.16">
<parameter name="priority" type="GstWebRTCPriorityType"/>
</parameters>
</method>
- <method name="SetRtcpTransport" cname="gst_webrtc_rtp_sender_set_rtcp_transport">
- <return-type type="void"/>
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*"/>
- </parameters>
- </method>
- <method name="SetTransport" cname="gst_webrtc_rtp_sender_set_transport">
- <return-type type="void"/>
- <parameters>
- <parameter name="transport" type="GstWebRTCDTLSTransport*"/>
- </parameters>
- </method>
<property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
<field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
<field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*"/>
- <field cname="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" type="GstWebRTCDTLSTransport*"/>
<field cname="send_encodings" access="public" writeable="false" readable="true" is_callback="false" name="SendEncodings" type="GArray*" array="true" null_term_array="true"/>
<field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="GstWebRTCPriorityType"/>
<field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>