--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-0.10"/>
+ <c:include name="gst/gst.h"/>
+ <namespace name="Gst"
+ version="0.10"
+ shared-library="libgstreamer-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <alias name="ClockID" c:type="GstClockID">
+ <doc xml:whitespace="preserve">A datatype to hold the handle to an outstanding sync or async clock callback.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </alias>
+ <alias name="ClockTime" c:type="GstClockTime">
+ <doc xml:whitespace="preserve">A datatype to hold a time, measured in nanoseconds.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </alias>
+ <alias name="ClockTimeDiff" c:type="GstClockTimeDiff">
+ <doc xml:whitespace="preserve">A datatype to hold a time difference, measured in nanoseconds.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </alias>
+ <alias name="ElementFactoryListType" c:type="GstElementFactoryListType">
+ <type name="guint64" c:type="guint64"/>
+ </alias>
+ <enumeration name="ActivateMode" c:type="GstActivateMode">
+ <doc xml:whitespace="preserve">The status of a GstPad. After activating a pad, which usually happens when the
+parent element goes from READY to PAUSED, the GstActivateMode defines if the
+pad operates in push or pull mode.</doc>
+ <member name="none" value="0" c:identifier="GST_ACTIVATE_NONE"/>
+ <member name="push" value="1" c:identifier="GST_ACTIVATE_PUSH"/>
+ <member name="pull" value="2" c:identifier="GST_ACTIVATE_PULL"/>
+ </enumeration>
+ <record name="AllocTrace" c:type="GstAllocTrace">
+ <doc xml:whitespace="preserve">The main tracing object</doc>
+ <field name="name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="flags" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="live" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="mem_live" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <method name="print" c:identifier="gst_alloc_trace_print">
+ <doc xml:whitespace="preserve">Print the status of the given GstAllocTrace.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_flags" c:identifier="gst_alloc_trace_set_flags">
+ <doc xml:whitespace="preserve">Enable the given features on the given GstAllocTrace object.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flags to set</doc>
+ <type name="AllocTraceFlags" c:type="GstAllocTraceFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="AllocTraceFlags" c:type="GstAllocTraceFlags">
+ <doc xml:whitespace="preserve">Flags indicating which tracing feature to enable.</doc>
+ <member name="live" value="1" c:identifier="GST_ALLOC_TRACE_LIVE"/>
+ <member name="mem_live"
+ value="2"
+ c:identifier="GST_ALLOC_TRACE_MEM_LIVE"/>
+ </bitfield>
+ <bitfield name="AssocFlags" c:type="GstAssocFlags">
+ <doc xml:whitespace="preserve">Flags for an association entry.</doc>
+ <member name="none" value="0" c:identifier="GST_ASSOCIATION_FLAG_NONE"/>
+ <member name="key_unit"
+ value="1"
+ c:identifier="GST_ASSOCIATION_FLAG_KEY_UNIT"/>
+ <member name="delta_unit"
+ value="2"
+ c:identifier="GST_ASSOCIATION_FLAG_DELTA_UNIT"/>
+ <member name="last"
+ value="256"
+ c:identifier="GST_ASSOCIATION_FLAG_LAST"/>
+ </bitfield>
+ <constant name="BUFFER_COPY_ALL" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="BUFFER_OFFSET_NONE" value="-1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="BUFFER_TRACE_NAME" value="GstBuffer">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="Bin"
+ c:symbol-prefix="bin"
+ c:type="GstBin"
+ parent="Element"
+ glib:type-name="GstBin"
+ glib:get-type="gst_bin_get_type"
+ glib:type-struct="BinClass">
+ <doc xml:whitespace="preserve">The GstBin base class. Subclasses can access these fields provided
+the LOCK is taken.</doc>
+ <implements name="ChildProxy"/>
+ <constructor name="new" c:identifier="gst_bin_new">
+ <doc xml:whitespace="preserve">Creates a new bin with the given name.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBin</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the new bin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="add_element">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_message">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="remove_element">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add" c:identifier="gst_bin_add">
+ <doc xml:whitespace="preserve">Adds the given element to the bin. Sets the element's parent, and thus
+takes ownership of the element. An element can only be added to one bin.
+If the element's pads are linked to other pads, the pads will be unlinked
+before the element is added to the bin.
+MT safe.
+the bin does not want to accept the element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the element could be added, FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstElement to add</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_many"
+ c:identifier="gst_bin_add_many"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a NULL-terminated list of elements to a bin. This function is
+equivalent to calling gst_bin_add() for each member of the list. The return
+value of each gst_bin_add() is ignored.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element_1" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstElement element to add to the bin</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_unconnected_pad"
+ c:identifier="gst_bin_find_unconnected_pad"
+ version="0.10.3"
+ deprecated="use gst_bin_find_unlinked_pad() instead.">
+ <doc xml:whitespace="preserve">Recursively looks for elements with an unlinked pad of the given
+direction within the specified bin and returns an unlinked pad
+if one is found, or NULL otherwise. If a pad is found, the caller
+owns a reference to it and should use gst_object_unref() on the
+pad when it is not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">unlinked pad of the given direction, or NULL.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to look for an unlinked source or sink pad</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_unlinked_pad"
+ c:identifier="gst_bin_find_unlinked_pad"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Recursively looks for elements with an unlinked pad of the given
+direction within the specified bin and returns an unlinked pad
+if one is found, or NULL otherwise. If a pad is found, the caller
+owns a reference to it and should use gst_object_unref() on the
+pad when it is not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">unlinked pad of the given direction, or NULL.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to look for an unlinked source or sink pad</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_by_interface" c:identifier="gst_bin_get_by_interface">
+ <doc xml:whitespace="preserve">Looks for an element inside the bin that implements the given
+interface. If such an element is found, it returns the element.
+You can cast this element to the given interface afterwards. If you want
+all elements that implement the interface, use
+gst_bin_iterate_all_by_interface(). This function recurses into child bins.
+MT safe. Caller owns returned reference.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A #GstElement inside the bin implementing the interface</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="iface" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType of an interface</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_by_name" c:identifier="gst_bin_get_by_name">
+ <doc xml:whitespace="preserve">Gets the element with the given name from a bin. This
+function recurses into child bins.
+Returns NULL if no element with the given name is found in the bin.
+MT safe. Caller owns returned reference.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstElement with the given name, or NULL</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element name to search for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_by_name_recurse_up"
+ c:identifier="gst_bin_get_by_name_recurse_up">
+ <doc xml:whitespace="preserve">Gets the element with the given name from this bin. If the
+element is not found, a recursion is performed on the parent bin.
+Returns NULL if:
+- no element with the given name is found in the bin
+MT safe. Caller owns returned reference.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstElement with the given name, or NULL</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element name to search for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate_all_by_interface"
+ c:identifier="gst_bin_iterate_all_by_interface"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Looks for all elements inside the bin that implements the given
+interface. You can safely cast all returned elements to the given interface.
+The function recurses inside child bins. The iterator will yield a series
+of #GstElement that should be unreffed after use.
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+MT safe. Caller owns returned value.
+in the bin implementing the given interface, or NULL</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstElement for all elements</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="iface" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType of an interface</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate_elements"
+ c:identifier="gst_bin_iterate_elements"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets an iterator for the elements in this bin.
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+MT safe. Caller owns returned value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstElement, or NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_recurse"
+ c:identifier="gst_bin_iterate_recurse"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets an iterator for the elements in this bin.
+This iterator recurses into GstBin children.
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+MT safe. Caller owns returned value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstElement, or NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_sinks"
+ c:identifier="gst_bin_iterate_sinks"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets an iterator for all elements in the bin that have the
+#GST_ELEMENT_IS_SINK flag set.
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+MT safe. Caller owns returned value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstElement, or NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_sorted"
+ c:identifier="gst_bin_iterate_sorted"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets an iterator for the elements in this bin in topologically
+sorted order. This means that the elements are returned from
+the most downstream elements (sinks) to the sources.
+This function is used internally to perform the state changes
+of the bin elements and for clock selection.
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+MT safe. Caller owns returned value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstElement, or NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_sources"
+ c:identifier="gst_bin_iterate_sources"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets an iterator for all elements in the bin that have the
+#GST_ELEMENT_IS_SOURCE flag set.
+Each element yielded by the iterator will have its refcount increased, so
+unref after use.
+MT safe. Caller owns returned value.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstElement, or NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="recalculate_latency"
+ c:identifier="gst_bin_recalculate_latency"
+ version="0.10.22.">
+ <doc xml:whitespace="preserve">Query @bin for the current latency using and reconfigures this latency to all the
+elements with a LATENCY event.
+This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY
+is posted on the bus.
+This function simply emits the 'do-latency' signal so any custom latency
+calculations will be performed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the latency could be queried and reconfigured.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="remove" c:identifier="gst_bin_remove">
+ <doc xml:whitespace="preserve">Removes the element from the bin, unparenting it as well.
+Unparenting the element means that the element will be dereferenced,
+so if the bin holds the only reference to the element, the element
+will be freed in the process of removing it from the bin. If you
+want the element to still exist after removing, you need to call
+gst_object_ref() before removing it from the bin.
+If the element's pads are linked to other pads, the pads will be unlinked
+before the element is removed from the bin.
+MT safe.
+the bin does not want to remove the element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the element could be removed, FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement to remove</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_many"
+ c:identifier="gst_bin_remove_many"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Remove a list of elements from a bin. This function is equivalent
+to calling gst_bin_remove() with each member of the list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element_1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first #GstElement to remove from the bin</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="async-handling" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="message-forward" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="Element" c:type="GstElement"/>
+ </field>
+ <field name="numchildren">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="children">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="children_cookie">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="child_bus">
+ <type name="Bus" c:type="GstBus*"/>
+ </field>
+ <field name="messages">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="polling">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="state_dirty">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="clock_dirty">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="provided_clock">
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="clock_provider">
+ <type name="Element" c:type="GstElement*"/>
+ </field>
+ <field name="priv">
+ <type name="BinPrivate" c:type="GstBinPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="do-latency" version="0.10.22">
+ <doc xml:whitespace="preserve">Will be emitted when the bin needs to perform latency calculations. This
+signal is only emited for toplevel bins or when async-handling is
+enabled.
+Only one signal handler is invoked. If no signals are connected, the
+default handler is invoked, which will query and distribute the lowest
+possible latency to all sinks.
+Connect to this signal if the default latency calculations are not
+sufficient, like when you need different latencies for different sinks in
+the same pipeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="element-added">
+ <doc xml:whitespace="preserve">Will be emitted after the element was added to the bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement that was added to the bin</doc>
+ <type name="Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="element-removed">
+ <doc xml:whitespace="preserve">Will be emitted after the element was removed from the bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement that was removed from the bin</doc>
+ <type name="Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="BinClass"
+ c:type="GstBinClass"
+ glib:is-gtype-struct-for="Bin">
+ <doc xml:whitespace="preserve">Subclasses can override the @add_element and @remove_element to
+update the list of children in the bin.
+The @handle_message method can be overridden to implement custom
+message handling. @handle_message takes ownership of the message, just like
+#gst_element_post_message.</doc>
+ <field name="parent_class">
+ <type name="ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="pool">
+ <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
+ </field>
+ <field name="element_added">
+ <callback name="element_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="element_removed">
+ <callback name="element_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_element">
+ <callback name="add_element">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="remove_element">
+ <callback name="remove_element">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_message">
+ <callback name="handle_message">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_latency">
+ <callback name="do_latency">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="BinFlags" c:type="GstBinFlags">
+ <doc xml:whitespace="preserve">GstBinFlags are a set of flags specific to bins. Most are set/used
+internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
+and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().</doc>
+ <member name="bin_flag_last"
+ value="33554432"
+ c:identifier="GST_BIN_FLAG_LAST"/>
+ </bitfield>
+ <record name="BinPrivate" c:type="GstBinPrivate" disguised="1">
+ </record>
+ <class name="Buffer"
+ c:symbol-prefix="buffer"
+ c:type="GstBuffer"
+ parent="MiniObject"
+ glib:type-name="GstBuffer"
+ glib:get-type="gst_buffer_get_type"
+ glib:type-struct="BufferClass"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">The structure of a #GstBuffer. Use the associated macros to access the public
+variables.</doc>
+ <constructor name="new" c:identifier="gst_buffer_new">
+ <doc xml:whitespace="preserve">Creates a newly allocated buffer without any data.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_and_alloc"
+ c:identifier="gst_buffer_new_and_alloc">
+ <doc xml:whitespace="preserve">Creates a newly allocated buffer with data of the given size.
+The buffer memory is not cleared. If the requested amount of
+memory can't be allocated, the program will abort. Use
+gst_buffer_try_new_and_alloc() if you want to handle this case
+gracefully or have gotten the size to allocate from an untrusted
+source such as a media stream.
+Note that when @size == 0, the buffer data pointer will be NULL.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the new buffer's data.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="try_new_and_alloc"
+ c:identifier="gst_buffer_try_new_and_alloc"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Tries to create a newly allocated buffer with data of the given size. If
+the requested amount of memory can't be allocated, NULL will be returned.
+The buffer memory is not cleared.
+Note that when @size == 0, the buffer data pointer will be NULL.
+MT safe.
+be allocated.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBuffer, or NULL if the memory couldn't</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the new buffer's data.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy_metadata"
+ c:identifier="gst_buffer_copy_metadata"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Copies the metadata from @src into @dest. The data, size and mallocdata
+fields are not copied.
+all the metadata fields.
+This function is typically called from a custom buffer copy function after
+creating @dest and setting the data, size, mallocdata.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a source #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flags indicating what metadata fields should be copied.</doc>
+ <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_sub" c:identifier="gst_buffer_create_sub">
+ <doc xml:whitespace="preserve">Creates a sub-buffer from @parent at @offset and @size.
+This sub-buffer uses the actual memory space of the parent buffer.
+This function will copy the offset and timestamp fields when the
+offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and
+#GST_BUFFER_OFFSET_NONE.
+If @offset equals 0 and @size equals the total size of @buffer, the
+duration and offset end fields are also copied. If not they will be set
+to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE.
+MT safe.
+invalid.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBuffer or NULL if the arguments were</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset into parent #GstBuffer at which the new sub-buffer begins.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the new #GstBuffer sub-buffer, in bytes.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_buffer_get_caps">
+ <doc xml:whitespace="preserve">Gets the media type of the buffer. This can be NULL if there
+is no media type attached to this buffer.
+Returns NULL if there were no caps on this buffer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a reference to the #GstCaps. unref after usage.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="is_metadata_writable"
+ c:identifier="gst_buffer_is_metadata_writable">
+ <doc xml:whitespace="preserve">Similar to gst_buffer_is_writable, but this only ensures that the
+refcount of the buffer is 1, indicating that the caller is the sole
+owner and can change the buffer metadata, such as caps and timestamps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the metadata is writable.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_span_fast" c:identifier="gst_buffer_is_span_fast">
+ <doc xml:whitespace="preserve">Determines whether a gst_buffer_span() can be done without copying
+the contents, that is, whether the data areas are contiguous sub-buffers of
+the same buffer.
+MT safe.
+FALSE if a copy would be required.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the buffers are contiguous,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="join" c:identifier="gst_buffer_join">
+ <doc xml:whitespace="preserve">Create a new buffer that is the concatenation of the two source
+buffers, and unrefs the original source buffers.
+If the buffers point to contiguous areas of memory, the buffer
+is created without copying the data.
+This is a convenience function for C programmers. See also
+gst_buffer_merge(), which does the same thing without
+unreffing the input parameters. Language bindings without
+explicit reference counting should not wrap this function.
+the source buffers.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBuffer which is the concatenation of</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second source #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="make_metadata_writable"
+ c:identifier="gst_buffer_make_metadata_writable">
+ <doc xml:whitespace="preserve">Similar to gst_buffer_make_writable, but does not ensure that the buffer
+data array is writable. Instead, this just ensures that the returned buffer
+is solely owned by the caller, by creating a subbuffer of the original
+buffer if necessary.
+After calling this function, @buf should not be referenced anymore. The
+result of this function has guaranteed writable metadata.
+may or may not be the same as @buf.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBuffer with writable metadata, which</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="merge" c:identifier="gst_buffer_merge">
+ <doc xml:whitespace="preserve">Create a new buffer that is the concatenation of the two source
+buffers. The original source buffers will not be modified or
+unref'd. Make sure you unref the source buffers if they are not used
+anymore afterwards.
+If the buffers point to contiguous areas of memory, the buffer
+is created without copying the data.
+of the source buffers.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBuffer which is the concatenation</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second source #GstBuffer to merge.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_buffer_set_caps">
+ <doc xml:whitespace="preserve">Sets the media type on the buffer. The refcount of the caps will
+be increased and any previous caps on the buffer will be
+unreffed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="span" c:identifier="gst_buffer_span">
+ <doc xml:whitespace="preserve">Creates a new buffer that consists of part of buf1 and buf2.
+Logically, buf1 and buf2 are concatenated into a single larger
+buffer, and a new buffer is created at the given offset inside
+this space, with a given length.
+If the two source buffers are children of the same larger buffer,
+and are contiguous, the new buffer will be a child of the shared
+parent, and thus no copying is necessary. you can use
+gst_buffer_is_span_fast() to determine if a memcpy will be needed.
+MT safe.
+buffers, or NULL if the arguments are invalid.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBuffer that spans the two source</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset in the first buffer from where the new buffer should start.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="buf2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second source #GstBuffer to merge.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the total length of the new buffer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="stamp"
+ c:identifier="gst_buffer_stamp"
+ deprecated="use gst_buffer_copy_metadata() instead, it provides more">
+ <doc xml:whitespace="preserve">Copies additional information (the timestamp, duration, and offset start
+and end) from one buffer to the other.
+This function does not copy any buffer flags or caps and is equivalent to
+gst_buffer_copy_metadata(@dest, @src, GST_BUFFER_COPY_TIMESTAMPS).
+control.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer to stamp from</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="mini_object">
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="data">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="timestamp">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="duration">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="caps">
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="offset">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="offset_end">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="malloc_data">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="free_func">
+ <type name="GLib.FreeFunc" c:type="GFreeFunc"/>
+ </field>
+ <field name="parent">
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BufferClass"
+ c:type="GstBufferClass"
+ glib:is-gtype-struct-for="Buffer">
+ <field name="mini_object_class">
+ <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </field>
+ </record>
+ <bitfield name="BufferCopyFlags"
+ version="0.10.13"
+ c:type="GstBufferCopyFlags">
+ <doc xml:whitespace="preserve">A set of flags that can be provided to the gst_buffer_copy_metadata()
+function to specify which metadata fields should be copied.</doc>
+ <member name="flags" value="1" c:identifier="GST_BUFFER_COPY_FLAGS"/>
+ <member name="timestamps"
+ value="2"
+ c:identifier="GST_BUFFER_COPY_TIMESTAMPS"/>
+ <member name="caps" value="4" c:identifier="GST_BUFFER_COPY_CAPS"/>
+ </bitfield>
+ <bitfield name="BufferFlag" c:type="GstBufferFlag">
+ <doc xml:whitespace="preserve">A set of buffer flags used to describe properties of a #GstBuffer.</doc>
+ <member name="readonly"
+ value="1"
+ c:identifier="GST_BUFFER_FLAG_READONLY"/>
+ <member name="preroll"
+ value="16"
+ c:identifier="GST_BUFFER_FLAG_PREROLL"/>
+ <member name="discont"
+ value="32"
+ c:identifier="GST_BUFFER_FLAG_DISCONT"/>
+ <member name="in_caps"
+ value="64"
+ c:identifier="GST_BUFFER_FLAG_IN_CAPS"/>
+ <member name="gap" value="128" c:identifier="GST_BUFFER_FLAG_GAP"/>
+ <member name="delta_unit"
+ value="256"
+ c:identifier="GST_BUFFER_FLAG_DELTA_UNIT"/>
+ <member name="media1" value="512" c:identifier="GST_BUFFER_FLAG_MEDIA1"/>
+ <member name="media2"
+ value="1024"
+ c:identifier="GST_BUFFER_FLAG_MEDIA2"/>
+ <member name="media3"
+ value="2048"
+ c:identifier="GST_BUFFER_FLAG_MEDIA3"/>
+ <member name="last" value="4096" c:identifier="GST_BUFFER_FLAG_LAST"/>
+ </bitfield>
+ <class name="BufferList"
+ c:symbol-prefix="buffer_list"
+ c:type="GstBufferList"
+ version="0.10.24"
+ parent="MiniObject"
+ glib:type-name="GstBufferList"
+ glib:get-type="gst_buffer_list_get_type"
+ glib:type-struct="BufferListClass"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Opaque list of grouped buffers.</doc>
+ <constructor name="new"
+ c:identifier="gst_buffer_list_new"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Creates a new, empty #GstBufferList. The caller is responsible for unreffing
+the returned #GstBufferList.
+after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstBufferList. gst_buffer_list_unref()</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ </constructor>
+ <method name="foreach"
+ c:identifier="gst_buffer_list_foreach"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Call @func with @data for each buffer in @list.
+of @func define if this function returns or if the remaining buffers in a
+group should be skipped.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:whitespace="preserve">a #GstBufferListFunc to call</doc>
+ <type name="BufferListFunc" c:type="GstBufferListFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get" c:identifier="gst_buffer_list_get" version="0.10.24">
+ <doc xml:whitespace="preserve">Get the buffer at @idx in @group.
+Note that this function is not efficient for iterating over the entire list.
+Use an iterator or gst_buffer_list_foreach() instead.
+is no buffer. The buffer remains valid as long as @list is valid.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer at @idx in @group or NULL when there</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="group" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the group</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index in @group</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate"
+ c:identifier="gst_buffer_list_iterate"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Iterate the buffers in @list. The owner of the iterator must also be the
+owner of a reference to @list while the returned iterator is in use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBufferListIterator of the buffers in</doc>
+ <type name="BufferListIterator" c:type="GstBufferListIterator*"/>
+ </return-value>
+ </method>
+ <method name="n_groups"
+ c:identifier="gst_buffer_list_n_groups"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns the number of groups in @list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of groups in the buffer list</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ </class>
+ <record name="BufferListClass"
+ c:type="GstBufferListClass"
+ disguised="1"
+ glib:is-gtype-struct-for="BufferList">
+ </record>
+ <callback name="BufferListDoFunction"
+ c:type="GstBufferListDoFunction"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">A function for accessing the last buffer returned by
+gst_buffer_list_iterator_next(). The function can leave @buffer in the list,
+replace @buffer in the list or remove @buffer from the list, depending on
+the return value. If the function returns NULL, @buffer will be removed from
+the list, otherwise @buffer will be replaced with the returned buffer.
+The last buffer returned by gst_buffer_list_iterator_next() will be replaced
+with the buffer returned from the function. The function takes ownership of
+unreffed. If NULL is returned, the buffer will be removed from the list. The
+list must be writable.
+to remove @buffer from the list</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the buffer to replace @buffer in the list, or NULL</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="BufferListFunc"
+ c:type="GstBufferListFunc"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">A function that will be called from gst_buffer_list_foreach(). The @buffer
+field will point to a the reference of the buffer at @idx in @group.
+When this function returns #GST_BUFFER_LIST_CONTINUE, the next buffer will be
+returned. When #GST_BUFFER_LIST_SKIP_GROUP is returned, all remaining buffers
+in the current group will be skipped and the first buffer of the next group
+is returned (if any). When GST_BUFFER_LIST_END is returned,
+gst_buffer_list_foreach() will return.
+When @buffer is set to NULL, the item will be removed from the bufferlist.
+When @buffer has been made writable, the new buffer reference can be assigned
+to @buffer. This function is responsible for unreffing the old buffer when
+removing or modifying.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBufferListItem</doc>
+ <type name="BufferListItem" c:type="GstBufferListItem"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer the buffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="group" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the group index of @buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index in @group of @buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="3">
+ <doc xml:whitespace="preserve">user data passed to gst_buffer_list_foreach()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="BufferListItem"
+ version="0.10.24"
+ c:type="GstBufferListItem">
+ <doc xml:whitespace="preserve">The result of the #GstBufferListFunc.</doc>
+ <member name="continue"
+ value="0"
+ c:identifier="GST_BUFFER_LIST_CONTINUE"/>
+ <member name="skip_group"
+ value="1"
+ c:identifier="GST_BUFFER_LIST_SKIP_GROUP"/>
+ <member name="end" value="2" c:identifier="GST_BUFFER_LIST_END"/>
+ </enumeration>
+ <record name="BufferListIterator"
+ c:type="GstBufferListIterator"
+ disguised="1"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Opaque iterator for a #GstBufferList.</doc>
+ <method name="add"
+ c:identifier="gst_buffer_list_iterator_add"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Inserts @buffer into the #GstBufferList iterated with @it. The buffer is
+inserted into the current group, immediately before the buffer that would be
+returned by gst_buffer_list_iterator_next(). The buffer is inserted before
+the implicit cursor, a subsequent call to gst_buffer_list_iterator_next()
+will return the buffer after the inserted buffer, if any.
+This function takes ownership of @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_group"
+ c:identifier="gst_buffer_list_iterator_add_group"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Inserts a new, empty group into the #GstBufferList iterated with @it. The
+group is inserted immediately before the group that would be returned by
+gst_buffer_list_iterator_next_group(). A subsequent call to
+gst_buffer_list_iterator_next_group() will advance the iterator to the group
+after the inserted group, if any.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="add_list"
+ c:identifier="gst_buffer_list_iterator_add_list"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Inserts @list of buffers into the #GstBufferList iterated with @it. The list is
+inserted into the current group, immediately before the buffer that would be
+returned by gst_buffer_list_iterator_next(). The list is inserted before
+the implicit cursor, a subsequent call to gst_buffer_list_iterator_next()
+will return the buffer after the last buffer of the inserted list, if any.
+This function takes ownership of @list and all its buffers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of buffers</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Buffer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do"
+ c:identifier="gst_buffer_list_iterator_do"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Calls the given function for the last buffer returned by
+gst_buffer_list_iterator_next(). gst_buffer_list_iterator_next() must have
+been called on @it before this function is called.
+gst_buffer_list_iterator_remove() and gst_buffer_list_iterator_steal() must
+not have been called since the last call to gst_buffer_list_iterator_next().
+See #GstBufferListDoFunction for more details.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the return value from @do_func</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="do_func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the function to be called</doc>
+ <type name="BufferListDoFunction"
+ c:type="GstBufferListDoFunction"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the gpointer to optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_buffer_list_iterator_free"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Free the iterator.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="merge_group"
+ c:identifier="gst_buffer_list_iterator_merge_group"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Merge a buffer list group into a normal #GstBuffer by copying its metadata
+and memcpying its data into consecutive memory. All buffers in the current
+group after the implicit cursor will be merged into one new buffer. The
+metadata of the new buffer will be a copy of the metadata of the buffer that
+would be returned by gst_buffer_list_iterator_next(). If there is no buffer
+in the current group after the implicit cursor, NULL will be returned.
+This function will not move the implicit cursor or in any other way affect
+the state of the iterator @it or the list.
+or NULL</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBuffer, gst_buffer_unref() after usage,</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="n_buffers"
+ c:identifier="gst_buffer_list_iterator_n_buffers"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns the number of buffers left to iterate in the current group. I.e. the
+number of calls that can be made to gst_buffer_list_iterator_next() before
+it returns NULL.
+This function will not move the implicit cursor or in any other way affect
+the state of the iterator @it.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of buffers left to iterate in the current group</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="next"
+ c:identifier="gst_buffer_list_iterator_next"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns the next buffer in the list iterated with @it. If the iterator is at
+the end of a group, NULL will be returned. This function may be called
+repeatedly to iterate through the current group.
+The caller will not get a new ref to the returned #GstBuffer and must not
+unref it.
+buffer list, or NULL</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the next buffer in the current group of the</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="next_group"
+ c:identifier="gst_buffer_list_iterator_next_group"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Advance the iterator @it to the first buffer in the next group. If the
+iterator is at the last group, FALSE will be returned. This function may be
+called repeatedly to iterate through the groups in a buffer list.
+the iterator was already at the last group</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the iterator could be advanced to the next group, FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="remove"
+ c:identifier="gst_buffer_list_iterator_remove"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Removes the last buffer returned by gst_buffer_list_iterator_next() from
+the #GstBufferList iterated with @it. gst_buffer_list_iterator_next() must
+have been called on @it before this function is called. This function can
+only be called once per call to gst_buffer_list_iterator_next().
+The removed buffer is unreffed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="steal"
+ c:identifier="gst_buffer_list_iterator_steal"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns the last buffer returned by gst_buffer_list_iterator_next() without
+modifying the refcount of the buffer.
+gst_buffer_list_iterator_next()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the last buffer returned by</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="take"
+ c:identifier="gst_buffer_list_iterator_take"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Replaces the last buffer returned by gst_buffer_list_iterator_next() with
+this function is called. gst_buffer_list_iterator_remove() must not have been
+called since the last call to gst_buffer_list_iterator_next().
+This function unrefs the replaced buffer if it has not been stolen with
+gst_buffer_list_iterator_steal() and takes ownership of @buffer (i.e. the
+refcount of @buffer is not increased).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="BufferingMode" c:type="GstBufferingMode">
+ <doc xml:whitespace="preserve">The different types of buffering methods.</doc>
+ <member name="stream" value="0" c:identifier="GST_BUFFERING_STREAM"/>
+ <member name="download" value="1" c:identifier="GST_BUFFERING_DOWNLOAD"/>
+ <member name="timeshift"
+ value="2"
+ c:identifier="GST_BUFFERING_TIMESHIFT"/>
+ <member name="live" value="3" c:identifier="GST_BUFFERING_LIVE"/>
+ </enumeration>
+ <class name="Bus"
+ c:symbol-prefix="bus"
+ c:type="GstBus"
+ parent="Object"
+ glib:type-name="GstBus"
+ glib:get-type="gst_bus_get_type"
+ glib:type-struct="BusClass">
+ <doc xml:whitespace="preserve">The opaque #GstBus data structure.</doc>
+ <constructor name="new" c:identifier="gst_bus_new">
+ <doc xml:whitespace="preserve">Creates a new #GstBus instance.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBus instance</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ </constructor>
+ <method name="add_signal_watch" c:identifier="gst_bus_add_signal_watch">
+ <doc xml:whitespace="preserve">Adds a bus signal watch to the default main context with the default priority
+(%G_PRIORITY_DEFAULT).
+After calling this statement, the bus will emit the "message" signal for each
+message posted on the bus.
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_remove_signal_watch() as many times as this
+function is called.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="add_signal_watch_full"
+ c:identifier="gst_bus_add_signal_watch_full">
+ <doc xml:whitespace="preserve">Adds a bus signal watch to the default main context with the given @priority
+(e.g. %G_PRIORITY_DEFAULT).
+After calling this statement, the bus will emit the "message" signal for each
+message posted on the bus when the main loop is running.
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_remove_signal_watch() as many times as this
+function is called.
+There can only be a single bus watch per bus, you most remove all signal watch
+before you can set another type of watch.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The priority of the watch.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_watch"
+ c:identifier="gst_bus_add_watch"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a bus watch to the default main context with the default priority
+(%G_PRIORITY_DEFAULT).
+This function is used to receive asynchronous messages in the main loop.
+There can only be a single bus watch per bus, you must remove it before you
+can set a new one.
+The watch can be removed using g_source_remove() or by returning FALSE
+from @func.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The event source id.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">A function to call when a message is received.</doc>
+ <type name="BusFunc" c:type="GstBusFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to @func.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_watch_full" c:identifier="gst_bus_add_watch_full">
+ <doc xml:whitespace="preserve">Adds a bus watch to the default main context with the given @priority (e.g.
+%G_PRIORITY_DEFAULT).
+This function is used to receive asynchronous messages in the main loop.
+There can only be a single bus watch per bus, you must remove it before you
+can set a new one.
+When @func is called, the message belongs to the caller; if you want to
+keep a copy of it, call gst_message_ref() before leaving @func.
+The watch can be removed using g_source_remove() or by returning FALSE
+from @func.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The event source id.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The priority of the watch.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:whitespace="preserve">A function to call when a message is received.</doc>
+ <type name="BusFunc" c:type="GstBusFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to @func.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">the function to call when the source is removed.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="async_signal_func"
+ c:identifier="gst_bus_async_signal_func">
+ <doc xml:whitespace="preserve">A helper #GstBusFunc that can be used to convert all asynchronous messages
+into signals.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMessage received</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_watch"
+ c:identifier="gst_bus_create_watch"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create watch for this bus. The GSource will be dispatched whenever
+a message is on the bus. After the GSource is dispatched, the
+message is popped off the bus and unreffed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GSource that can be added to a mainloop.</doc>
+ <type name="GLib.Source" c:type="GSource*"/>
+ </return-value>
+ </method>
+ <method name="disable_sync_message_emission"
+ c:identifier="gst_bus_disable_sync_message_emission">
+ <doc xml:whitespace="preserve">Instructs GStreamer to stop emitting the "sync-message" signal for this bus.
+See gst_bus_enable_sync_message_emission() for more information.
+In the event that multiple pieces of code have called
+gst_bus_enable_sync_message_emission(), the sync-message emissions will only
+be stopped after all calls to gst_bus_enable_sync_message_emission() were
+"cancelled" by calling this function. In this way the semantics are exactly
+the same as gst_object_ref() that which calls enable should also call
+disable.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="enable_sync_message_emission"
+ c:identifier="gst_bus_enable_sync_message_emission">
+ <doc xml:whitespace="preserve">Instructs GStreamer to emit the "sync-message" signal after running the bus's
+sync handler. This function is here so that code can ensure that they can
+synchronously receive messages without having to affect what the bin's sync
+handler is.
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_disable_sync_message_emission() as many times
+as this function is called.
+While this function looks similar to gst_bus_add_signal_watch(), it is not
+exactly the same -- this function enables <emphasis>synchronous</emphasis> emission of
+signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback
+to pop messages off the bus <emphasis>asynchronously</emphasis>. The sync-message signal
+comes from the thread of whatever object posted the message; the "message"
+signal is marshalled to the main thread via the main loop.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="have_pending" c:identifier="gst_bus_have_pending">
+ <doc xml:whitespace="preserve">Check if there are pending messages on the bus that
+should be handled.
+otherwise.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if there are messages on the bus to be handled, FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="peek" c:identifier="gst_bus_peek">
+ <doc xml:whitespace="preserve">Peek the message on the top of the bus' queue. The message will remain
+on the bus' message queue. A reference is returned, and needs to be unreffed
+by the caller.
+bus is empty.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstMessage that is on the bus, or NULL if the</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ </method>
+ <method name="poll" c:identifier="gst_bus_poll">
+ <doc xml:whitespace="preserve">Poll the bus for messages. Will block while waiting for messages to come.
+You can specify a maximum time to poll with the @timeout parameter. If
+All messages not in @events will be popped off the bus and will be ignored.
+Because poll is implemented using the "message" signal enabled by
+gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message"
+signal to be emitted for every message that poll sees. Thus a "message"
+signal handler will see the same messages that this function sees -- neither
+will steal messages from the other.
+This function will run a main loop from the default main context when
+polling.
+You should never use this function, since it is pure evil. This is
+especially true for GUI applications based on Gtk+ or Qt, but also for any
+other non-trivial application that uses the GLib main loop. As this function
+runs a GLib main loop, any callback attached to the default GLib main
+context may be invoked. This could be timeouts, GUI events, I/O events etc.;
+even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks
+may do things you do not expect, e.g. destroy the main application window or
+some other resource; change other application state; display a dialog and
+run another main loop until the user clicks it away. In short, using this
+function may add a lot of complexity to your code through unexpected
+re-entrancy and unexpected changes to your application's state.
+For 0 timeouts use gst_bus_pop_filtered() instead of this function; for
+other short timeouts use gst_bus_timed_pop_filtered(); everything else is
+better handled by setting up an asynchronous bus watch and doing things
+from there.
+poll timed out. The message is taken from the bus and needs to be
+unreffed with gst_message_unref() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the message that was received, or NULL if the</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="events" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a mask of #GstMessageType, representing the set of message types to poll for.</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the poll timeout, as a #GstClockTimeDiff, or -1 to poll indefinitely.</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pop" c:identifier="gst_bus_pop">
+ <doc xml:whitespace="preserve">Get a message from the bus.
+bus is empty. The message is taken from the bus and needs to be unreffed
+with gst_message_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstMessage that is on the bus, or NULL if the</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ </method>
+ <method name="pop_filtered"
+ c:identifier="gst_bus_pop_filtered"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Get a message matching @type from the bus. Will discard all messages on
+the bus that do not match @type and that have been posted before the first
+message that does match @type. If there is no message matching @type on
+the bus, all messages will be discarded.
+the bus, or NULL if the bus is empty or there is no message matching
+gst_message_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the next #GstMessage matching @type that is on</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:whitespace="preserve">message types to take into account</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="post" c:identifier="gst_bus_post">
+ <doc xml:whitespace="preserve">Post a message on the given bus. Ownership of the message
+is taken by the bus.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the message could be posted, FALSE if the bus is flushing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstMessage to post</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_signal_watch"
+ c:identifier="gst_bus_remove_signal_watch">
+ <doc xml:whitespace="preserve">Removes a signal watch previously added with gst_bus_add_signal_watch().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_flushing" c:identifier="gst_bus_set_flushing">
+ <doc xml:whitespace="preserve">If @flushing, flush out and unref any messages queued in the bus. Releases
+references to the message origin objects. Will flush future messages until
+gst_bus_set_flushing() sets @flushing to #FALSE.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether or not to flush the bus</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sync_handler"
+ c:identifier="gst_bus_set_sync_handler"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the synchronous handler on the bus. The function will be called
+every time a new message is posted on the bus. Note that the function
+will be called in the same thread context as the posting object. This
+function is usually only called by the creator of the bus. Applications
+should handle messages asynchronously using the gst_bus watch and poll
+functions.
+You cannot replace an existing sync_handler. You can pass NULL to this
+function, which will clear the existing handler.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">The handler function to install</doc>
+ <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">User data that will be sent to the handler function.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sync_signal_handler"
+ c:identifier="gst_bus_sync_signal_handler">
+ <doc xml:whitespace="preserve">A helper GstBusSyncHandler that can be used to convert all synchronous
+messages into signals.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">GST_BUS_PASS</doc>
+ <type name="BusSyncReply" c:type="GstBusSyncReply"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMessage received</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="timed_pop"
+ c:identifier="gst_bus_timed_pop"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Get a message from the bus, waiting up to the specified timeout.
+If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is
+#GST_CLOCK_TIME_NONE, this function will block forever until a message was
+posted on the bus.
+specified timeout or NULL if the bus is empty after the timeout expired.
+The message is taken from the bus and needs to be unreffed with
+gst_message_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstMessage that is on the bus after the</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="timed_pop_filtered"
+ c:identifier="gst_bus_timed_pop_filtered"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Get a message from the bus whose type matches the message type mask @types,
+waiting up to the specified timeout (and discarding any messages that do not
+match the mask provided).
+If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If
+matching message was posted on the bus.
+or NULL if no matching message was found on the bus until the timeout
+expired. The message is taken from the bus and needs to be unreffed
+with gst_message_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstMessage matching the filter in @types,</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:whitespace="preserve">message types to take into account, GST_MESSAGE_ANY for any type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="queue">
+ <type name="GLib.Queue" c:type="GQueue*"/>
+ </field>
+ <field name="queue_lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="sync_handler">
+ <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
+ </field>
+ <field name="sync_handler_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="signal_watch_id">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="num_signal_watchers">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="priv">
+ <type name="BusPrivate" c:type="GstBusPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="message">
+ <doc xml:whitespace="preserve">A message has been posted on the bus. This signal is emitted from a
+GSource added to the mainloop. this signal will only be emitted when
+there is a mainloop running.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message that has been posted asynchronously</doc>
+ <type name="Message"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="sync-message">
+ <doc xml:whitespace="preserve">A message has been posted on the bus. This signal is emitted from the
+thread that posted the message so one has to be careful with locking.
+This signal will not be emitted by default, you have to set up
+gst_bus_sync_signal_handler() as a sync handler if you want this
+signal to be emitted when a message is posted on the bus, like this:
+<programlisting>
+gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, yourdata);
+</programlisting></doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message that has been posted synchronously</doc>
+ <type name="Message"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="BusClass"
+ c:type="GstBusClass"
+ glib:is-gtype-struct-for="Bus">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="message">
+ <callback name="message">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sync_message">
+ <callback name="sync_message">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="BusFlags" c:type="GstBusFlags">
+ <doc xml:whitespace="preserve">The standard flags that a bus may have.</doc>
+ <member name="flushing" value="16" c:identifier="GST_BUS_FLUSHING"/>
+ <member name="flag_last" value="32" c:identifier="GST_BUS_FLAG_LAST"/>
+ </bitfield>
+ <callback name="BusFunc" c:type="GstBusFunc">
+ <doc xml:whitespace="preserve">Specifies the type of function passed to gst_bus_add_watch() or
+gst_bus_add_watch_full(), which is called from the mainloop when a message
+is available on the bus.
+The message passed to the function will be unreffed after execution of this
+function so it should not be freed in the function.
+Note that this function is used as a GSourceFunc which means that returning
+FALSE will remove the GSource from the mainloop.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the event source should be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBus that sent the message</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data that has been given, when registering the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="BusPrivate" c:type="GstBusPrivate" disguised="1">
+ </record>
+ <callback name="BusSyncHandler" c:type="GstBusSyncHandler">
+ <doc xml:whitespace="preserve">Handler will be invoked synchronously, when a new message has been injected
+into the bus. This function is mostly used internally. Only one sync handler
+can be attached to a given bus.
+If the handler returns GST_BUS_DROP, it should unref the message, else the
+message should not be unreffed by the sync handler.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstBusSyncReply stating what to do with the message</doc>
+ <type name="BusSyncReply" c:type="GstBusSyncReply"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBus that sent the message</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data that has been given, when registering the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="BusSyncReply" c:type="GstBusSyncReply">
+ <doc xml:whitespace="preserve">The result values for a GstBusSyncHandler.</doc>
+ <member name="drop" value="0" c:identifier="GST_BUS_DROP"/>
+ <member name="pass" value="1" c:identifier="GST_BUS_PASS"/>
+ <member name="async" value="2" c:identifier="GST_BUS_ASYNC"/>
+ </enumeration>
+ <constant name="CAN_INLINE" value="1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="CLOCK_ENTRY_TRACE_NAME" value="GstClockEntry">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CLOCK_TIME_NONE" value="-1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <record name="Caps"
+ c:type="GstCaps"
+ glib:type-name="GstCaps"
+ glib:get-type="gst_caps_get_type"
+ c:symbol-prefix="caps">
+ <doc xml:whitespace="preserve">Object describing media types.</doc>
+ <field name="type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="refcount" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="flags" writable="1">
+ <type name="CapsFlags" c:type="GstCapsFlags"/>
+ </field>
+ <field name="structs" writable="1">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new_any" c:identifier="gst_caps_new_any">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps that indicates that it is compatible with
+any media format.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_empty" c:identifier="gst_caps_new_empty">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps that is empty. That is, the returned
+#GstCaps contains no media formats.
+Caller is responsible for unreffing the returned caps.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_full"
+ c:identifier="gst_caps_new_full"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps and adds all the structures listed as
+arguments. The list must be NULL-terminated. The structures
+are not copied; the returned #GstCaps owns the structures.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="struct1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first structure to add</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_full_valist"
+ c:identifier="gst_caps_new_full_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps and adds all the structures listed as
+arguments. The list must be NULL-terminated. The structures
+are not copied; the returned #GstCaps owns the structures.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first structure to add</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">additional structures to add</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_simple"
+ c:identifier="gst_caps_new_simple"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps that contains one #GstStructure. The
+structure is defined by the arguments, which have the same format
+as gst_structure_new().
+Caller is responsible for unreffing the returned caps.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="media_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media type of the structure</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">first field to set</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="append" c:identifier="gst_caps_append">
+ <doc xml:whitespace="preserve">Appends the structures contained in @caps2 to @caps1. The structures in
+freed. If either caps is ANY, the resulting caps will be ANY.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps to append</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_structure" c:identifier="gst_caps_append_structure">
+ <doc xml:whitespace="preserve">Appends @structure to @caps. The structure is not copied; @caps
+becomes the owner of @structure.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstStructure to append</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_intersect"
+ c:identifier="gst_caps_can_intersect"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">Tries intersecting @caps1 and @caps2 and reports whether the result would not
+be empty</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if intersection would be not empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_caps_copy">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps as a copy of the old @caps. The new caps will have a
+refcount of 1, owned by the caller. The structures are copied as well.
+Note that this function is the semantic equivalent of a gst_caps_ref()
+followed by a gst_caps_make_writable(). If you only want to hold on to a
+reference to the data, you should use gst_caps_ref().
+When you are finished with the caps, call gst_caps_unref() on it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="copy_nth" c:identifier="gst_caps_copy_nth">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps and appends a copy of the nth structure
+contained in @caps.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the nth structure to copy</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do_simplify" c:identifier="gst_caps_do_simplify">
+ <doc xml:whitespace="preserve">Modifies the given @caps inplace into a representation that represents the
+same set of formats, but in a simpler form. Component structures that are
+identical are merged. Component structures that have values that can be
+merged are also merged.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the caps could be simplified</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_size" c:identifier="gst_caps_get_size">
+ <doc xml:whitespace="preserve">Gets the number of structures contained in @caps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of structures that @caps contains</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_structure" c:identifier="gst_caps_get_structure">
+ <doc xml:whitespace="preserve">Finds the structure in @caps that has the index @index, and
+returns it.
+non-const GstStructure *. This is for programming convenience --
+the caller should be aware that structures inside a constant
+#GstCaps should not be modified. However, if you know the caps
+are writable, either because you have just copied them or made
+them writable with gst_caps_make_writable(), you may modify the
+structure returned in the usual way, e.g. with functions like
+gst_structure_set().
+You do not need to free or unref the structure returned, it
+belongs to the #GstCaps.
+to @index</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the #GstStructure corresponding</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index of the structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="intersect" c:identifier="gst_caps_intersect">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps that contains all the formats that are common
+to both @caps1 and @caps2.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_always_compatible"
+ c:identifier="gst_caps_is_always_compatible">
+ <doc xml:whitespace="preserve">A given #GstCaps structure is always compatible with another if
+every media format that is in the first is also contained in the
+second. That is, @caps1 is a subset of @caps2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps1 is a subset of @caps2.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to test</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_any" c:identifier="gst_caps_is_any">
+ <doc xml:whitespace="preserve">Determines if @caps represents any media format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps represents any format.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_empty" c:identifier="gst_caps_is_empty">
+ <doc xml:whitespace="preserve">Determines if @caps represents no media formats.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps represents no formats.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_equal" c:identifier="gst_caps_is_equal">
+ <doc xml:whitespace="preserve">Checks if the given caps represent the same set of caps.
+<note>This function does not work reliably if optional properties for caps
+are included on one caps and omitted on the other.</note>
+This function deals correctly with passing NULL for any of the caps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if both caps are equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_equal_fixed" c:identifier="gst_caps_is_equal_fixed">
+ <doc xml:whitespace="preserve">Tests if two #GstCaps are equal. This function only works on fixed
+#GstCaps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the arguments represent the same format</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to test</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_fixed" c:identifier="gst_caps_is_fixed">
+ <doc xml:whitespace="preserve">Fixed #GstCaps describe exactly one format, that is, they have exactly
+one structure, and each field in the structure describes a fixed type.
+Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps is fixed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_subset" c:identifier="gst_caps_is_subset">
+ <doc xml:whitespace="preserve">Checks if all caps represented by @subset are also represented by @superset.
+<note>This function does not work reliably if optional properties for caps
+are included on one caps and omitted on the other.</note></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @subset is a subset of @superset</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="superset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a potentially greater #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="make_writable" c:identifier="gst_caps_make_writable">
+ <doc xml:whitespace="preserve">Returns a writable copy of @caps.
+If there is only one reference count on @caps, the caller must be the owner,
+and so this function will return the caps object unchanged. If on the other
+hand there is more than one reference on the object, a new caps object will
+be returned. The caller's reference on @caps will be removed, and instead the
+caller will own a reference to the returned object.
+In short, this function unrefs the caps in the argument and refs the caps
+that it returns. Don't access the argument after calling this function. See</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the same #GstCaps object.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="merge" c:identifier="gst_caps_merge" version="0.10.10">
+ <doc xml:whitespace="preserve">Appends the structures contained in @caps2 to @caps1 if they are not yet
+expressed by @caps1. The structures in @caps2 are not copied -- they are
+transferred to @caps1, and then @caps2 is freed.
+If either caps is ANY, the resulting caps will be ANY.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps to merge in</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="merge_structure" c:identifier="gst_caps_merge_structure">
+ <doc xml:whitespace="preserve">Appends @structure to @caps if its not already expressed by @caps. The
+structure is not copied; @caps becomes the owner of @structure.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstStructure to merge</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="normalize" c:identifier="gst_caps_normalize">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps that represents the same set of formats as</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="ref" c:identifier="gst_caps_ref">
+ <doc xml:whitespace="preserve">Add a reference to a #GstCaps object.
+From this point on, until the caller calls gst_caps_unref() or
+gst_caps_make_writable(), it is guaranteed that the caps object will not
+change. This means its structures won't change, etc. To use a #GstCaps
+object, you must always have a refcount on it -- either the one made
+implicitly by e.g. gst_caps_new_simple(), or via taking one explicitly with
+this function.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the same #GstCaps object.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="remove_structure" c:identifier="gst_caps_remove_structure">
+ <doc xml:whitespace="preserve">removes the stucture with the given index from the list of structures
+contained in @caps.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Index of the structure to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_thyself"
+ c:identifier="gst_caps_save_thyself"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Serializes a #GstCaps to XML and adds it as a child node of @parent.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a XML node pointer</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a XML parent node</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_simple"
+ c:identifier="gst_caps_set_simple"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets fields in a #GstCaps. The arguments must be passed in the same
+manner as gst_structure_set(), and be NULL-terminated.
+<note>Prior to GStreamer version 0.10.26, this function failed when
+of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
+is %TRUE for @caps.</note></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">first field to set</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_simple_valist"
+ c:identifier="gst_caps_set_simple_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets fields in a #GstCaps. The arguments must be passed in the same
+manner as gst_structure_set(), and be NULL-terminated.
+<note>Prior to GStreamer version 0.10.26, this function failed when
+of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
+is %TRUE for @caps.</note></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">first field to set</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">additional parameters</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value"
+ c:identifier="gst_caps_set_value"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Sets the given @field on all structures of @caps to the given @value.
+This is a convenience function for calling gst_structure_set_value() on
+all structures of @caps.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the field to set</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to set the field to</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="steal_structure"
+ c:identifier="gst_caps_steal_structure"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Retrieves the stucture with the given index from the list of structures
+contained in @caps. The caller becomes the owner of the returned structure.
+to @index.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstStructure corresponding</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Index of the structure to retrieve</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="subtract" c:identifier="gst_caps_subtract">
+ <doc xml:whitespace="preserve">Subtracts the @subtrahend from the @minuend.
+<note>This function does not work reliably if optional properties for caps
+are included on one caps and omitted on the other.</note></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the resulting caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstCaps to substract</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_caps_to_string">
+ <doc xml:whitespace="preserve">Converts @caps to a string representation. This string representation
+can be converted back to a #GstCaps by gst_caps_from_string().
+For debugging purposes its easier to do something like this:
+|[
+GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
+]|
+This prints the caps in human readble form.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated string representing @caps.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="truncate" c:identifier="gst_caps_truncate">
+ <doc xml:whitespace="preserve">Destructively discard all but the first structure from @caps. Useful when
+fixating. @caps must be writable.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="union" c:identifier="gst_caps_union">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps that contains all the formats that are in
+either @caps1 and @caps2.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to union</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_caps_unref">
+ <doc xml:whitespace="preserve">Unref a #GstCaps and and free all its structures and the
+structures' values when the refcount reaches 0.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <bitfield name="CapsFlags" c:type="GstCapsFlags">
+ <doc xml:whitespace="preserve">Extra flags for a caps.</doc>
+ <member name="caps_flags_any"
+ value="1"
+ c:identifier="GST_CAPS_FLAGS_ANY"/>
+ </bitfield>
+ <interface name="ChildProxy"
+ c:symbol-prefix="child_proxy"
+ c:type="GstChildProxy"
+ glib:type-name="GstChildProxy"
+ glib:get-type="gst_child_proxy_get_type"
+ glib:type-struct="ChildProxyInterface">
+ <doc xml:whitespace="preserve">Opaque #GstChildProxy data structure.</doc>
+ <prerequisite name="Object"/>
+ <virtual-method name="get_child_by_index" invoker="get_child_by_index">
+ <doc xml:whitespace="preserve">Fetches a child by its number.
+too high). Unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the child object or %NULL if not found (index</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the childs position in the child list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_children_count" invoker="get_children_count">
+ <doc xml:whitespace="preserve">Gets the number of child objects this parent contains.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of child objects</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </virtual-method>
+ <method name="get_child_by_index"
+ c:identifier="gst_child_proxy_get_child_by_index">
+ <doc xml:whitespace="preserve">Fetches a child by its number.
+too high). Unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the child object or %NULL if not found (index</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the childs position in the child list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_by_name"
+ c:identifier="gst_child_proxy_get_child_by_name">
+ <doc xml:whitespace="preserve">Looks up a child element by the given name.
+Implementors can use #GstObject together with gst_object_get_name()
+after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the child object or %NULL if not found. Unref</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the childs name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_children_count"
+ c:identifier="gst_child_proxy_get_children_count">
+ <doc xml:whitespace="preserve">Gets the number of child objects this parent contains.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of child objects</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <glib:signal name="child-added">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="GObject.Object"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-removed">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="GObject.Object"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="ChildProxyInterface"
+ c:type="GstChildProxyInterface"
+ glib:is-gtype-struct-for="ChildProxy">
+ <doc xml:whitespace="preserve">#GstChildProxy interface.</doc>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_child_by_index">
+ <callback name="get_child_by_index">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the child object or %NULL if not found (index</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the childs position in the child list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_children_count">
+ <callback name="get_children_count">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of child objects</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="child_added">
+ <callback name="child_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="child_removed">
+ <callback name="child_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="Clock"
+ c:symbol-prefix="clock"
+ c:type="GstClock"
+ parent="Object"
+ glib:type-name="GstClock"
+ glib:get-type="gst_clock_get_type"
+ glib:type-struct="ClockClass">
+ <doc xml:whitespace="preserve">#GstClock base structure. The values of this structure are
+protected for subclasses, use the methods to use the #GstClock.</doc>
+ <function name="id_compare_func"
+ c:identifier="gst_clock_id_compare_func">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="id1" transfer-ownership="none">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="id2" transfer-ownership="none">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_get_time" c:identifier="gst_clock_id_get_time">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_ref" c:identifier="gst_clock_id_ref">
+ <doc xml:whitespace="preserve">Increase the refcount of given @id.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The same #GstClockID with increased refcount.</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstClockID to ref</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_unref" c:identifier="gst_clock_id_unref">
+ <doc xml:whitespace="preserve">Unref given @id. When the refcount reaches 0 the
+#GstClockID will be freed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="full">
+ <doc xml:whitespace="preserve">The #GstClockID to unref</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_unschedule" c:identifier="gst_clock_id_unschedule">
+ <doc xml:whitespace="preserve">Cancel an outstanding request with @id. This can either
+be an outstanding async notification or a pending sync notification.
+After this call, @id cannot be used anymore to receive sync or
+async notifications, you need to create a new #GstClockID.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The id to unschedule</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_wait" c:identifier="gst_clock_id_wait">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_wait_async"
+ c:identifier="gst_clock_id_wait_async"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Register a callback on the given #GstClockID @id with the given
+function and user_data. When passing a #GstClockID with an invalid
+time to this function, the callback will be called immediately
+with a time set to GST_CLOCK_TIME_NONE. The callback will
+be called when the time of @id has been reached.
+The callback @func can be invoked from any thread, either provided by the
+core or from a streaming thread. The application should be prepared for this.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result of the non blocking wait.</doc>
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockID to wait on</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">The callback function</doc>
+ <type name="ClockCallback" c:type="GstClockCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">User data passed in the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_wait_async_full"
+ c:identifier="gst_clock_id_wait_async_full"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Register a callback on the given #GstClockID @id with the given
+function and user_data. When passing a #GstClockID with an invalid
+time to this function, the callback will be called immediately
+with a time set to GST_CLOCK_TIME_NONE. The callback will
+be called when the time of @id has been reached.
+The callback @func can be invoked from any thread, either provided by the
+core or from a streaming thread. The application should be prepared for this.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result of the non blocking wait.</doc>
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockID to wait on</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:whitespace="preserve">The callback function</doc>
+ <type name="ClockCallback" c:type="GstClockCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">User data passed in the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">#GDestroyNotify for user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="change_resolution">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="new_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_internal_time" invoker="get_internal_time">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_resolution" invoker="get_resolution">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unschedule">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="wait">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="wait_async">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="wait_jitter">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_observation" c:identifier="gst_clock_add_observation">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="slave" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="master" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="r_squared" transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="adjust_unlocked" c:identifier="gst_clock_adjust_unlocked">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="internal" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_calibration" c:identifier="gst_clock_get_calibration">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="internal" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="external" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="rate_num" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="rate_denom" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_internal_time"
+ c:identifier="gst_clock_get_internal_time">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_master" c:identifier="gst_clock_get_master">
+ <doc xml:whitespace="preserve">Get the master clock that @clock is slaved to or %NULL when the clock is
+not slaved to any master clock.
+not slaved to a master clock. Unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a master #GstClock or %NULL when this clock is</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </method>
+ <method name="get_resolution" c:identifier="gst_clock_get_resolution">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_time" c:identifier="gst_clock_get_time">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="new_periodic_id" c:identifier="gst_clock_new_periodic_id">
+ <doc xml:whitespace="preserve">Get an ID from @clock to trigger a periodic notification.
+The periodic notifications will start at time @start_time and
+will then be fired with the given @interval. @id should be unreffed
+after usage.
+time notification.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstClockID that can be used to request the</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </return-value>
+ <parameters>
+ <parameter name="start_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested start time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested interval</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="new_single_shot_id"
+ c:identifier="gst_clock_new_single_shot_id">
+ <doc xml:whitespace="preserve">Get a #GstClockID from @clock to trigger a single shot
+notification at the requested time. The single shot id should be
+unreffed after usage.
+time notification.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstClockID that can be used to request the</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_calibration" c:identifier="gst_clock_set_calibration">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="internal" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="external" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="rate_num" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="rate_denom" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_master" c:identifier="gst_clock_set_master">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="master" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_resolution" c:identifier="gst_clock_set_resolution">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="single_shot_id_reinit"
+ c:identifier="gst_clock_single_shot_id_reinit">
+ <doc xml:whitespace="preserve">Reinitializes the provided single shot @id to the provided time. Does not
+modify the reference count.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the GstClockID could be reinitialized to the provided</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockID</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The requested time.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unadjust_unlocked"
+ c:identifier="gst_clock_unadjust_unlocked">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="external" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="stats" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="timeout" writable="1" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <property name="window-size" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="window-threshold" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="slave_lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="internal_calibration">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="external_calibration">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="rate_numerator">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="rate_denominator">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="last_time">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="entries">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="entries_changed">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="resolution">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="stats">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="master">
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="filling">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="window_size">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="window_threshold">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="time_index">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="timeout">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="times">
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </field>
+ <field name="clockid">
+ <type name="ClockID" c:type="GstClockID"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <field name="priv" writable="1">
+ <type name="ClockPrivate" c:type="GstClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="GstClockTime" fixed-size="4">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <callback name="ClockCallback" c:type="GstClockCallback">
+ <doc xml:whitespace="preserve">The function prototype of the callback.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE or %FALSE (currently unused)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The clock that triggered the callback</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The time it was triggered</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstClockID that expired</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="3">
+ <doc xml:whitespace="preserve">user data passed in the gst_clock_id_wait_async() function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ClockClass"
+ c:type="GstClockClass"
+ glib:is-gtype-struct-for="Clock">
+ <doc xml:whitespace="preserve">GStreamer clock class. Override the vmethods to implement the clock
+functionality.</doc>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="change_resolution">
+ <callback name="change_resolution">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="old_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="new_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_resolution">
+ <callback name="get_resolution">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_internal_time">
+ <callback name="get_internal_time">
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait">
+ <callback name="wait">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_async">
+ <callback name="wait_async">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unschedule">
+ <callback name="unschedule">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_jitter">
+ <callback name="wait_jitter">
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ClockEntry" c:type="GstClockEntry">
+ <doc xml:whitespace="preserve">All pending timeouts or periodic notifies are converted into
+an entry.
+Note that GstClockEntry should be treated as an opaque structure. It must
+not be extended or allocated using a custom allocator.</doc>
+ <field name="refcount" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="clock" writable="1">
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="ClockEntryType" c:type="GstClockEntryType"/>
+ </field>
+ <field name="time" writable="1">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="interval" writable="1">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="status" writable="1">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </field>
+ <field name="func" writable="1">
+ <type name="ClockCallback" c:type="GstClockCallback"/>
+ </field>
+ <field name="user_data" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="destroy_data" writable="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="unscheduled" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="woken_up" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ <enumeration name="ClockEntryType" c:type="GstClockEntryType">
+ <doc xml:whitespace="preserve">The type of the clock entry</doc>
+ <member name="single" value="0" c:identifier="GST_CLOCK_ENTRY_SINGLE"/>
+ <member name="periodic"
+ value="1"
+ c:identifier="GST_CLOCK_ENTRY_PERIODIC"/>
+ </enumeration>
+ <bitfield name="ClockFlags" c:type="GstClockFlags">
+ <doc xml:whitespace="preserve">The capabilities of this clock</doc>
+ <member name="can_do_single_sync"
+ value="16"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC"/>
+ <member name="can_do_single_async"
+ value="32"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC"/>
+ <member name="can_do_periodic_sync"
+ value="64"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC"/>
+ <member name="can_do_periodic_async"
+ value="128"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC"/>
+ <member name="can_set_resolution"
+ value="256"
+ c:identifier="GST_CLOCK_FLAG_CAN_SET_RESOLUTION"/>
+ <member name="can_set_master"
+ value="512"
+ c:identifier="GST_CLOCK_FLAG_CAN_SET_MASTER"/>
+ <member name="last" value="4096" c:identifier="GST_CLOCK_FLAG_LAST"/>
+ </bitfield>
+ <record name="ClockPrivate" c:type="GstClockPrivate" disguised="1">
+ </record>
+ <enumeration name="ClockReturn" c:type="GstClockReturn">
+ <doc xml:whitespace="preserve">The return value of a clock operation.</doc>
+ <member name="ok" value="0" c:identifier="GST_CLOCK_OK"/>
+ <member name="early" value="1" c:identifier="GST_CLOCK_EARLY"/>
+ <member name="unscheduled"
+ value="2"
+ c:identifier="GST_CLOCK_UNSCHEDULED"/>
+ <member name="busy" value="3" c:identifier="GST_CLOCK_BUSY"/>
+ <member name="badtime" value="4" c:identifier="GST_CLOCK_BADTIME"/>
+ <member name="error" value="5" c:identifier="GST_CLOCK_ERROR"/>
+ <member name="unsupported"
+ value="6"
+ c:identifier="GST_CLOCK_UNSUPPORTED"/>
+ <member name="done" value="7" c:identifier="GST_CLOCK_DONE"/>
+ </enumeration>
+ <enumeration name="ClockType" c:type="GstClockType">
+ <doc xml:whitespace="preserve">The different kind of clocks.</doc>
+ <member name="realtime"
+ value="0"
+ c:identifier="GST_CLOCK_TYPE_REALTIME"/>
+ <member name="monotonic"
+ value="1"
+ c:identifier="GST_CLOCK_TYPE_MONOTONIC"/>
+ </enumeration>
+ <callback name="CopyFunction"
+ c:type="GstCopyFunction"
+ version="0.10.25"
+ introspectable="0">
+ <doc xml:whitespace="preserve">A function to create a copy of some object or
+increase its reference count.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a copy of the object or the same object with increased reference count</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object to copy</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="CoreError"
+ c:type="GstCoreError"
+ glib:error-quark="gst_core_error_quark">
+ <doc xml:whitespace="preserve">Core errors are errors inside the core GStreamer library.</doc>
+ <member name="failed" value="1" c:identifier="GST_CORE_ERROR_FAILED"/>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_CORE_ERROR_TOO_LAZY"/>
+ <member name="not_implemented"
+ value="3"
+ c:identifier="GST_CORE_ERROR_NOT_IMPLEMENTED"/>
+ <member name="state_change"
+ value="4"
+ c:identifier="GST_CORE_ERROR_STATE_CHANGE"/>
+ <member name="pad" value="5" c:identifier="GST_CORE_ERROR_PAD"/>
+ <member name="thread" value="6" c:identifier="GST_CORE_ERROR_THREAD"/>
+ <member name="negotiation"
+ value="7"
+ c:identifier="GST_CORE_ERROR_NEGOTIATION"/>
+ <member name="event" value="8" c:identifier="GST_CORE_ERROR_EVENT"/>
+ <member name="seek" value="9" c:identifier="GST_CORE_ERROR_SEEK"/>
+ <member name="caps" value="10" c:identifier="GST_CORE_ERROR_CAPS"/>
+ <member name="tag" value="11" c:identifier="GST_CORE_ERROR_TAG"/>
+ <member name="missing_plugin"
+ value="12"
+ c:identifier="GST_CORE_ERROR_MISSING_PLUGIN"/>
+ <member name="clock" value="13" c:identifier="GST_CORE_ERROR_CLOCK"/>
+ <member name="disabled"
+ value="14"
+ c:identifier="GST_CORE_ERROR_DISABLED"/>
+ <member name="num_errors"
+ value="15"
+ c:identifier="GST_CORE_ERROR_NUM_ERRORS"/>
+ </enumeration>
+ <constant name="DEBUG_BG_MASK" value="240">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="DEBUG_FG_MASK" value="15">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="DEBUG_FORMAT_MASK" value="65280">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <glib:boxed glib:name="Date"
+ c:symbol-prefix="date"
+ glib:type-name="GstDate"
+ glib:get-type="gst_date_get_type">
+ </glib:boxed>
+ <record name="DateTime"
+ c:type="GstDateTime"
+ glib:type-name="GstDateTime"
+ glib:get-type="gst_date_time_get_type"
+ c:symbol-prefix="date_time">
+ <doc xml:whitespace="preserve">Opaque, immutable, refcounted struct that stores date, time and timezone
+information. It currently supports ranges from 0001-01-01 to
+9999-12-31 in the Gregorian proleptic calendar.
+Use the acessor functions to get the stored values.</doc>
+ <constructor name="new"
+ c:identifier="gst_date_time_new"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the supplied timezone.
+1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.
+Note that @tzoffset is a float and was chosen so for being able to handle
+some fractional timezones, while it still keeps the readability of
+represeting it in hours for most timezones.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tzoffset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Offset from UTC in hours.</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="month" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="day" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the day of the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="hour" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the hour of the day</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minute of the hour</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second of the minute</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_unix_epoch_local_time"
+ c:identifier="gst_date_time_new_from_unix_epoch_local_time"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="secs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">seconds from the Unix epoch</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_unix_epoch_utc"
+ c:identifier="gst_date_time_new_from_unix_epoch_utc"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="secs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">seconds from the Unix epoch</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_local_time"
+ c:identifier="gst_date_time_new_local_time"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the local timezone.
+1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="month" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="day" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the day of the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="hour" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the hour of the day</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minute of the hour</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second of the minute</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_now_local_time"
+ c:identifier="gst_date_time_new_now_local_time"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a new #GstDateTime representing the current date and time.
+be freed with gst_date_time_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstDateTime which should</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_now_utc"
+ c:identifier="gst_date_time_new_now_utc"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a new #GstDateTime that represents the current instant at Universal
+coordinated time.
+be freed with gst_date_time_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstDateTime which should</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ </constructor>
+ <method name="get_day"
+ c:identifier="gst_date_time_get_day"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Returns the day of this #GstDateTime.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The day of this #GstDateTime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_hour"
+ c:identifier="gst_date_time_get_hour"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Retrieves the hour of the day represented by @datetime in the gregorian
+calendar. The return is in the range of 0 to 23.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the hour of the day</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_microsecond"
+ c:identifier="gst_date_time_get_microsecond"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Retrieves the fractional part of the seconds in microseconds represented by</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the microsecond of the second</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_minute"
+ c:identifier="gst_date_time_get_minute"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Retrieves the minute of the hour represented by @datetime in the gregorian
+calendar.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minute of the hour</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_month"
+ c:identifier="gst_date_time_get_month"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Returns the month of this #GstDateTime. January is 1, February is 2, etc..</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The month of this #GstDateTime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_second"
+ c:identifier="gst_date_time_get_second"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Retrieves the second of the minute represented by @datetime in the gregorian
+calendar.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second represented by @datetime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_time_zone_offset"
+ c:identifier="gst_date_time_get_time_zone_offset"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Retrieves the offset from UTC in hours that the timezone specified
+by @datetime represents. Timezones ahead (to the east) of UTC have positive
+values, timezones before (to the west) of UTC have negative values.
+If @datetime represents UTC time, then the offset is zero.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset from UTC in hours</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </return-value>
+ </method>
+ <method name="get_year"
+ c:identifier="gst_date_time_get_year"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Returns the year of this #GstDateTime</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The year of this #GstDateTime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="ref" c:identifier="gst_date_time_ref" version="0.10.31">
+ <doc xml:whitespace="preserve">Atomically increments the reference count of @datetime by one.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the reference @datetime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ </method>
+ <method name="unref"
+ c:identifier="gst_date_time_unref"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Atomically decrements the reference count of @datetime by one. When the
+reference count reaches zero, the structure is freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="DebugCategory" c:type="GstDebugCategory">
+ <doc xml:whitespace="preserve">This is the struct that describes the categories. Once initialized with
+#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore.</doc>
+ <field name="threshold" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="color" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <method name="free" c:identifier="gst_debug_category_free">
+ <doc xml:whitespace="preserve">Removes and frees the category and all associated resources.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_color" c:identifier="gst_debug_category_get_color">
+ <doc xml:whitespace="preserve">Returns the color of a debug category used when printing output in this
+category.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the color of the category.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_description"
+ c:identifier="gst_debug_category_get_description">
+ <doc xml:whitespace="preserve">Returns the description of a debug category.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description of the category.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_name" c:identifier="gst_debug_category_get_name">
+ <doc xml:whitespace="preserve">Returns the name of a debug category.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the category.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_threshold"
+ c:identifier="gst_debug_category_get_threshold">
+ <doc xml:whitespace="preserve">Returns the threshold of a #GstDebugCategory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstDebugLevel that is used as threshold.</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </return-value>
+ </method>
+ <method name="reset_threshold"
+ c:identifier="gst_debug_category_reset_threshold">
+ <doc xml:whitespace="preserve">Resets the threshold of the category to the default level. Debug information
+will only be output if the threshold is lower or equal to the level of the
+debugging message.
+Use this function to set the threshold back to where it was after using
+gst_debug_category_set_threshold().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_threshold"
+ c:identifier="gst_debug_category_set_threshold">
+ <doc xml:whitespace="preserve">Sets the threshold of the category to the given level. Debug information will
+only be output if the threshold is lower or equal to the level of the
+debugging message.
+<note><para>
+Do not use this function in production code, because other functions may
+change the threshold of categories as side effect. It is however a nice
+function to use when debugging (even from gdb).
+</para></note></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstDebugLevel threshold to set.</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="DebugColorFlags" c:type="GstDebugColorFlags">
+ <doc xml:whitespace="preserve">These are some terminal style flags you can use when creating your
+debugging categories to make them stand out in debugging output.</doc>
+ <member name="fg_black" value="0" c:identifier="GST_DEBUG_FG_BLACK"/>
+ <member name="fg_red" value="1" c:identifier="GST_DEBUG_FG_RED"/>
+ <member name="fg_green" value="2" c:identifier="GST_DEBUG_FG_GREEN"/>
+ <member name="fg_yellow" value="3" c:identifier="GST_DEBUG_FG_YELLOW"/>
+ <member name="fg_blue" value="4" c:identifier="GST_DEBUG_FG_BLUE"/>
+ <member name="fg_magenta" value="5" c:identifier="GST_DEBUG_FG_MAGENTA"/>
+ <member name="fg_cyan" value="6" c:identifier="GST_DEBUG_FG_CYAN"/>
+ <member name="fg_white" value="7" c:identifier="GST_DEBUG_FG_WHITE"/>
+ <member name="bg_black" value="0" c:identifier="GST_DEBUG_BG_BLACK"/>
+ <member name="bg_red" value="16" c:identifier="GST_DEBUG_BG_RED"/>
+ <member name="bg_green" value="32" c:identifier="GST_DEBUG_BG_GREEN"/>
+ <member name="bg_yellow" value="48" c:identifier="GST_DEBUG_BG_YELLOW"/>
+ <member name="bg_blue" value="64" c:identifier="GST_DEBUG_BG_BLUE"/>
+ <member name="bg_magenta"
+ value="80"
+ c:identifier="GST_DEBUG_BG_MAGENTA"/>
+ <member name="bg_cyan" value="96" c:identifier="GST_DEBUG_BG_CYAN"/>
+ <member name="bg_white" value="112" c:identifier="GST_DEBUG_BG_WHITE"/>
+ <member name="bold" value="256" c:identifier="GST_DEBUG_BOLD"/>
+ <member name="underline" value="512" c:identifier="GST_DEBUG_UNDERLINE"/>
+ </enumeration>
+ <callback name="DebugFuncPtr" c:type="GstDebugFuncPtr">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ <bitfield name="DebugGraphDetails"
+ version="0.10.15"
+ c:type="GstDebugGraphDetails">
+ <doc xml:whitespace="preserve">Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
+and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().</doc>
+ <member name="media_type"
+ value="1"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE"/>
+ <member name="caps_details"
+ value="2"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS"/>
+ <member name="non_default_params"
+ value="4"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS"/>
+ <member name="states"
+ value="8"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_STATES"/>
+ <member name="all" value="15" c:identifier="GST_DEBUG_GRAPH_SHOW_ALL"/>
+ </bitfield>
+ <enumeration name="DebugLevel" c:type="GstDebugLevel">
+ <doc xml:whitespace="preserve">The level defines the importance of a debugging message. The more important a
+message is, the greater the probability that the debugging system outputs it.</doc>
+ <member name="none" value="0" c:identifier="GST_LEVEL_NONE"/>
+ <member name="error" value="1" c:identifier="GST_LEVEL_ERROR"/>
+ <member name="warning" value="2" c:identifier="GST_LEVEL_WARNING"/>
+ <member name="info" value="3" c:identifier="GST_LEVEL_INFO"/>
+ <member name="debug" value="4" c:identifier="GST_LEVEL_DEBUG"/>
+ <member name="log" value="5" c:identifier="GST_LEVEL_LOG"/>
+ <member name="fixme" value="6" c:identifier="GST_LEVEL_FIXME"/>
+ <member name="trace" value="7" c:identifier="GST_LEVEL_TRACE"/>
+ <member name="memdump" value="9" c:identifier="GST_LEVEL_MEMDUMP"/>
+ <member name="count" value="10" c:identifier="GST_LEVEL_COUNT"/>
+ </enumeration>
+ <record name="DebugMessage" c:type="GstDebugMessage" disguised="1">
+ <method name="get" c:identifier="gst_debug_message_get">
+ <doc xml:whitespace="preserve">Gets the string representation of a #GstDebugMessage. This function is used
+in debug handlers to extract the message.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the string representation of a #GstDebugMessage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ </record>
+ <constant name="ELEMENT_FACTORY_KLASS_DECODER" value="Decoder">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_DEMUXER" value="Demuxer">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_DEPAYLOADER" value="Depayloader">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_ENCODER" value="Encoder">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_FORMATTER" value="Formatter">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_AUDIO" value="Audio">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_IMAGE" value="Image">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_METADATA" value="Metadata">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE" value="Subtitle">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_VIDEO" value="Video">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MUXER" value="Muxer">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_PARSER" value="Parser">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_PAYLOADER" value="Payloader">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_SINK" value="Sink">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_SRC" value="Source">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_ANY" value="-1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_AUDIO_ENCODER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DECODABLE" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DECODER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DEMUXER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DEPAYLOADER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_ENCODER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_FORMATTER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MAX_ELEMENTS" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_ANY" value="-65536">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_AUDIO" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_IMAGE" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_METADATA" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_VIDEO" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MUXER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_PARSER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_PAYLOADER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_SINK" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_SRC" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_VIDEO_ENCODER" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ERROR_SYSTEM" value="system error: %s">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="EVENT_TRACE_NAME" value="GstEvent">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="EVENT_TYPE_BOTH" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="EVENT_TYPE_SHIFT" value="4">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="Element"
+ c:symbol-prefix="element"
+ c:type="GstElement"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstElement"
+ glib:get-type="gst_element_get_type"
+ glib:type-struct="ElementClass">
+ <doc xml:whitespace="preserve">GStreamer element abstract base class.</doc>
+ <function name="make_from_uri" c:identifier="gst_element_make_from_uri">
+ <doc xml:whitespace="preserve">Creates an element for handling the given URI.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new element or NULL if none could be created</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether to create a source or a sink</doc>
+ <type name="URIType" c:type="GstURIType"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">URI to create an element for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="elementname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">Name of created element, can be NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register" c:identifier="gst_element_register">
+ <doc xml:whitespace="preserve">Create a new elementfactory capable of instantiating objects of the</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the registering succeeded, FALSE on error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">#GstPlugin to register the element with, or NULL for a static element (note that passing NULL only works in GStreamer 0.10.13 and later)</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of elements of this type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:whitespace="preserve">rank of element (higher rank means more importance when autoplugging)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GType of element to register</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="state_change_return_get_name"
+ c:identifier="gst_element_state_change_return_get_name"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Gets a string representing the given state change result.
+result.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string with the name of the state</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="state_ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstStateChangeReturn to get the name of.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="state_get_name"
+ c:identifier="gst_element_state_get_name">
+ <doc xml:whitespace="preserve">Gets a string representing the given state.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string with the name of the state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstState to get the name of.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="change_state" invoker="change_state">
+ <doc xml:whitespace="preserve">Perform @transition on @element.
+This function must be called with STATE_LOCK held and is mainly used
+internally.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstStateChangeReturn of the state transition.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested transition</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_index" invoker="get_index">
+ <doc xml:whitespace="preserve">Gets the index from the element.
+element. unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIndex or %NULL when no index was set on the</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_query_types" invoker="get_query_types">
+ <doc xml:whitespace="preserve">Get an array of query types from the element.
+If the element doesn't implement a query types function,
+the query will be forwarded to the peer of a random linked sink pad.
+be freed or modified.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">An array of #GstQueryType elements that should not</doc>
+ <type name="QueryType" c:type="GstQueryType*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_state" invoker="get_state">
+ <doc xml:whitespace="preserve">Gets the state of the element.
+For elements that performed an ASYNC state change, as reported by
+gst_element_set_state(), this function will block up to the
+specified timeout value for the state change to complete.
+If the element completes the state change or goes into
+an error, this function returns immediately with a return value of
+%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
+For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
+returns the current and pending state immediately.
+This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
+successfully changed its state but is not able to provide data yet.
+This mostly happens for live sources that only produce data in
+%GST_STATE_PLAYING. While the state change return is equivalent to
+%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
+some sink elements might not be able to complete their state change because
+an element is not producing data to complete the preroll. When setting the
+element to playing, the preroll will complete and playback will start.
+and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
+element is still performing a state change or
+%GST_STATE_CHANGE_FAILURE if the last state change failed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to #GstState to hold the state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to #GstState to hold the pending state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="provide_clock" invoker="provide_clock">
+ <doc xml:whitespace="preserve">Get the clock provided by the given element.
+<note>An element is only required to provide a clock in the PAUSED
+state. Some elements can provide a clock in other states.</note>
+if no clock could be provided. Unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the GstClock provided by the element or %NULL</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="query" invoker="query">
+ <doc xml:whitespace="preserve">Performs a query on the given element.
+For elements that don't implement a query handler, this function
+forwards the query to a random srcpad or to the peer of a
+random linked sinkpad of this element.
+Please note that some queries might need a running pipeline to work.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="release_pad">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="request_new_pad" introspectable="0">
+ <return-value>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="request_new_pad_full" introspectable="0">
+ <return-value>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="send_event" invoker="send_event">
+ <doc xml:whitespace="preserve">Sends an event to an element. If the element doesn't implement an
+event handler, the event will be pushed on a random linked sink pad for
+upstream events or a random linked source pad for downstream events.
+This function takes owership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEvent to send to the element.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_bus" invoker="set_bus">
+ <doc xml:whitespace="preserve">Sets the bus of the element. Increases the refcount on the bus.
+For internal use only, unless you're testing elements.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBus to set.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_clock" invoker="set_clock">
+ <doc xml:whitespace="preserve">Sets the clock for the element. This function increases the
+refcount on the clock. Any previously set clock on the object
+is unreffed.
+clock when it, for example, is not able to slave its internal clock to the
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the element accepted the clock. An element can refuse a</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstClock to set for the element.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_index" invoker="set_index">
+ <doc xml:whitespace="preserve">Set @index on the element. The refcount of the index
+will be increased, any previously set index is unreffed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstIndex.</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_state" invoker="set_state">
+ <doc xml:whitespace="preserve">Sets the state of the element. This function will try to set the
+requested state by going through all the intermediary states and calling
+the class's state change function for each.
+This function can return #GST_STATE_CHANGE_ASYNC, in which case the
+element will perform the remainder of the state change asynchronously in
+another thread.
+An application can use gst_element_get_state() to wait for the completion
+of the state change or it can wait for a state change message on the bus.
+State changes to %GST_STATE_READY or %GST_STATE_NULL never return
+#GST_STATE_CHANGE_ASYNC.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result of the state change using #GstStateChangeReturn.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element's new #GstState.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="abort_state" c:identifier="gst_element_abort_state">
+ <doc xml:whitespace="preserve">Abort the state change of the element. This function is used
+by elements that do asynchronous state changes and find out
+something is wrong.
+This function should be called with the STATE_LOCK held.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="add_pad" c:identifier="gst_element_add_pad">
+ <doc xml:whitespace="preserve">Adds a pad (link point) to @element. @pad's parent will be set to @element;
+see gst_object_set_parent() for refcounting information.
+Pads are not automatically activated so elements should perform the needed
+steps to activate the pad in case this pad is added in the PAUSED or PLAYING
+state. See gst_pad_set_active() for more information about activating pads.
+The pad and the element should be unlocked when calling this function.
+This function will emit the #GstElement::pad-added signal on the element.
+a pad with the same name already existed or the pad already had another
+parent.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the pad could be added. This function can fail when</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstPad to add to the element.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="change_state" c:identifier="gst_element_change_state">
+ <doc xml:whitespace="preserve">Perform @transition on @element.
+This function must be called with STATE_LOCK held and is mainly used
+internally.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstStateChangeReturn of the state transition.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested transition</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="continue_state" c:identifier="gst_element_continue_state">
+ <doc xml:whitespace="preserve">Commit the state change of the element and proceed to the next
+pending state if any. This function is used
+by elements that do asynchronous state changes.
+The core will normally call this method automatically when an
+element returned %GST_STATE_CHANGE_SUCCESS from the state change function.
+If after calling this method the element still has not reached
+the pending state, the next state change is performed.
+This method is used internally and should normally not be called by plugins
+or applications.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The result of the commit state change.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The previous state return value</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_all_pads"
+ c:identifier="gst_element_create_all_pads">
+ <doc xml:whitespace="preserve">Creates a pad for each pad template that is always available.
+This function is only useful during object intialization of
+subclasses of #GstElement.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="found_tags" c:identifier="gst_element_found_tags">
+ <doc xml:whitespace="preserve">Posts a message to the bus that new tags were found, and pushes an event
+to all sourcepads. Takes ownership of the @list.
+This is a utility method for elements. Applications should use the
+#GstTagSetter interface.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">list of tags.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="found_tags_for_pad"
+ c:identifier="gst_element_found_tags_for_pad">
+ <doc xml:whitespace="preserve">Posts a message to the bus that new tags were found and pushes the
+tags as event. Takes ownership of the @list.
+This is a utility method for elements. Applications should use the
+#GstTagSetter interface.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pad on which to push tag-event</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the taglist to post on the bus and create event from</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_base_time" c:identifier="gst_element_get_base_time">
+ <doc xml:whitespace="preserve">Returns the base time of the element. The base time is the
+absolute time of the clock when this element was last put to
+PLAYING. Subtracting the base time from the clock time gives
+the running time of the element.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the base time of the element.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_bus" c:identifier="gst_element_get_bus">
+ <doc xml:whitespace="preserve">Returns the bus of the element. Note that only a #GstPipeline will provide a
+bus for the application.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the element's #GstBus. unref after usage.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ </method>
+ <method name="get_clock" c:identifier="gst_element_get_clock">
+ <doc xml:whitespace="preserve">Gets the currently configured clock of the element. This is the clock as was
+last set with gst_element_set_clock().
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstClock of the element. unref after usage.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </method>
+ <method name="get_compatible_pad"
+ c:identifier="gst_element_get_compatible_pad">
+ <doc xml:whitespace="preserve">Looks for an unlinked pad to which the given pad can link. It is not
+guaranteed that linking the pads will work, though it should work in most
+cases.
+This function will first attempt to find a compatible unlinked ALWAYS pad,
+and if none can be found, it will request a compatible REQUEST pad by looking
+at the templates of @element.
+if one cannot be found. gst_object_unref() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstPad to which a link can be made, or %NULL</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to find a compatible one for.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to use as a filter.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_compatible_pad_template"
+ c:identifier="gst_element_get_compatible_pad_template">
+ <doc xml:whitespace="preserve">Retrieves a pad template from @element that is compatible with @compattempl.
+Pads from compatible templates can be linked together.
+was found. No unreferencing is necessary.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a compatible #GstPadTemplate, or NULL if none</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="compattempl" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadTemplate to find a compatible template for</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_factory" c:identifier="gst_element_get_factory">
+ <doc xml:whitespace="preserve">Retrieves the factory that was used to create this element.
+element. no refcounting is needed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElementFactory used for creating this</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </return-value>
+ </method>
+ <method name="get_index" c:identifier="gst_element_get_index">
+ <doc xml:whitespace="preserve">Gets the index from the element.
+element. unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIndex or %NULL when no index was set on the</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </return-value>
+ </method>
+ <method name="get_pad"
+ c:identifier="gst_element_get_pad"
+ deprecated="This function is deprecated as it's unclear if the reference">
+ <doc xml:whitespace="preserve">Retrieves a pad from @element by name. Tries gst_element_get_static_pad()
+first, then gst_element_get_request_pad().
+to the result pad should be released with gst_object_unref() in case of a static pad
+or gst_element_release_request_pad() in case of a request pad.
+Use gst_element_get_static_pad() or gst_element_get_request_pad() instead.
+depending on the type of the pad.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstPad if found, otherwise %NULL. Unref or Release after usage,</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the pad to retrieve.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_query_types"
+ c:identifier="gst_element_get_query_types">
+ <doc xml:whitespace="preserve">Get an array of query types from the element.
+If the element doesn't implement a query types function,
+the query will be forwarded to the peer of a random linked sink pad.
+be freed or modified.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">An array of #GstQueryType elements that should not</doc>
+ <type name="QueryType" c:type="GstQueryType*"/>
+ </return-value>
+ </method>
+ <method name="get_request_pad"
+ c:identifier="gst_element_get_request_pad">
+ <doc xml:whitespace="preserve">Retrieves a pad from the element by name. This version only retrieves
+request pads. The pad should be released with
+gst_element_release_request_pad().
+This method is slow and will be deprecated in the future. New code should
+use gst_element_request_pad() with the requested template.
+Release after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">requested #GstPad if found, otherwise %NULL.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the request #GstPad to retrieve.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_start_time"
+ c:identifier="gst_element_get_start_time"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns the start time of the element. The start time is the
+running time of the clock when this element was last put to PAUSED.
+Usually the start_time is managed by a toplevel element such as
+#GstPipeline.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start time of the element.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_state" c:identifier="gst_element_get_state">
+ <doc xml:whitespace="preserve">Gets the state of the element.
+For elements that performed an ASYNC state change, as reported by
+gst_element_set_state(), this function will block up to the
+specified timeout value for the state change to complete.
+If the element completes the state change or goes into
+an error, this function returns immediately with a return value of
+%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
+For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
+returns the current and pending state immediately.
+This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
+successfully changed its state but is not able to provide data yet.
+This mostly happens for live sources that only produce data in
+%GST_STATE_PLAYING. While the state change return is equivalent to
+%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
+some sink elements might not be able to complete their state change because
+an element is not producing data to complete the preroll. When setting the
+element to playing, the preroll will complete and playback will start.
+and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
+element is still performing a state change or
+%GST_STATE_CHANGE_FAILURE if the last state change failed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to #GstState to hold the state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to #GstState to hold the pending state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_static_pad" c:identifier="gst_element_get_static_pad">
+ <doc xml:whitespace="preserve">Retrieves a pad from @element by name. This version only retrieves
+already-existing (i.e. 'static') pads.
+unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the requested #GstPad if found, otherwise %NULL.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the static #GstPad to retrieve.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="implements_interface"
+ c:identifier="gst_element_implements_interface">
+ <doc xml:whitespace="preserve">Test whether the given element implements a certain interface of type
+iface_type, and test whether it is supported for this specific instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether or not the element implements the interface.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iface_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">(final) type of the interface which we want to be implemented</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_indexable" c:identifier="gst_element_is_indexable">
+ <doc xml:whitespace="preserve">Queries if the element can be indexed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the element can be indexed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_locked_state"
+ c:identifier="gst_element_is_locked_state">
+ <doc xml:whitespace="preserve">Checks if the state of an element is locked.
+If the state of an element is locked, state changes of the parent don't
+affect the element.
+This way you can leave currently unused elements inside bins. Just lock their
+state before changing the state from #GST_STATE_NULL.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the element's state is locked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="iterate_pads"
+ c:identifier="gst_element_iterate_pads"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Retrieves an iterattor of @element's pads. The iterator should
+be freed after usage.
+after use.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstIterator of #GstPad. Unref each pad</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_sink_pads"
+ c:identifier="gst_element_iterate_sink_pads"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Retrieves an iterator of @element's sink pads.
+after use.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstIterator of #GstPad. Unref each pad</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_src_pads"
+ c:identifier="gst_element_iterate_src_pads"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Retrieves an iterator of @element's source pads.
+after use.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstIterator of #GstPad. Unref each pad</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="link" c:identifier="gst_element_link">
+ <doc xml:whitespace="preserve">Links @src to @dest. The link must be from source to
+destination; the other direction will not be tried. The function looks for
+existing pads that aren't linked yet. It will request new pads if necessary.
+Such pads need to be released manualy when unlinking.
+If multiple links are possible, only one is established.
+Make sure you have added your elements to a bin or pipeline with
+gst_bin_add() before trying to link them.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the elements could be linked, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_filtered" c:identifier="gst_element_link_filtered">
+ <doc xml:whitespace="preserve">Links @src to @dest using the given caps as filtercaps.
+The link must be from source to
+destination; the other direction will not be tried. The function looks for
+existing pads that aren't linked yet. It will request new pads if necessary.
+If multiple links are possible, only one is established.
+Make sure you have added your elements to a bin or pipeline with
+gst_bin_add() before trying to link them.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pads could be linked, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the #GstCaps to filter the link, or #NULL for no filter.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_many"
+ c:identifier="gst_element_link_many"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Chain together a series of elements. Uses gst_element_link().
+Make sure you have added your elements to a bin or pipeline with
+gst_bin_add() before trying to link them.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element_2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second #GstElement in the link chain.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_pads" c:identifier="gst_element_link_pads">
+ <doc xml:whitespace="preserve">Links the two named pads of the source and destination elements.
+Side effect is that if one of the pads has no parent, it becomes a
+child of the parent of the other element. If they have different
+parents, the link fails.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pads could be linked, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="srcpadname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the name of the #GstPad in source element or NULL for any pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the name of the #GstPad in destination element, or NULL for any pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_pads_filtered"
+ c:identifier="gst_element_link_pads_filtered">
+ <doc xml:whitespace="preserve">Links the two named pads of the source and destination elements. Side effect
+is that if one of the pads has no parent, it becomes a child of the parent of
+the other element. If they have different parents, the link fails. If @caps
+is not #NULL, makes sure that the caps of the link is a subset of @caps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pads could be linked, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="srcpadname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the name of the #GstPad in source element or NULL for any pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the name of the #GstPad in destination element or NULL for any pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the #GstCaps to filter the link, or #NULL for no filter.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_pads_full"
+ c:identifier="gst_element_link_pads_full"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Links the two named pads of the source and destination elements.
+Side effect is that if one of the pads has no parent, it becomes a
+child of the parent of the other element. If they have different
+parents, the link fails.
+Calling gst_element_link_pads_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT
+is the same as calling gst_element_link_pads() and the recommended way of
+linking pads with safety checks applied.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pads could be linked, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="srcpadname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the name of the #GstPad in source element or NULL for any pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the name of the #GstPad in destination element, or NULL for any pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadLinkCheck to be performed when linking pads.</doc>
+ <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lost_state" c:identifier="gst_element_lost_state">
+ <doc xml:whitespace="preserve">Brings the element to the lost state. This function calls
+gst_element_lost_state_full() with the new_base_time set to %TRUE.
+This function is used internally and should normally not be called from
+plugins or applications.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="lost_state_full"
+ c:identifier="gst_element_lost_state_full"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Brings the element to the lost state. The current state of the
+element is copied to the pending state so that any call to
+gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC.
+An ASYNC_START message is posted with indication to distribute a new
+base_time to the element when @new_base_time is %TRUE.
+If the element was PLAYING, it will go to PAUSED. The element
+will be restored to its PLAYING state by the parent pipeline when it
+prerolls again.
+This is mostly used for elements that lost their preroll buffer
+in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush,
+they will go to their pending state again when a new preroll buffer is
+queued. This function can only be called when the element is currently
+not in error or an async state change.
+This function is used internally and should normally not be called from
+plugins or applications.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_base_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if a new base time should be distributed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="message_full" c:identifier="gst_element_message_full">
+ <doc xml:whitespace="preserve">Post an error, warning or info message on the bus from inside an element.
+#GST_MESSAGE_INFO.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMessageType</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GStreamer GError domain this message belongs to</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GError code belonging to the domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="text" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">an allocated text string to be used as a replacement for the default message connected to code, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="full" allow-none="1">
+ <doc xml:whitespace="preserve">an allocated debug message to be used as a replacement for the default debugging information, or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source code file where the error was generated</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source code function where the error was generated</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source code line where the error was generated</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="no_more_pads" c:identifier="gst_element_no_more_pads">
+ <doc xml:whitespace="preserve">Use this function to signal that the element does not expect any more pads
+to show up in the current pipeline. This function should be called whenever
+pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES
+pad templates use this in combination with autopluggers to figure out that
+the element is done initializing its pads.
+This function emits the #GstElement::no-more-pads signal.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="post_message" c:identifier="gst_element_post_message">
+ <doc xml:whitespace="preserve">Post a message on the element's #GstBus. This function takes ownership of the
+message; if you want to access the message after this call, you should add an
+additional reference before calling.
+%FALSE if the element did not have a bus.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the message was successfully posted. The function returns</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstMessage to post</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="provide_clock" c:identifier="gst_element_provide_clock">
+ <doc xml:whitespace="preserve">Get the clock provided by the given element.
+<note>An element is only required to provide a clock in the PAUSED
+state. Some elements can provide a clock in other states.</note>
+if no clock could be provided. Unref after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the GstClock provided by the element or %NULL</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </method>
+ <method name="provides_clock" c:identifier="gst_element_provides_clock">
+ <doc xml:whitespace="preserve">Query if the element provides a clock. A #GstClock provided by an
+element can be used as the global #GstClock for the pipeline.
+An element that can provide a clock is only required to do so in the PAUSED
+state, this means when it is fully negotiated and has allocated the resources
+to operate the clock.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the element provides a clock</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="query" c:identifier="gst_element_query">
+ <doc xml:whitespace="preserve">Performs a query on the given element.
+For elements that don't implement a query handler, this function
+forwards the query to a random srcpad or to the peer of a
+random linked sinkpad of this element.
+Please note that some queries might need a running pipeline to work.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_convert" c:identifier="gst_element_query_convert">
+ <doc xml:whitespace="preserve">Queries an element to convert @src_val in @src_format to @dest_format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstFormat to convert from.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to convert.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat to convert to.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_duration" c:identifier="gst_element_query_duration">
+ <doc xml:whitespace="preserve">Queries an element for the total stream duration.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat asked for. On return contains the #GstFormat used.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A location in which to store the total duration, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_position" c:identifier="gst_element_query_position">
+ <doc xml:whitespace="preserve">Queries an element for the stream position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat asked for. On return contains the #GstFormat used.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a location in which to store the current position, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="release_request_pad"
+ c:identifier="gst_element_release_request_pad">
+ <doc xml:whitespace="preserve">Makes the element free the previously requested pad as obtained
+with gst_element_get_request_pad().
+This does not unref the pad. If the pad was created by using
+gst_element_get_request_pad(), gst_element_release_request_pad() needs to be
+followed by gst_object_unref() to free the @pad.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to release.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_pad" c:identifier="gst_element_remove_pad">
+ <doc xml:whitespace="preserve">Removes @pad from @element. @pad will be destroyed if it has not been
+referenced elsewhere using gst_object_unparent().
+This function is used by plugin developers and should not be used
+by applications. Pads that were dynamically requested from elements
+with gst_element_get_request_pad() should be released with the
+gst_element_release_request_pad() function instead.
+Pads are not automatically deactivated so elements should perform the needed
+steps to deactivate the pad in case this pad is removed in the PAUSED or
+PLAYING state. See gst_pad_set_active() for more information about
+deactivating pads.
+The pad and the element should be unlocked when calling this function.
+This function will emit the #GstElement::pad-removed signal on the element.
+pad does not belong to the provided element.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the pad could be removed. Can return %FALSE if the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to remove from the element.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="request_pad"
+ c:identifier="gst_element_request_pad"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Retrieves a request pad from the element according to the provided template.
+If the @caps are specified and the element implements thew new
+request_new_pad_full virtual method, the element will use them to select
+which pad to create.
+The pad should be released with gst_element_release_request_pad().
+Release after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">requested #GstPad if found, otherwise %NULL.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPadTemplate of which we want a pad of.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the request #GstPad to retrieve. Can be %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the caps of the pad we want to request. Can be %NULL.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="requires_clock" c:identifier="gst_element_requires_clock">
+ <doc xml:whitespace="preserve">Query if the element requires a clock.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the element requires a clock</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="seek" c:identifier="gst_element_seek">
+ <doc xml:whitespace="preserve">Sends a seek event to an element. See gst_event_new_seek() for the details of
+the parameters. The seek event is sent to the element using
+gst_element_send_event().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new playback rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the seek values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The optional seek flags.</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="cur_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type and flags for the new current position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="cur" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The value of the new current position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type and flags for the new stop position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The value of the new stop position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="seek_simple" c:identifier="gst_element_seek_simple">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="seek_flags" transfer-ownership="none">
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="seek_pos" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_event" c:identifier="gst_element_send_event">
+ <doc xml:whitespace="preserve">Sends an event to an element. If the element doesn't implement an
+event handler, the event will be pushed on a random linked sink pad for
+upstream events or a random linked source pad for downstream events.
+This function takes owership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEvent to send to the element.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_base_time" c:identifier="gst_element_set_base_time">
+ <doc xml:whitespace="preserve">Set the base time of an element. See gst_element_get_base_time().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the base time to set.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_bus" c:identifier="gst_element_set_bus">
+ <doc xml:whitespace="preserve">Sets the bus of the element. Increases the refcount on the bus.
+For internal use only, unless you're testing elements.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBus to set.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clock" c:identifier="gst_element_set_clock">
+ <doc xml:whitespace="preserve">Sets the clock for the element. This function increases the
+refcount on the clock. Any previously set clock on the object
+is unreffed.
+clock when it, for example, is not able to slave its internal clock to the
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the element accepted the clock. An element can refuse a</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstClock to set for the element.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_index" c:identifier="gst_element_set_index">
+ <doc xml:whitespace="preserve">Set @index on the element. The refcount of the index
+will be increased, any previously set index is unreffed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstIndex.</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_locked_state"
+ c:identifier="gst_element_set_locked_state">
+ <doc xml:whitespace="preserve">Locks the state of an element, so state changes of the parent don't affect
+this element anymore.
+MT safe.
+or the elements state-locking needed no change.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the state was changed, FALSE if bad parameters were given</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="locked_state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE to lock the element's state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_start_time"
+ c:identifier="gst_element_set_start_time"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set the start time of an element. The start time of the element is the
+running time of the element when it last went to the PAUSED state. In READY
+or after a flushing seek, it is set to 0.
+Toplevel elements like #GstPipeline will manage the start_time and
+base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE
+on such a toplevel element will disable the distribution of the base_time to
+the children and can be useful if the application manages the base_time
+itself, for example if you want to synchronize capture from multiple
+pipelines, and you can also ensure that the pipelines have the same clock.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the base time to set.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_state" c:identifier="gst_element_set_state">
+ <doc xml:whitespace="preserve">Sets the state of the element. This function will try to set the
+requested state by going through all the intermediary states and calling
+the class's state change function for each.
+This function can return #GST_STATE_CHANGE_ASYNC, in which case the
+element will perform the remainder of the state change asynchronously in
+another thread.
+An application can use gst_element_get_state() to wait for the completion
+of the state change or it can wait for a state change message on the bus.
+State changes to %GST_STATE_READY or %GST_STATE_NULL never return
+#GST_STATE_CHANGE_ASYNC.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result of the state change using #GstStateChangeReturn.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element's new #GstState.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sync_state_with_parent"
+ c:identifier="gst_element_sync_state_with_parent">
+ <doc xml:whitespace="preserve">Tries to change the state of the element to the same as its parent.
+If this function returns FALSE, the state of element is undefined.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the element's state could be synced to the parent's state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="unlink" c:identifier="gst_element_unlink">
+ <doc xml:whitespace="preserve">Unlinks all source pads of the source element with all sink pads
+of the sink element to which they are linked.
+If the link has been made using gst_element_link(), it could have created an
+requestpad, which has to be released using gst_element_release_request_pad().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstElement to unlink.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unlink_many"
+ c:identifier="gst_element_unlink_many"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Unlinks a series of elements. Uses gst_element_unlink().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element_2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second #GstElement in the link chain.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unlink_pads" c:identifier="gst_element_unlink_pads">
+ <doc xml:whitespace="preserve">Unlinks the two named pads of the source and destination elements.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="srcpadname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the #GstPad in source element.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the #GstPad in destination element.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="state_lock">
+ <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
+ </field>
+ <field name="state_cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="state_cookie">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="current_state">
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="next_state">
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="pending_state">
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="last_return">
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </field>
+ <field name="bus">
+ <type name="Bus" c:type="GstBus*"/>
+ </field>
+ <field name="clock">
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="base_time">
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </field>
+ <field name="numpads">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="pads">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="numsrcpads">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="srcpads">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="numsinkpads">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="sinkpads">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="pads_cookie">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="target_state" writable="1">
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="start_time" writable="1">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <glib:signal name="no-more-pads">
+ <doc xml:whitespace="preserve">This signals that the element will not generate more dynamic pads.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pad-added">
+ <doc xml:whitespace="preserve">a new #GstPad has been added to the element.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad that has been added</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="pad-removed">
+ <doc xml:whitespace="preserve">a #GstPad has been removed from the element</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad that has been removed</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ElementClass"
+ c:type="GstElementClass"
+ glib:is-gtype-struct-for="Element">
+ <doc xml:whitespace="preserve">GStreamer element class. Override the vmethods to implement the element
+functionality.</doc>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="details">
+ <type name="ElementDetails" c:type="GstElementDetails"/>
+ </field>
+ <field name="elementfactory">
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </field>
+ <field name="padtemplates">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="numpadtemplates">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="pad_templ_cookie">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="pad_added">
+ <callback name="pad_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pad_removed">
+ <callback name="pad_removed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="no_more_pads">
+ <callback name="no_more_pads">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="request_new_pad" introspectable="0">
+ <callback name="request_new_pad" introspectable="0">
+ <return-value>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="release_pad">
+ <callback name="release_pad">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_state">
+ <callback name="get_state">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to #GstState to hold the state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to #GstState to hold the pending state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_state">
+ <callback name="set_state">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result of the state change using #GstStateChangeReturn.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element's new #GstState.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="change_state">
+ <callback name="change_state">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstStateChangeReturn of the state transition.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested transition</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_bus">
+ <callback name="set_bus">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBus to set.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="provide_clock">
+ <callback name="provide_clock">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the GstClock provided by the element or %NULL</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_clock">
+ <callback name="set_clock">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the element accepted the clock. An element can refuse a</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstClock to set for the element.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_index">
+ <callback name="get_index">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIndex or %NULL when no index was set on the</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_index">
+ <callback name="set_index">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstIndex.</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="send_event">
+ <callback name="send_event">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEvent to send to the element.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_query_types">
+ <callback name="get_query_types">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">An array of #GstQueryType elements that should not</doc>
+ <type name="QueryType" c:type="GstQueryType*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="meta_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="request_new_pad_full" introspectable="0">
+ <callback name="request_new_pad_full" introspectable="0">
+ <return-value>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_pad_template"
+ c:identifier="gst_element_class_add_pad_template">
+ <doc xml:whitespace="preserve">Adds a padtemplate to an element class. This is mainly used in the _base_init
+functions of classes.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPadTemplate to add to the element class.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template"
+ c:identifier="gst_element_class_get_pad_template">
+ <doc xml:whitespace="preserve">Retrieves a padtemplate from @element_class with the given name.
+<note>If you use this function in the #GInstanceInitFunc of an object class
+that has subclasses, make sure to pass the g_class parameter of the
+#GInstanceInitFunc here.</note>
+if none was found. No unreferencing is necessary.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadTemplate with the given name, or %NULL</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the #GstPadTemplate to get.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template_list"
+ c:identifier="gst_element_class_get_pad_template_list">
+ <doc xml:whitespace="preserve">Retrieves a list of the pad templates associated with @element_class. The
+list must not be modified by the calling code.
+<note>If you use this function in the #GInstanceInitFunc of an object class
+that has subclasses, make sure to pass the g_class parameter of the
+#GInstanceInitFunc here.</note>
+pad templates.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PadTemplate"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="install_std_props"
+ c:identifier="gst_element_class_install_std_props"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a list of standardized properties with types to the @klass.
+the id is for the property switch in your get_prop method, and
+the flags determine readability / writeability.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the first property. in a NULL terminated</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_details"
+ c:identifier="gst_element_class_set_details"
+ deprecated="Use gst_element_class_set_details_simple() instead.">
+ <doc xml:whitespace="preserve">Sets the detailed information for a #GstElementClass.
+<note>This function is for use in _base_init functions only.</note>
+The @details are copied.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:whitespace="preserve">details to set</doc>
+ <type name="ElementDetails" c:type="GstElementDetails*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_details_simple"
+ c:identifier="gst_element_class_set_details_simple"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Sets the detailed information for a #GstElementClass. Simpler version of
+gst_element_class_set_details() that generates less linker overhead.
+<note>This function is for use in _base_init functions only.</note>
+The detail parameter strings are copied into the #GstElementDetails for
+the element class.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="longname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The long English name of the element. E.g. "File Sink"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="classification" transfer-ownership="none">
+ <doc xml:whitespace="preserve">String describing the type of element, as an unordered list separated with slashes ('/'). See draft-klass.txt of the design docs for more details and common types. E.g: "Sink/File"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Sentence describing the purpose of the element. E.g: "Write stream to a file"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="author" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Name and contact details of the author(s). Use \n to separate multiple author details. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_documentation_uri"
+ c:identifier="gst_element_class_set_documentation_uri"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Set uri pointing to user documentation. Applications can use this to show
+help for e.g. effects to users.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">uri of element documentation</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_icon_name"
+ c:identifier="gst_element_class_set_icon_name"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Elements that bridge to certain other products can include an icon of that
+used product. Application can show the icon in menus/selectors to help
+identifying specific elements.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of an icon</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="ElementDetails" c:type="GstElementDetails">
+ <doc xml:whitespace="preserve">This struct defines the public information about a #GstElement. It contains
+meta-data about the element that is mostly for the benefit of editors.
+The @klass member can be used by applications to filter elements based
+on functionality.</doc>
+ <field name="longname" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="klass" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="author" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="ElementFactory"
+ c:symbol-prefix="element_factory"
+ c:type="GstElementFactory"
+ parent="PluginFeature"
+ glib:type-name="GstElementFactory"
+ glib:get-type="gst_element_factory_get_type"
+ glib:type-struct="ElementFactoryClass">
+ <doc xml:whitespace="preserve">The opaque #GstElementFactory data structure.</doc>
+ <function name="find" c:identifier="gst_element_factory_find">
+ <doc xml:whitespace="preserve">Search for an element factory of the given name. Refs the returned
+element factory; caller is responsible for unreffing.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">#GstElementFactory if found, NULL otherwise</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of factory to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_filter"
+ c:identifier="gst_element_factory_list_filter"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Filter out all the elementfactories in @list that can handle @caps in
+the given direction.
+If @subsetonly is %TRUE, then only the elements whose pads templates
+are a complete superset of @caps will be returned. Else any element
+whose pad templates caps can intersect with @caps will be returned.
+#GstElementFactory elements that match the given requisits.
+Use #gst_plugin_feature_list_free after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ElementFactory"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GList of #GstElementFactory to filter</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ElementFactory"/>
+ </type>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPadDirection to filter on</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="subsetonly" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to filter on caps subsets or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_get_elements"
+ c:identifier="gst_element_factory_list_get_elements"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Get a list of factories that match the given @type. Only elements
+with a rank greater or equal to @minrank will be returned.
+The list of factories is returned by decreasing rank.
+#GstElementFactory elements. Use gst_plugin_feature_list_free() after
+usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ElementFactory"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstElementFactoryListType</doc>
+ <type name="ElementFactoryListType"
+ c:type="GstElementFactoryListType"/>
+ </parameter>
+ <parameter name="minrank" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Minimum rank</doc>
+ <type name="Rank" c:type="GstRank"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="make" c:identifier="gst_element_factory_make">
+ <doc xml:whitespace="preserve">Create a new element of the type defined by the given element factory.
+If name is NULL, then the element will receive a guaranteed unique name,
+consisting of the element factory name and a number.
+If name is given, it will be given the name supplied.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">new #GstElement or NULL if unable to create element</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factoryname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a named factory to instantiate</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">name of new element</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="can_sink_caps"
+ c:identifier="gst_element_factory_can_sink_caps">
+ <doc xml:whitespace="preserve">Checks if the factory can sink the given capability.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">true if it can sink the capabilities</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the caps to check</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_src_caps"
+ c:identifier="gst_element_factory_can_src_caps">
+ <doc xml:whitespace="preserve">Checks if the factory can source the given capability.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">true if it can src the capabilities</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the caps to check</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create" c:identifier="gst_element_factory_create">
+ <doc xml:whitespace="preserve">Create a new element of the type defined by the given elementfactory.
+It will be given the name supplied, since all elements require a name as
+their first argument.
+be created</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">new #GstElement or NULL if the element couldn't</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new element</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_author" c:identifier="gst_element_factory_get_author">
+ <doc xml:whitespace="preserve">Gets the author for this factory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the author</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_description"
+ c:identifier="gst_element_factory_get_description">
+ <doc xml:whitespace="preserve">Gets the description for this factory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_documentation_uri"
+ c:identifier="gst_element_factory_get_documentation_uri"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Gets icon name for this factory if set.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the icon name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_element_type"
+ c:identifier="gst_element_factory_get_element_type">
+ <doc xml:whitespace="preserve">Get the #GType for elements managed by this factory. The type can
+only be retrieved if the element factory is loaded, which can be
+assured with gst_plugin_feature_load().
+the factory is not loaded.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType for elements managed by this factory or 0 if</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </method>
+ <method name="get_icon_name"
+ c:identifier="gst_element_factory_get_icon_name">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_klass" c:identifier="gst_element_factory_get_klass">
+ <doc xml:whitespace="preserve">Gets the class for this factory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the class</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_longname"
+ c:identifier="gst_element_factory_get_longname">
+ <doc xml:whitespace="preserve">Gets the longname for this factory</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the longname</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_num_pad_templates"
+ c:identifier="gst_element_factory_get_num_pad_templates">
+ <doc xml:whitespace="preserve">Gets the number of pad_templates in this factory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of pad_templates</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_static_pad_templates"
+ c:identifier="gst_element_factory_get_static_pad_templates">
+ <doc xml:whitespace="preserve">Gets the #GList of #GstStaticPadTemplate for this factory.
+static pad templates</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="StaticPadTemplate"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_uri_protocols"
+ c:identifier="gst_element_factory_get_uri_protocols">
+ <doc xml:whitespace="preserve">Gets a NULL-terminated array of protocols this element supports or NULL if
+no protocols are supported. You may not change the contents of the returned
+array, as it is still owned by the element factory. Use g_strdupv() to
+make a copy of the protocol string array if you need to.
+or NULL</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the supported protocols</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_uri_type"
+ c:identifier="gst_element_factory_get_uri_type">
+ <doc xml:whitespace="preserve">Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of URIs this element supports</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="has_interface"
+ c:identifier="gst_element_factory_has_interface"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Check if @factory implements the interface with name @interfacename.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE when @factory implement the interface.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="interfacename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an interface name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_is_type"
+ c:identifier="gst_element_factory_list_is_type"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Check if @factory if of the given types.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @factory is of @type.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstElementFactoryListType</doc>
+ <type name="ElementFactoryListType"
+ c:type="GstElementFactoryListType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="PluginFeature" c:type="GstPluginFeature"/>
+ </field>
+ <field name="type">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="details">
+ <type name="ElementDetails" c:type="GstElementDetails"/>
+ </field>
+ <field name="staticpadtemplates">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="numpadtemplates">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="uri_type">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="uri_protocols">
+ <type name="utf8" c:type="gchar**"/>
+ </field>
+ <field name="interfaces">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="meta_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ElementFactoryClass"
+ c:type="GstElementFactoryClass"
+ glib:is-gtype-struct-for="ElementFactory">
+ <field name="parent_class">
+ <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="ElementFlags" c:type="GstElementFlags">
+ <doc xml:whitespace="preserve">The standard flags that an element may have.</doc>
+ <member name="locked_state"
+ value="16"
+ c:identifier="GST_ELEMENT_LOCKED_STATE"/>
+ <member name="is_sink" value="32" c:identifier="GST_ELEMENT_IS_SINK"/>
+ <member name="unparenting"
+ value="64"
+ c:identifier="GST_ELEMENT_UNPARENTING"/>
+ <member name="is_source"
+ value="128"
+ c:identifier="GST_ELEMENT_IS_SOURCE"/>
+ <member name="flag_last"
+ value="1048576"
+ c:identifier="GST_ELEMENT_FLAG_LAST"/>
+ </bitfield>
+ <class name="Event"
+ c:symbol-prefix="event"
+ c:type="GstEvent"
+ parent="MiniObject"
+ glib:type-name="GstEvent"
+ glib:get-type="gst_event_get_type"
+ glib:type-struct="EventClass"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">A #GstEvent.</doc>
+ <constructor name="new_buffer_size"
+ c:identifier="gst_event_new_buffer_size">
+ <doc xml:whitespace="preserve">Create a new buffersize event. The event is sent downstream and notifies
+elements that they should provide a buffer of the specified dimensions.
+When the @async flag is set, a thread boundary is prefered.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer format</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="minsize" transfer-ownership="none">
+ <doc xml:whitespace="preserve">minimum buffer size</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:whitespace="preserve">maximum buffer size</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="async" transfer-ownership="none">
+ <doc xml:whitespace="preserve">thread behavior</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_custom" c:identifier="gst_event_new_custom">
+ <doc xml:whitespace="preserve">Create a new custom-typed event. This can be used for anything not
+handled by other event-specific functions to pass an event to another
+element.
+Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro,
+assigning a free number and filling in the correct direction and
+serialization flags.
+New custom events can also be created by subclassing the event type if
+needed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new custom event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type of the new event</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the structure for the event. The event will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_eos" c:identifier="gst_event_new_eos">
+ <doc xml:whitespace="preserve">Create a new EOS event. The eos event can only travel downstream
+synchronized with the buffer flow. Elements that receive the EOS
+event on a pad can return #GST_FLOW_UNEXPECTED as a #GstFlowReturn
+when data after the EOS event arrives.
+The EOS event will travel down to the sink elements in the pipeline
+which will then post the #GST_MESSAGE_EOS on the bus after they have
+finished playing any buffered data.
+When all sinks have posted an EOS message, an EOS message is
+forwarded to the application.
+The EOS event itself will not cause any state transitions of the pipeline.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new EOS event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_flush_start"
+ c:identifier="gst_event_new_flush_start">
+ <doc xml:whitespace="preserve">Allocate a new flush start event. The flush start event can be sent
+upstream and downstream and travels out-of-bounds with the dataflow.
+It marks pads as being flushing and will make them return
+#GST_FLOW_WRONG_STATE when used for data flow with gst_pad_push(),
+gst_pad_chain(), gst_pad_alloc_buffer(), gst_pad_get_range() and
+gst_pad_pull_range(). Any event (except a #GST_EVENT_FLUSH_STOP) received
+on a flushing pad will return %FALSE immediately.
+Elements should unlock any blocking functions and exit their streaming
+functions as fast as possible when this event is received.
+This event is typically generated after a seek to flush out all queued data
+in the pipeline so that the new media is played as soon as possible.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new flush start event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_flush_stop"
+ c:identifier="gst_event_new_flush_stop">
+ <doc xml:whitespace="preserve">Allocate a new flush stop event. The flush stop event can be sent
+upstream and downstream and travels serialized with the dataflow.
+It is typically sent after sending a FLUSH_START event to make the
+pads accept data again.
+Elements can process this event synchronized with the dataflow since
+the preceeding FLUSH_START event stopped the dataflow.
+This event is typically generated to complete a seek and to resume
+dataflow.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new flush stop event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_latency"
+ c:identifier="gst_event_new_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Create a new latency event. The event is sent upstream from the sinks and
+notifies elements that they should add an additional @latency to the
+running time before synchronising against the clock.
+The latency is mostly used in live sinks and is always expressed in
+the time format.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="latency" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new latency value</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_navigation"
+ c:identifier="gst_event_new_navigation">
+ <doc xml:whitespace="preserve">Create a new navigation event from the given description.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">description of the event. The event will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_new_segment"
+ c:identifier="gst_event_new_new_segment">
+ <doc xml:whitespace="preserve">Allocate a new newsegment event with the given format/values tripplets
+This method calls gst_event_new_new_segment_full() passing a default
+value of 1.0 for applied_rate</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new newsegment event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="update" transfer-ownership="none">
+ <doc xml:whitespace="preserve">is this segment an update to a previous one</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new rate for playback</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the segment values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start value of the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stop value of the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">stream position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_new_segment_full"
+ c:identifier="gst_event_new_new_segment_full"
+ version="0.10.6">
+ <doc xml:whitespace="preserve">Allocate a new newsegment event with the given format/values triplets.
+The newsegment event marks the range of buffers to be processed. All
+data not within the segment range is not to be processed. This can be
+used intelligently by plugins to apply more efficient methods of skipping
+unneeded data. The valid range is expressed with the @start and @stop
+values.
+The position value of the segment is used in conjunction with the start
+value to convert the buffer timestamps into the stream time. This is
+usually done in sinks to report the current stream_time.
+is a valid @stop given, it must be greater or equal the @start, including
+when the indicated playback @rate is < 0.
+The @applied_rate value provides information about any rate adjustment that
+has already been made to the timestamps and content on the buffers of the
+stream. (@rate * @applied_rate) should always equal the rate that has been
+requested for playback. For example, if an element has an input segment
+with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust
+incoming timestamps and buffer content by half and output a newsegment event
+with @rate of 1.0 and @applied_rate of 2.0
+After a newsegment event, the buffer stream time is calculated with:
+position + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new newsegment event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="update" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether this segment is an update to a previous one</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A new rate for playback</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="applied_rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The rate factor which has already been applied</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the segment values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The start value of the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The stop value of the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">stream position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_qos" c:identifier="gst_event_new_qos">
+ <doc xml:whitespace="preserve">Allocate a new qos event with the given values.
+The QOS event is generated in an element that wants an upstream
+element to either reduce or increase its rate because of
+high/low CPU load or other resource usage such as network performance.
+Typically sinks generate these events for each buffer they receive.
+element that generated the QoS event (usually the sink). The value is
+generally computed based on more long term statistics about the streams
+timestamps compared to the clock.
+A value < 1.0 indicates that the upstream element is producing data faster
+than real-time. A value > 1.0 indicates that the upstream element is not
+producing data fast enough. 1.0 is the ideal @proportion value. The
+proportion value can safely be used to lower or increase the quality of
+the element.
+buffer that caused the element to generate the QOS event. A negative value
+means that the buffer with @timestamp arrived in time. A positive value
+indicates how late the buffer with @timestamp was.
+to generate the QOS event. It is expressed in running time and thus an ever
+increasing value.
+The upstream element can use the @diff and @timestamp values to decide
+whether to process more buffers. For possitive @diff, all buffers with
+timestamp <= @timestamp + @diff will certainly arrive late in the sink
+as well. A (negative) @diff value so that @timestamp + @diff would yield a
+result smaller than 0 is not allowed.
+The application can use general event probes to intercept the QoS
+event and implement custom application specific QoS handling.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new QOS event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="proportion" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proportion of the qos message</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="diff" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The time difference of the last Clock sync</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The timestamp of the buffer</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_seek" c:identifier="gst_event_new_seek">
+ <doc xml:whitespace="preserve">Allocate a new seek event with the given parameters.
+The seek event configures playback of the pipeline between @start to @stop
+at the speed given in @rate, also called a playback segment.
+The @start and @stop values are expressed in @format.
+A @rate of 1.0 means normal playback rate, 2.0 means double speed.
+Negatives values means backwards playback. A value of 0.0 for the
+rate is not allowed and should be accomplished instead by PAUSING the
+pipeline.
+A pipeline has a default playback segment configured with a start
+position of 0, a stop position of -1 and a rate of 1.0. The currently
+configured playback segment can be queried with #GST_QUERY_SEGMENT.
+start and stop fields in playback segment. Adjustments can be made relative
+or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE
+means that the position should not be updated.
+When the rate is positive and @start has been updated, playback will start
+from the newly configured start position.
+For negative rates, playback will start from the newly configured stop
+position (if any). If the stop position if updated, it must be different from
+-1 for negative rates.
+It is not possible to seek relative to the current playback position, to do
+this, PAUSE the pipeline, query the current playback position with
+#GST_QUERY_POSITION and update the playback segment current position with a
+#GST_SEEK_TYPE_SET to the desired position.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new seek event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new playback rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the seek values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The optional seek flags</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="start_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type and flags for the new start position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The value of the new start position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type and flags for the new stop position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The value of the new stop position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_sink_message"
+ c:identifier="gst_event_new_sink_message"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Create a new sink-message event. The purpose of the sink-message event is
+to instruct a sink to post the message contained in the event synchronized
+with the stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMessage to be posted</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_step"
+ c:identifier="gst_event_new_step"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Create a new step event. The purpose of the step event is to instruct a sink
+to skip @amount (expressed in @format) of media. It can be used to implement
+stepping through the video frame by frame or for doing fast trick modes.
+A rate of <= 0.0 is not allowed, pause the pipeline or reverse the playback
+direction of the pipeline to get the same effect.
+The @flush flag will clear any pending data in the pipeline before starting
+the step operation.
+The @intermediate flag instructs the pipeline that this step operation is
+part of a larger step operation.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of @amount</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="amount" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of data to step</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the step rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flushing steps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="intermediate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">intermediate steps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_tag" c:identifier="gst_event_new_tag">
+ <doc xml:whitespace="preserve">Generates a metadata tag event from the given @taglist.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">metadata list. The event will take ownership of @taglist.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="type_get_flags" c:identifier="gst_event_type_get_flags">
+ <doc xml:whitespace="preserve">Gets the #GstEventTypeFlags associated with @type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstEventTypeFlags.</doc>
+ <type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstEventType</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_get_name" c:identifier="gst_event_type_get_name">
+ <doc xml:whitespace="preserve">Get a printable name for the given event type. Do not modify or free.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a reference to the static name of the event.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the event type</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_to_quark" c:identifier="gst_event_type_to_quark">
+ <doc xml:whitespace="preserve">Get the unique quark for the given event type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark associated with the event type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the event type</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_seqnum"
+ c:identifier="gst_event_get_seqnum"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Retrieve the sequence number of a event.
+Events have ever-incrementing sequence numbers, which may also be set
+explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to
+indicate that a event corresponds to some other set of events or messages,
+for example an EOS event corresponding to a SEEK event. It is considered good
+practice to make this correspondence when possible, though it is not
+required.
+Note that events and messages share the same sequence number incrementor;
+two events or messages will never not have the same sequence number unless
+that correspondence was made explicitly.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The event's sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="get_structure" c:identifier="gst_event_get_structure">
+ <doc xml:whitespace="preserve">Access the structure of the event.
+owned by the event, which means that you should not free it and
+that the pointer becomes invalid when you free the event.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The structure of the event. The structure is still</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="has_name"
+ c:identifier="gst_event_has_name"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Checks if @event has the given @name. This function is usually used to
+check the name of a custom event.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @name matches the name of the event structure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name to check</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffer_size"
+ c:identifier="gst_event_parse_buffer_size">
+ <doc xml:whitespace="preserve">Get the format, minsize, maxsize and async-flag in the buffersize event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to store the format in</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="minsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the minsize in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="maxsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the maxsize in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="async"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the async-flag in</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_latency"
+ c:identifier="gst_event_parse_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Get the latency in the latency event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to store the latency in.</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_new_segment"
+ c:identifier="gst_event_parse_new_segment">
+ <doc xml:whitespace="preserve">Get the update flag, rate, format, start, stop and position in the
+newsegment event. In general, gst_event_parse_new_segment_full() should
+be used instead of this, to also retrieve the applied_rate value of the
+segment. See gst_event_new_new_segment_full() for a full description
+of the newsegment event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="update"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to the update flag of the segment</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to the rate of the segment</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to the format of the newsegment values</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the start value in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the stop value in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the stream time in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_new_segment_full"
+ c:identifier="gst_event_parse_new_segment_full"
+ version="0.10.6">
+ <doc xml:whitespace="preserve">Get the update, rate, applied_rate, format, start, stop and
+position in the newsegment event. See gst_event_new_new_segment_full()
+for a full description of the newsegment event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="update"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to the update flag of the segment</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to the rate of the segment</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="applied_rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to the applied_rate of the segment</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to the format of the newsegment values</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the start value in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the stop value in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the stream time in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos" c:identifier="gst_event_parse_qos">
+ <doc xml:whitespace="preserve">Get the proportion, diff and timestamp in the qos event. See
+gst_event_new_qos() for more information about the different QoS values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proportion"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to store the proportion in</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="diff"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to store the diff in</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to store the timestamp in</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_seek" c:identifier="gst_event_parse_seek">
+ <doc xml:whitespace="preserve">Parses a seek @event and stores the results in the given result locations.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">result location for the rate</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">result location for the stream format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">result location for the #GstSeekFlags</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags*"/>
+ </parameter>
+ <parameter name="start_type"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">result location for the #GstSeekType of the start position</doc>
+ <type name="SeekType" c:type="GstSeekType*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">result location for the start postion expressed in @format</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop_type"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">result location for the #GstSeekType of the stop position</doc>
+ <type name="SeekType" c:type="GstSeekType*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">result location for the stop postion expressed in @format</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_sink_message"
+ c:identifier="gst_event_parse_sink_message"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Parse the sink-message event. Unref @msg after usage.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to store the #GstMessage in.</doc>
+ <type name="Message" c:type="GstMessage**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_step"
+ c:identifier="gst_event_parse_step"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Parse the step event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to store the format in</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="amount"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to store the amount in</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to store the rate in</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="flush"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to store the flush boolean in</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="intermediate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to store the intermediate boolean in</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_tag" c:identifier="gst_event_parse_tag">
+ <doc xml:whitespace="preserve">Parses a tag @event and stores the results in the given @taglist location.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to metadata list</doc>
+ <type name="TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seqnum"
+ c:identifier="gst_event_set_seqnum"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the sequence number of a event.
+This function might be called by the creator of a event to indicate that the
+event relates to other events or messages. See gst_event_get_seqnum() for
+more information.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="seqnum" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="mini_object">
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="type">
+ <type name="EventType" c:type="GstEventType"/>
+ </field>
+ <field name="timestamp">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="src">
+ <type name="Object" c:type="GstObject*"/>
+ </field>
+ <field name="structure">
+ <type name="Structure" c:type="GstStructure*"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <field name="seqnum" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </union>
+ </class>
+ <record name="EventClass"
+ c:type="GstEventClass"
+ glib:is-gtype-struct-for="Event">
+ <field name="mini_object_class">
+ <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="EventType" c:type="GstEventType">
+ <doc xml:whitespace="preserve">#GstEventType lists the standard event types that can be sent in a pipeline.
+The custom event types can be used for private messages between elements
+that can't be expressed using normal
+GStreamer buffer passing semantics. Custom events carry an arbitrary
+#GstStructure.
+Specific custom events are distinguished by the name of the structure.</doc>
+ <member name="unknown" value="0" c:identifier="GST_EVENT_UNKNOWN"/>
+ <member name="flush_start"
+ value="19"
+ c:identifier="GST_EVENT_FLUSH_START"/>
+ <member name="flush_stop"
+ value="39"
+ c:identifier="GST_EVENT_FLUSH_STOP"/>
+ <member name="eos" value="86" c:identifier="GST_EVENT_EOS"/>
+ <member name="newsegment"
+ value="102"
+ c:identifier="GST_EVENT_NEWSEGMENT"/>
+ <member name="tag" value="118" c:identifier="GST_EVENT_TAG"/>
+ <member name="buffersize"
+ value="134"
+ c:identifier="GST_EVENT_BUFFERSIZE"/>
+ <member name="sink_message"
+ value="150"
+ c:identifier="GST_EVENT_SINK_MESSAGE"/>
+ <member name="qos" value="241" c:identifier="GST_EVENT_QOS"/>
+ <member name="seek" value="257" c:identifier="GST_EVENT_SEEK"/>
+ <member name="navigation"
+ value="273"
+ c:identifier="GST_EVENT_NAVIGATION"/>
+ <member name="latency" value="289" c:identifier="GST_EVENT_LATENCY"/>
+ <member name="step" value="305" c:identifier="GST_EVENT_STEP"/>
+ <member name="custom_upstream"
+ value="513"
+ c:identifier="GST_EVENT_CUSTOM_UPSTREAM"/>
+ <member name="custom_downstream"
+ value="518"
+ c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM"/>
+ <member name="custom_downstream_oob"
+ value="514"
+ c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_OOB"/>
+ <member name="custom_both"
+ value="519"
+ c:identifier="GST_EVENT_CUSTOM_BOTH"/>
+ <member name="custom_both_oob"
+ value="515"
+ c:identifier="GST_EVENT_CUSTOM_BOTH_OOB"/>
+ </bitfield>
+ <bitfield name="EventTypeFlags" c:type="GstEventTypeFlags">
+ <doc xml:whitespace="preserve">#GstEventTypeFlags indicate the aspects of the different #GstEventType
+values. You can get the type flags of a #GstEventType with the
+gst_event_type_get_flags() function.</doc>
+ <member name="upstream"
+ value="1"
+ c:identifier="GST_EVENT_TYPE_UPSTREAM"/>
+ <member name="downstream"
+ value="2"
+ c:identifier="GST_EVENT_TYPE_DOWNSTREAM"/>
+ <member name="serialized"
+ value="4"
+ c:identifier="GST_EVENT_TYPE_SERIALIZED"/>
+ </bitfield>
+ <constant name="FOURCC_FORMAT" value="c%c%c%c">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <callback name="FilterFunc" c:type="GstFilterFunc">
+ <doc xml:whitespace="preserve">Function prototype for a filter callback that can be use in gst_filter_run().
+The function should apply its filtering to @obj. Additional data passed to
+gst_filter_run() are in @data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">filter data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="FlowReturn" c:type="GstFlowReturn">
+ <doc xml:whitespace="preserve">sent yet) (unused/unimplemented).
+this error should post an error message with more
+details.
+this (and higher) to define custom success
+codes. Since 0.10.7.
+custom success code to this to avoid compiler
+warnings). Since 0.10.29.
+this (and lower) to define custom error codes.
+Since 0.10.7.
+custom error code to this to avoid compiler
+warnings). Since 0.10.29.
+The result of passing data to a pad.
+Note that the custom return values should not be exposed outside of the
+element scope and are available since 0.10.7.</doc>
+ <member name="custom_success_2"
+ value="102"
+ c:identifier="GST_FLOW_CUSTOM_SUCCESS_2"/>
+ <member name="custom_success_1"
+ value="101"
+ c:identifier="GST_FLOW_CUSTOM_SUCCESS_1"/>
+ <member name="custom_success"
+ value="100"
+ c:identifier="GST_FLOW_CUSTOM_SUCCESS"/>
+ <member name="resend" value="1" c:identifier="GST_FLOW_RESEND"/>
+ <member name="ok" value="0" c:identifier="GST_FLOW_OK"/>
+ <member name="not_linked" value="-1" c:identifier="GST_FLOW_NOT_LINKED"/>
+ <member name="wrong_state"
+ value="-2"
+ c:identifier="GST_FLOW_WRONG_STATE"/>
+ <member name="unexpected" value="-3" c:identifier="GST_FLOW_UNEXPECTED"/>
+ <member name="not_negotiated"
+ value="-4"
+ c:identifier="GST_FLOW_NOT_NEGOTIATED"/>
+ <member name="error" value="-5" c:identifier="GST_FLOW_ERROR"/>
+ <member name="not_supported"
+ value="-6"
+ c:identifier="GST_FLOW_NOT_SUPPORTED"/>
+ <member name="custom_error"
+ value="-100"
+ c:identifier="GST_FLOW_CUSTOM_ERROR"/>
+ <member name="custom_error_1"
+ value="-101"
+ c:identifier="GST_FLOW_CUSTOM_ERROR_1"/>
+ <member name="custom_error_2"
+ value="-102"
+ c:identifier="GST_FLOW_CUSTOM_ERROR_2"/>
+ </enumeration>
+ <enumeration name="Format" c:type="GstFormat">
+ <doc xml:whitespace="preserve">Standard predefined formats</doc>
+ <member name="undefined" value="0" c:identifier="GST_FORMAT_UNDEFINED"/>
+ <member name="default" value="1" c:identifier="GST_FORMAT_DEFAULT"/>
+ <member name="bytes" value="2" c:identifier="GST_FORMAT_BYTES"/>
+ <member name="time" value="3" c:identifier="GST_FORMAT_TIME"/>
+ <member name="buffers" value="4" c:identifier="GST_FORMAT_BUFFERS"/>
+ <member name="percent" value="5" c:identifier="GST_FORMAT_PERCENT"/>
+ </enumeration>
+ <record name="FormatDefinition" c:type="GstFormatDefinition">
+ <doc xml:whitespace="preserve">A format definition</doc>
+ <field name="value" writable="1">
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="nick" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="quark" writable="1">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </field>
+ </record>
+ <class name="GhostPad"
+ c:symbol-prefix="ghost_pad"
+ c:type="GstGhostPad"
+ parent="ProxyPad"
+ glib:type-name="GstGhostPad"
+ glib:get-type="gst_ghost_pad_get_type"
+ glib:type-struct="GhostPadClass">
+ <doc xml:whitespace="preserve">Opaque #GstGhostPad structure.</doc>
+ <constructor name="new" c:identifier="gst_ghost_pad_new">
+ <doc xml:whitespace="preserve">Create a new ghostpad with @target as the target. The direction will be taken
+from the target pad. @target must be unlinked.
+Will ref the target.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the new pad, or NULL to assign a default name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to ghost.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_template"
+ c:identifier="gst_ghost_pad_new_from_template"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Create a new ghostpad with @target as the target. The direction will be taken
+from the target pad. The template used on the ghostpad will be @template.
+Will ref the target.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the new pad, or NULL to assign a default name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to ghost.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadTemplate to use on the ghostpad.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_no_target"
+ c:identifier="gst_ghost_pad_new_no_target">
+ <doc xml:whitespace="preserve">Create a new ghostpad without a target with the given direction.
+A target can be set on the ghostpad later with the
+gst_ghost_pad_set_target() function.
+The created ghostpad will not have a padtemplate.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the new pad, or NULL to assign a default name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="dir" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the direction of the ghostpad</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_no_target_from_template"
+ c:identifier="gst_ghost_pad_new_no_target_from_template"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Create a new ghostpad based on @templ, without setting a target. The
+direction will be taken from the @templ.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the new pad, or NULL to assign a default name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadTemplate to create the ghostpad from.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="construct"
+ c:identifier="gst_ghost_pad_construct"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Finish initialization of a newly allocated ghost pad.
+This function is most useful in language bindings and when subclassing
+#GstGhostPad; plugin and application developers normally will not call this
+function. Call this function directly after a call to g_object_new
+(GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the construction succeeds, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_target" c:identifier="gst_ghost_pad_get_target">
+ <doc xml:whitespace="preserve">Get the target pad of @gpad. Unref target pad after usage.
+has no target set. Unref target pad after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the target #GstPad, can be NULL if the ghostpad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ </method>
+ <method name="set_target" c:identifier="gst_ghost_pad_set_target">
+ <doc xml:whitespace="preserve">Set the new target of the ghostpad @gpad. Any existing target
+is unlinked and links to the new target are established. if @newtarget is
+NULL the target will be cleared.
+can return FALSE when the internal pads could not be linked.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">TRUE if the new target could be set. This function</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="newtarget" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the new pad target</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="pad">
+ <type name="ProxyPad" c:type="GstProxyPad"/>
+ </field>
+ <field name="priv">
+ <type name="GhostPadPrivate" c:type="GstGhostPadPrivate*"/>
+ </field>
+ </class>
+ <record name="GhostPadClass"
+ c:type="GstGhostPadClass"
+ glib:is-gtype-struct-for="GhostPad">
+ <field name="parent_class">
+ <type name="ProxyPadClass" c:type="GstProxyPadClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GhostPadPrivate" c:type="GstGhostPadPrivate" disguised="1">
+ </record>
+ <constant name="INDEX_ID_INVALID" value="-1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <interface name="ImplementsInterface"
+ c:symbol-prefix="implements_interface"
+ c:type="GstImplementsInterface"
+ glib:type-name="GstImplementsInterface"
+ glib:get-type="gst_implements_interface_get_type">
+ <doc xml:whitespace="preserve">Opaque #GstImplementsInterface structure.</doc>
+ <prerequisite name="Element"/>
+ </interface>
+ <record name="ImplementsInterfaceClass"
+ c:type="GstImplementsInterfaceClass">
+ <field name="parent" writable="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="supported">
+ <callback name="supported">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="iface" transfer-ownership="none">
+ <type name="ImplementsInterface"
+ c:type="GstImplementsInterface*"/>
+ </parameter>
+ <parameter name="iface_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="Index"
+ c:symbol-prefix="index"
+ c:type="GstIndex"
+ parent="Object"
+ glib:type-name="GstIndex"
+ glib:get-type="gst_index_get_type"
+ glib:type-struct="IndexClass">
+ <doc xml:whitespace="preserve">Opaque #GstIndex structure.</doc>
+ <constructor name="new" c:identifier="gst_index_new">
+ <doc xml:whitespace="preserve">Create a new tileindex object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new index object</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="add_entry">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="commit" invoker="commit">
+ <doc xml:whitespace="preserve">Tell the index that the writer with the given id is done
+with this index and is not going to write any more entries
+to it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the writer that commited the index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_assoc_entry" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="6">
+ <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="6">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_writer_id" invoker="get_writer_id">
+ <doc xml:whitespace="preserve">Before entries can be added to the index, a writer
+should obtain a unique id. The methods to add new entries
+to the index require this id as an argument.
+The application can implement a custom function to map the writer object
+to a string. That string will be used to register or look up an id
+in the index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the writer would be mapped to an id.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="writer_id" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="writer_string" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_association"
+ c:identifier="gst_index_add_association"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Associate given format/value pairs with each other.
+Be sure to pass gint64 values to this functions varargs,
+you might want to use a gint64 cast to be sure.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly added entry in the index.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">optinal flags for this entry</doc>
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the value</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_associationv"
+ c:identifier="gst_index_add_associationv">
+ <doc xml:whitespace="preserve">Associate given format/value pairs with each other.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly added entry in the index.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">optinal flags for this entry</doc>
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </parameter>
+ <parameter name="n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of associations</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of associations</doc>
+ <type name="IndexAssociation" c:type="GstIndexAssociation*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_format" c:identifier="gst_index_add_format">
+ <doc xml:whitespace="preserve">Adds a format entry into the index. This function is
+used to map dynamic GstFormat ids to their original
+format key.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly added entry in the index.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format to add to the index</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_id" c:identifier="gst_index_add_id">
+ <doc xml:whitespace="preserve">Add an id entry into the index.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly added entry in the index.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description of the index writer</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_object" c:identifier="gst_index_add_object">
+ <doc xml:whitespace="preserve">Add the given object to the index with the given key.
+This function is not yet implemented.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the newly added entry in the index.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a key for the object</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GType of the object</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the object to add</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="commit" c:identifier="gst_index_commit">
+ <doc xml:whitespace="preserve">Tell the index that the writer with the given id is done
+with this index and is not going to write any more entries
+to it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the writer that commited the index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_assoc_entry" c:identifier="gst_index_get_assoc_entry">
+ <doc xml:whitespace="preserve">Finds the given format/value in the index
+value was not found.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the entry associated with the value or NULL if the</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The lookup method to use</doc>
+ <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Flags for the entry</doc>
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the value</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to find</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_assoc_entry_full"
+ c:identifier="gst_index_get_assoc_entry_full"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Finds the given format/value in the index with the given
+compare function and user_data.
+value was not found.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the entry associated with the value or NULL if the</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the index writer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The lookup method to use</doc>
+ <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Flags for the entry</doc>
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the value</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to find</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="6">
+ <doc xml:whitespace="preserve">the function used to compare entries</doc>
+ <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the compare function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_certainty" c:identifier="gst_index_get_certainty">
+ <doc xml:whitespace="preserve">Get the certainty of the given index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the certainty of the index.</doc>
+ <type name="IndexCertainty" c:type="GstIndexCertainty"/>
+ </return-value>
+ </method>
+ <method name="get_group" c:identifier="gst_index_get_group">
+ <doc xml:whitespace="preserve">Get the id of the current group.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the current group.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_writer_id" c:identifier="gst_index_get_writer_id">
+ <doc xml:whitespace="preserve">Before entries can be added to the index, a writer
+should obtain a unique id. The methods to add new entries
+to the index require this id as an argument.
+The application can implement a custom function to map the writer object
+to a string. That string will be used to register or look up an id
+in the index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the writer would be mapped to an id.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="writer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstObject to allocate an id for</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a gint to hold the id</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="new_group" c:identifier="gst_index_new_group">
+ <doc xml:whitespace="preserve">Create a new group for the given index. It will be
+set as the current group.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id of the newly created group.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="set_certainty" c:identifier="gst_index_set_certainty">
+ <doc xml:whitespace="preserve">Set the certainty of the given index.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="certainty" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the certainty to set</doc>
+ <type name="IndexCertainty" c:type="GstIndexCertainty"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_filter"
+ c:identifier="gst_index_set_filter"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Lets the app register a custom filter function so that
+it can select what entries should be stored in the index.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the filter to register</doc>
+ <type name="IndexFilter" c:type="GstIndexFilter"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data passed to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_filter_full" c:identifier="gst_index_set_filter_full">
+ <doc xml:whitespace="preserve">Lets the app register a custom filter function so that
+it can select what entries should be stored in the index.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:whitespace="preserve">the filter to register</doc>
+ <type name="IndexFilter" c:type="GstIndexFilter"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data passed to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data_destroy"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">function to call when @user_data is unset</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_group" c:identifier="gst_index_set_group">
+ <doc xml:whitespace="preserve">Set the current groupnumber to the given argument.
+did not exist.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the operation succeeded, FALSE if the group</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="groupnum" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the groupnumber to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_resolver"
+ c:identifier="gst_index_set_resolver"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Lets the app register a custom function to map index
+ids to writer descriptions.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="resolver" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the resolver to register</doc>
+ <type name="IndexResolver" c:type="GstIndexResolver"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data passed to the resolver function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_resolver_full"
+ c:identifier="gst_index_set_resolver_full"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Lets the app register a custom function to map index
+ids to writer descriptions.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="resolver"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:whitespace="preserve">the resolver to register</doc>
+ <type name="IndexResolver" c:type="GstIndexResolver"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data passed to the resolver function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data_destroy"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">destroy function for @user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="resolver"
+ introspectable="0"
+ writable="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="groups">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="curgroup">
+ <type name="IndexGroup" c:type="GstIndexGroup*"/>
+ </field>
+ <field name="maxgroup">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="method">
+ <type name="IndexResolverMethod" c:type="GstIndexResolverMethod"/>
+ </field>
+ <field name="resolver">
+ <type name="IndexResolver" c:type="GstIndexResolver"/>
+ </field>
+ <field name="resolver_user_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="filter">
+ <type name="IndexFilter" c:type="GstIndexFilter"/>
+ </field>
+ <field name="filter_user_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="filter_user_data_destroy">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="writers">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gpointer" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="last_id">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="resolver_user_data_destroy">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="entry-added">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="IndexEntry"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="IndexAssociation" c:type="GstIndexAssociation">
+ <doc xml:whitespace="preserve">An association in an entry.</doc>
+ <field name="format" writable="1">
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="value" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ </record>
+ <enumeration name="IndexCertainty" c:type="GstIndexCertainty">
+ <doc xml:whitespace="preserve">The certainty of a group in the index.</doc>
+ <member name="unknown" value="0" c:identifier="GST_INDEX_UNKNOWN"/>
+ <member name="certain" value="1" c:identifier="GST_INDEX_CERTAIN"/>
+ <member name="fuzzy" value="2" c:identifier="GST_INDEX_FUZZY"/>
+ </enumeration>
+ <record name="IndexClass"
+ c:type="GstIndexClass"
+ glib:is-gtype-struct-for="Index">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="get_writer_id">
+ <callback name="get_writer_id">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the writer would be mapped to an id.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="writer_id" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="writer_string" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="commit">
+ <callback name="commit">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the writer that commited the index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_entry">
+ <callback name="add_entry">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_assoc_entry" introspectable="0">
+ <callback name="get_assoc_entry" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="7">
+ <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="7">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="entry_added">
+ <callback name="entry_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="IndexEntry"
+ c:type="GstIndexEntry"
+ glib:type-name="GstIndexEntry"
+ glib:get-type="gst_index_entry_get_type"
+ c:symbol-prefix="index_entry">
+ <doc xml:whitespace="preserve">The basic element of an index.</doc>
+ <field name="type" writable="1">
+ <type name="IndexEntryType" c:type="GstIndexEntryType"/>
+ </field>
+ <field name="id" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <union name="data" c:type="data">
+ <record name="id" c:type="id">
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <record name="assoc" c:type="assoc">
+ <field name="nassocs" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="assocs" writable="1">
+ <type name="IndexAssociation" c:type="GstIndexAssociation*"/>
+ </field>
+ <field name="flags" writable="1">
+ <type name="AssocFlags" c:type="GstAssocFlags"/>
+ </field>
+ </record>
+ <record name="object" c:type="object">
+ <field name="key" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="object" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <record name="format" c:type="format">
+ <field name="format" writable="1">
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="key" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ </union>
+ <method name="assoc_map" c:identifier="gst_index_entry_assoc_map">
+ <doc xml:whitespace="preserve">Gets alternative formats associated with the indexentry.
+format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if there was a value associated with the given</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the value the find</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to store the value</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_index_entry_copy">
+ <doc xml:whitespace="preserve">Copies an entry and returns the result.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GstIndexEntry.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_index_entry_free">
+ <doc xml:whitespace="preserve">Free the memory used by the given entry.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <enumeration name="IndexEntryType" c:type="GstIndexEntryType">
+ <doc xml:whitespace="preserve">The different types of entries in the index.</doc>
+ <member name="id" value="0" c:identifier="GST_INDEX_ENTRY_ID"/>
+ <member name="association"
+ value="1"
+ c:identifier="GST_INDEX_ENTRY_ASSOCIATION"/>
+ <member name="object" value="2" c:identifier="GST_INDEX_ENTRY_OBJECT"/>
+ <member name="format" value="3" c:identifier="GST_INDEX_ENTRY_FORMAT"/>
+ </enumeration>
+ <class name="IndexFactory"
+ c:symbol-prefix="index_factory"
+ c:type="GstIndexFactory"
+ parent="PluginFeature"
+ glib:type-name="GstIndexFactory"
+ glib:get-type="gst_index_factory_get_type"
+ glib:type-struct="IndexFactoryClass">
+ <doc xml:whitespace="preserve">The GstIndexFactory object</doc>
+ <constructor name="new" c:identifier="gst_index_factory_new">
+ <doc xml:whitespace="preserve">Create a new indexfactory with the given parameters</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstIndexFactory.</doc>
+ <type name="IndexFactory" c:type="GstIndexFactory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of indexfactory to create</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="longdesc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">long description of indexfactory to create</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GType of the GstIndex element of this factory</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="find" c:identifier="gst_index_factory_find">
+ <doc xml:whitespace="preserve">Search for an indexfactory of the given name.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">#GstIndexFactory if found, NULL otherwise</doc>
+ <type name="IndexFactory" c:type="GstIndexFactory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of indexfactory to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="make" c:identifier="gst_index_factory_make">
+ <doc xml:whitespace="preserve">Create a new #GstIndex instance from the
+indexfactory with the given name.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstIndex instance.</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the factory used to create the instance</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="create" c:identifier="gst_index_factory_create">
+ <doc xml:whitespace="preserve">Create a new #GstIndex instance from the
+given indexfactory.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstIndex instance.</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </return-value>
+ </method>
+ <method name="destroy" c:identifier="gst_index_factory_destroy">
+ <doc xml:whitespace="preserve">Removes the index from the global list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <field name="feature">
+ <type name="PluginFeature" c:type="GstPluginFeature"/>
+ </field>
+ <field name="longdesc">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="type">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="IndexFactoryClass"
+ c:type="GstIndexFactoryClass"
+ glib:is-gtype-struct-for="IndexFactory">
+ <field name="parent">
+ <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="IndexFilter" c:type="GstIndexFilter">
+ <doc xml:whitespace="preserve">Function to filter out entries in the index.
+to the index, %FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">This function should return %TRUE if the entry is to be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The index being queried</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The entry to be added.</doc>
+ <type name="IndexEntry" c:type="GstIndexEntry*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">User data passed to the function.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="IndexFlags" c:type="GstIndexFlags">
+ <doc xml:whitespace="preserve">Flags for this index</doc>
+ <member name="writable" value="16" c:identifier="GST_INDEX_WRITABLE"/>
+ <member name="readable" value="32" c:identifier="GST_INDEX_READABLE"/>
+ <member name="flag_last"
+ value="4096"
+ c:identifier="GST_INDEX_FLAG_LAST"/>
+ </bitfield>
+ <record name="IndexGroup" c:type="GstIndexGroup">
+ <doc xml:whitespace="preserve">A group of related entries in an index.</doc>
+ <field name="groupnum" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="entries" writable="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="certainty" writable="1">
+ <type name="IndexCertainty" c:type="GstIndexCertainty"/>
+ </field>
+ <field name="peergroup" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <enumeration name="IndexLookupMethod" c:type="GstIndexLookupMethod">
+ <doc xml:whitespace="preserve">Specify the method to find an index entry in the index.</doc>
+ <member name="exact" value="0" c:identifier="GST_INDEX_LOOKUP_EXACT"/>
+ <member name="before" value="1" c:identifier="GST_INDEX_LOOKUP_BEFORE"/>
+ <member name="after" value="2" c:identifier="GST_INDEX_LOOKUP_AFTER"/>
+ </enumeration>
+ <callback name="IndexResolver" c:type="GstIndexResolver">
+ <doc xml:whitespace="preserve">Function to resolve ids to writer descriptions.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if an id could be assigned to the writer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index being queried.</doc>
+ <type name="Index" c:type="GstIndex*"/>
+ </parameter>
+ <parameter name="writer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object that wants to write</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="writer_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A description of the writer.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="3">
+ <doc xml:whitespace="preserve">user_data as registered</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="IndexResolverMethod" c:type="GstIndexResolverMethod">
+ <doc xml:whitespace="preserve">The method used to resolve index writers</doc>
+ <member name="custom"
+ value="0"
+ c:identifier="GST_INDEX_RESOLVER_CUSTOM"/>
+ <member name="gtype" value="1" c:identifier="GST_INDEX_RESOLVER_GTYPE"/>
+ <member name="path" value="2" c:identifier="GST_INDEX_RESOLVER_PATH"/>
+ </enumeration>
+ <record name="Iterator" c:type="GstIterator">
+ <doc xml:whitespace="preserve">#GstIterator base structure. The values of this structure are
+protected for subclasses, use the methods to use the #GstIterator.</doc>
+ <field name="next" writable="1">
+ <type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
+ </field>
+ <field name="item" writable="1">
+ <type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
+ </field>
+ <field name="resync" writable="1">
+ <type name="IteratorResyncFunction"
+ c:type="GstIteratorResyncFunction"/>
+ </field>
+ <field name="free" writable="1">
+ <type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
+ </field>
+ <field name="pushed" writable="1">
+ <type name="Iterator" c:type="GstIterator*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="lock" writable="1">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="cookie" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="master_cookie" writable="1">
+ <type name="guint32" c:type="guint32*"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="filter"
+ c:identifier="gst_iterator_filter"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new iterator from an existing iterator. The new iterator
+will only return those elements that match the given compare function @func.
+in the iterator.
+When this iterator is freed, @it will also be freed.
+MT safe.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstIterator.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the compare function to select elements</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the compare function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_custom"
+ c:identifier="gst_iterator_find_custom"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Find the first element in @it that matches the compare function @func.
+the refcount of a refcounted object will be increased before @func is
+called, and should be unrefed after use in @func unless it is the matching
+element.
+The iterator will not be freed.
+This function will return NULL if an error happened to the iterator.
+function or NULL when no element matched.
+MT safe.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The element in the iterator that matches the compare</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the compare function to use</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the compare function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fold" c:identifier="gst_iterator_fold" introspectable="0">
+ <doc xml:whitespace="preserve">Folds @func over the elements of @iter. That is to say, @func will be called
+as @func (object, @ret, @user_data) for each object in @it. The normal use
+of this procedure is to accumulate the results of operating on the objects in
+before @func is called, and it should be unrefed after use in @func.
+This procedure can be used (and is used internally) to implement the
+gst_iterator_foreach() and gst_iterator_find_custom() operations.
+The fold will proceed as long as @func returns TRUE. When the iterator has no
+more arguments, %GST_ITERATOR_DONE will be returned. If @func returns FALSE,
+the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs
+will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as
+appropriate.
+The iterator will not be freed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstIteratorResult, as described above.</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">the fold function</doc>
+ <type name="IteratorFoldFunction"
+ c:type="GstIteratorFoldFunction"/>
+ </parameter>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seed value passed to the fold function</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the fold function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach"
+ c:identifier="gst_iterator_foreach"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Iterate over all element of @it and call the given function @func for
+each element. As in gst_iterator_fold(), the refcount of a refcounted
+object will be increased before @func is called, and should be unrefed
+after use.
+freed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result call to gst_iterator_fold(). The iterator will not be</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the function to call for each element.</doc>
+ <type name="GLib.Func" c:type="GFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_iterator_free">
+ <doc xml:whitespace="preserve">Free the iterator.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="next" c:identifier="gst_iterator_next">
+ <doc xml:whitespace="preserve">Get the next item from the iterator in @elem.
+Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid
+value. For iterators that return refcounted objects, the returned object
+will have its refcount increased and should therefore be unreffed after
+usage.
+When this function returns %GST_ITERATOR_DONE, no more elements can be
+retrieved from @it.
+A return value of %GST_ITERATOR_RESYNC indicates that the element list was
+concurrently updated. The user of @it should call gst_iterator_resync() to
+get the newly updated list.
+A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error.
+is a refcounted object.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The result of the iteration. Unref @elem after usage if this</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="elem" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to hold next element</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_iterator_push">
+ <doc xml:whitespace="preserve">Pushes @other iterator onto @it. All calls performed on @it are
+forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is
+popped again and calls are handled by @it again.
+This function is mainly used by objects implementing the iterator
+next function to recurse into substructures.
+When gst_iterator_resync() is called on @it, @other will automatically be
+popped.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="other" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstIterator to push</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="resync" c:identifier="gst_iterator_resync">
+ <doc xml:whitespace="preserve">Resync the iterator. this function is mostly called
+after gst_iterator_next() returned %GST_ITERATOR_RESYNC.
+When an iterator was pushed on @it, it will automatically be popped again
+with this function.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <callback name="IteratorDisposeFunction"
+ c:type="GstIteratorDisposeFunction">
+ <doc xml:whitespace="preserve">The function that will be called when a #GList iterator is freed. The
+owner of the #GList iterator can then clean up its resources.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the owner of the iterator</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorFoldFunction" c:type="GstIteratorFoldFunction">
+ <doc xml:whitespace="preserve">A function to be passed to gst_iterator_fold().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the fold should continue, FALSE if it should stop.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the item to fold</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue collecting the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">data passed to gst_iterator_fold()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorFreeFunction" c:type="GstIteratorFreeFunction">
+ <doc xml:whitespace="preserve">This function will be called when the iterator is freed.
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="IteratorItem" c:type="GstIteratorItem">
+ <doc xml:whitespace="preserve">The result of a #GstIteratorItemFunction.</doc>
+ <member name="skip" value="0" c:identifier="GST_ITERATOR_ITEM_SKIP"/>
+ <member name="pass" value="1" c:identifier="GST_ITERATOR_ITEM_PASS"/>
+ <member name="end" value="2" c:identifier="GST_ITERATOR_ITEM_END"/>
+ </enumeration>
+ <callback name="IteratorItemFunction" c:type="GstIteratorItemFunction">
+ <doc xml:whitespace="preserve">The function that will be called after the next item of the iterator
+has been retrieved. This function will typically increase the refcount
+of the item or make a copy.
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result of the operation.</doc>
+ <type name="IteratorItem" c:type="GstIteratorItem"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the item being retrieved.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorNextFunction" c:type="GstIteratorNextFunction">
+ <doc xml:whitespace="preserve">The function that will be called when the next element of the iterator
+should be retrieved.
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result of the operation.</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to hold the next item</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="IteratorResult" c:type="GstIteratorResult">
+ <doc xml:whitespace="preserve">The result of gst_iterator_next().</doc>
+ <member name="done" value="0" c:identifier="GST_ITERATOR_DONE"/>
+ <member name="ok" value="1" c:identifier="GST_ITERATOR_OK"/>
+ <member name="resync" value="2" c:identifier="GST_ITERATOR_RESYNC"/>
+ <member name="error" value="3" c:identifier="GST_ITERATOR_ERROR"/>
+ </enumeration>
+ <callback name="IteratorResyncFunction" c:type="GstIteratorResyncFunction">
+ <doc xml:whitespace="preserve">This function will be called whenever a concurrent update happened
+to the iterated datastructure. The implementor of the iterator should
+restart the iterator from the beginning and clean up any state it might
+have.
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="LICENSE_UNKNOWN" value="unknown">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <enumeration name="LibraryError"
+ c:type="GstLibraryError"
+ glib:error-quark="gst_library_error_quark">
+ <doc xml:whitespace="preserve">Library errors are for errors from the library being used by elements
+(initializing, finalizing, settings, ...)</doc>
+ <member name="failed" value="1" c:identifier="GST_LIBRARY_ERROR_FAILED"/>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_LIBRARY_ERROR_TOO_LAZY"/>
+ <member name="init" value="3" c:identifier="GST_LIBRARY_ERROR_INIT"/>
+ <member name="shutdown"
+ value="4"
+ c:identifier="GST_LIBRARY_ERROR_SHUTDOWN"/>
+ <member name="settings"
+ value="5"
+ c:identifier="GST_LIBRARY_ERROR_SETTINGS"/>
+ <member name="encode" value="6" c:identifier="GST_LIBRARY_ERROR_ENCODE"/>
+ <member name="num_errors"
+ value="7"
+ c:identifier="GST_LIBRARY_ERROR_NUM_ERRORS"/>
+ </enumeration>
+ <callback name="LogFunction" c:type="GstLogFunction">
+ <doc xml:whitespace="preserve">Function prototype for a logging function that can be registered with
+gst_debug_add_log_function().
+Use G_GNUC_NO_INSTRUMENT on that function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstDebugCategory</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstDebugLevel</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">file name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:whitespace="preserve">line number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message</doc>
+ <type name="DebugMessage" c:type="GstDebugMessage*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data for the log function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="MESSAGE_TRACE_NAME" value="GstMessage">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="MSECOND" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="Message"
+ c:symbol-prefix="message"
+ c:type="GstMessage"
+ parent="MiniObject"
+ glib:type-name="GstMessage"
+ glib:get-type="gst_message_get_type"
+ glib:type-struct="MessageClass"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">A #GstMessage.</doc>
+ <constructor name="new_application"
+ c:identifier="gst_message_new_application">
+ <doc xml:whitespace="preserve">Create a new application-typed message. GStreamer will never create these
+messages; they are a gift from us to you. Enjoy.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new application message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the structure for the message. The message will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_async_done"
+ c:identifier="gst_message_new_async_done"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">The message is posted when elements completed an ASYNC state change.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new async_done message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_async_start"
+ c:identifier="gst_message_new_async_start"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">This message is posted by elements when they start an ASYNC state change.
+PLAYING.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new async_start message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="new_base_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if a new base_time should be set on the element</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_buffering"
+ c:identifier="gst_message_new_buffering"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Create a new buffering message. This message can be posted by an element that
+needs to buffer data before it can continue processing. @percent should be a
+value between 0 and 100. A value of 100 means that the buffering completed.
+When @percent is < 100 the application should PAUSE a PLAYING pipeline. When
+The application must be prepared to receive BUFFERING messages in the
+PREROLLING state and may only set the pipeline to PLAYING after receiving a
+message with @percent set to 100, which can happen after the pipeline
+completed prerolling.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new buffering message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="percent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The buffering percent</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_clock_lost"
+ c:identifier="gst_message_new_clock_lost">
+ <doc xml:whitespace="preserve">Create a clock lost message. This message is posted whenever the
+clock is not valid anymore.
+If this message is posted by the pipeline, the pipeline will
+select a new clock again when it goes to PLAYING. It might therefore
+be needed to set the pipeline to PAUSED and PLAYING again.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new clock lost message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the clock that was lost</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_clock_provide"
+ c:identifier="gst_message_new_clock_provide">
+ <doc xml:whitespace="preserve">Create a clock provide message. This message is posted whenever an
+element is ready to provide a clock or lost its ability to provide
+a clock (maybe because it paused or became EOS).
+This message is mainly used internally to manage the clock
+selection.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new provide clock message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the clock it provides</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="ready" transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the sender can provide a clock</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_custom" c:identifier="gst_message_new_custom">
+ <doc xml:whitespace="preserve">Create a new custom-typed message. This can be used for anything not
+handled by other message-specific functions to pass a message to the
+app. The structure field can be NULL.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstMessageType to distinguish messages</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the structure for the message. The message will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_duration" c:identifier="gst_message_new_duration">
+ <doc xml:whitespace="preserve">Create a new duration message. This message is posted by elements that
+know the duration of a stream in a specific format. This message
+is received by bins and is used to calculate the total duration of a
+pipeline. Elements may post a duration message with a duration of
+GST_CLOCK_TIME_NONE to indicate that the duration has changed and the
+cached duration should be discarded. The new duration can then be
+retrieved via a query.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new duration message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the duration</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new duration</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_element" c:identifier="gst_message_new_element">
+ <doc xml:whitespace="preserve">Create a new element-specific message. This is meant as a generic way of
+allowing one-way communication from an element to an application, for example
+"the firewire cable was unplugged". The format of the message should be
+documented in the element's documentation. The structure field can be NULL.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new element message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:whitespace="preserve">The structure for the message. The message will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_eos" c:identifier="gst_message_new_eos">
+ <doc xml:whitespace="preserve">Create a new eos message. This message is generated and posted in
+the sink elements of a GstBin. The bin will only forward the EOS
+message to the application if all sinks have posted an EOS message.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new eos message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_error" c:identifier="gst_message_new_error">
+ <doc xml:whitespace="preserve">Create a new error message. The message will copy @error and
+occured. The pipeline will probably (partially) stop. The application
+receiving this message should stop the pipeline.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new error message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A debugging string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_info"
+ c:identifier="gst_message_new_info"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Create a new info message. The message will make copies of @error and
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new info message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A debugging string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_latency"
+ c:identifier="gst_message_new_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">This message can be posted by elements when their latency requirements have
+changed.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new latency message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_new_clock"
+ c:identifier="gst_message_new_new_clock">
+ <doc xml:whitespace="preserve">Create a new clock message. This message is posted whenever the
+pipeline selectes a new clock for the pipeline.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new new clock message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new selected clock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_qos"
+ c:identifier="gst_message_new_qos"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">A QOS message is posted on the bus whenever an element decides to drop a
+buffer because of QoS reasons or whenever it changes its processing strategy
+because of QoS reasons (quality adjustments such as processing at lower
+accuracy).
+This message can be posted by an element that performs synchronisation against the
+clock (live) or it could be dropped by an element that performs QoS because of QOS
+events received from a downstream element (!live).
+respective running-time, stream-time, timestamp and duration of the (dropped)
+buffer that generated the QoS event. Values can be left to
+GST_CLOCK_TIME_NONE when unknown.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new qos message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="live" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if the message was generated by a live element</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the running time of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="stream_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stream time of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the timestamps of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the duration of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_request_state"
+ c:identifier="gst_message_new_request_state"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">This message can be posted by elements when they want to have their state
+changed. A typical use case would be an audio server that wants to pause the
+pipeline because a higher priority stream is being played.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new requst state message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new requested state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment_done"
+ c:identifier="gst_message_new_segment_done">
+ <doc xml:whitespace="preserve">Create a new segment done message. This message is posted by elements that
+finish playback of a segment as a result of a segment seek. This message
+is received by the application after all elements that posted a segment_start
+have posted the segment_done.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new segment done message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the position being done</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The position of the segment being done</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment_start"
+ c:identifier="gst_message_new_segment_start">
+ <doc xml:whitespace="preserve">Create a new segment message. This message is posted by elements that
+start playback of a segment as a result of a segment seek. This message
+is not received by the application but is used for maintenance reasons in
+container elements.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new segment start message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format of the position being played</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The position of the segment being played</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_state_changed"
+ c:identifier="gst_message_new_state_changed">
+ <doc xml:whitespace="preserve">Create a state change message. This message is posted whenever an element
+changed its state.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new state change message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="oldstate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the previous state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="newstate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new (current) state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="pending" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pending (target) state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_state_dirty"
+ c:identifier="gst_message_new_state_dirty">
+ <doc xml:whitespace="preserve">Create a state dirty message. This message is posted whenever an element
+changed its state asynchronously and is used internally to update the
+states of container objects.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new state dirty message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_step_done"
+ c:identifier="gst_message_new_step_done"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">This message is posted by elements when they complete a part, when @intermediate set
+to TRUE, or a complete step operation.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new step_done message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of @amount</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="amount" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of stepped data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rate of the stepped amount</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">is this an flushing step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="intermediate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">is this an intermediate step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the duration of the data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="eos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the step caused EOS</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_step_start"
+ c:identifier="gst_message_new_step_start"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">This message is posted by elements when they accept or activate a new step
+event for @amount in @format.
+queued it for execution in the streaming threads.
+is now ready to start executing the step in the streaming thread. After this
+message is emited, the application can queue a new step operation in the
+element.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new step_start message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if the step is active or queued</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of @amount</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="amount" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of stepped data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rate of the stepped amount</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">is this an flushing step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="intermediate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">is this an intermediate step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_status"
+ c:identifier="gst_message_new_stream_status"
+ version="0.10.24.">
+ <doc xml:whitespace="preserve">Create a new stream status message. This message is posted when a streaming
+thread is created/destroyed or when the state changed.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new stream status message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The stream status type.</doc>
+ <type name="StreamStatusType" c:type="GstStreamStatusType"/>
+ </parameter>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the owner element of @src.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_structure_change"
+ c:identifier="gst_message_new_structure_change"
+ version="0.10.22.">
+ <doc xml:whitespace="preserve">Create a new structure change message. This message is posted when the
+structure of a pipeline is in the process of being changed, for example
+when pads are linked or unlinked.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new structure change message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The change type.</doc>
+ <type name="StructureChangeType" c:type="GstStructureChangeType"/>
+ </parameter>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The owner element of @src.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="busy" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether the structure change is busy.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_tag" c:identifier="gst_message_new_tag">
+ <doc xml:whitespace="preserve">Create a new tag message. The message will take ownership of the tag list.
+The message is posted by elements that discovered a new taglist.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new tag message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="tag_list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the tag list for the message.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_tag_full"
+ c:identifier="gst_message_new_tag_full"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Create a new tag message. The message will take ownership of the tag list.
+The message is posted by elements that discovered a new taglist.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new tag message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the originating pad for the tag.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="tag_list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the tag list for the message.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_warning" c:identifier="gst_message_new_warning">
+ <doc xml:whitespace="preserve">Create a new warning message. The message will make copies of @error and
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new warning message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A debugging string.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="type_get_name" c:identifier="gst_message_type_get_name">
+ <doc xml:whitespace="preserve">Get a printable name for the given message type. Do not modify or free.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a reference to the static name of the message.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_to_quark" c:identifier="gst_message_type_to_quark">
+ <doc xml:whitespace="preserve">Get the unique quark for the given message type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark associated with the message type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_seqnum"
+ c:identifier="gst_message_get_seqnum"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Retrieve the sequence number of a message.
+Messages have ever-incrementing sequence numbers, which may also be set
+explicitly via gst_message_set_seqnum(). Sequence numbers are typically used
+to indicate that a message corresponds to some other set of messages or
+events, for example a SEGMENT_DONE message corresponding to a SEEK event. It
+is considered good practice to make this correspondence when possible, though
+it is not required.
+Note that events and messages share the same sequence number incrementor;
+two events or messages will never not have the same sequence number unless
+that correspondence was made explicitly.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The message's sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="get_stream_status_object"
+ c:identifier="gst_message_get_stream_status_object"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Extracts the object managing the streaming thread from @message.
+This object is usually of type GstTask but other types can be added in the
+future. The object remains valid as long as @message is valid.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue containing the object that manages the streaming thread.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ </method>
+ <method name="get_structure" c:identifier="gst_message_get_structure">
+ <doc xml:whitespace="preserve">Access the structure of the message.
+still owned by the message, which means that you should not free it and
+that the pointer becomes invalid when you free the message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The structure of the message. The structure is</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="parse_async_start"
+ c:identifier="gst_message_parse_async_start"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Extract the new_base_time from the async_start message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_base_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Result location for the new_base_time or NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering"
+ c:identifier="gst_message_parse_buffering"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Extracts the buffering percent from the GstMessage. see also
+gst_message_new_buffering().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="percent"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">Return location for the percent.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_stats"
+ c:identifier="gst_message_parse_buffering_stats"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Extracts the buffering stats values from @message.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a buffering mode, or NULL</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode*"/>
+ </parameter>
+ <parameter name="avg_in"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the average input rate, or NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="avg_out"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the average output rate, or NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="buffering_left"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">amount of buffering time left in milliseconds, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_clock_lost"
+ c:identifier="gst_message_parse_clock_lost">
+ <doc xml:whitespace="preserve">Extracts the lost clock from the GstMessage.
+The clock object returned remains valid until the message is freed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to hold the lost clock</doc>
+ <type name="Clock" c:type="GstClock**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_clock_provide"
+ c:identifier="gst_message_parse_clock_provide">
+ <doc xml:whitespace="preserve">Extracts the clock and ready flag from the GstMessage.
+The clock object returned remains valid until the message is freed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to hold a clock object, or NULL</doc>
+ <type name="Clock" c:type="GstClock**"/>
+ </parameter>
+ <parameter name="ready"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to hold the ready flag, or NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_duration" c:identifier="gst_message_parse_duration">
+ <doc xml:whitespace="preserve">Extracts the duration and format from the duration message. The duration
+might be GST_CLOCK_TIME_NONE, which indicates that the duration has
+changed. Applications should always use a query to retrieve the duration
+of a pipeline.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result location for the format, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Result location for the duration, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_error" c:identifier="gst_message_parse_error">
+ <doc xml:whitespace="preserve">Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.
+Typical usage of this function might be:
+|[
+...
+switch (GST_MESSAGE_TYPE (msg)) {
+GError *err = NULL;
+gchar *dbg_info = NULL;
+gst_message_parse_error (msg, &amp;err, &amp;dbg_info);
+GST_OBJECT_NAME (msg->src), err->message);
+g_error_free (err);
+g_free (dbg_info);
+break;
+}
+...
+}
+...
+]|
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="gerror"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location for the GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="debug"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location for the debug message, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_info"
+ c:identifier="gst_message_parse_info"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="gerror"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location for the GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="debug"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location for the debug message, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_new_clock"
+ c:identifier="gst_message_parse_new_clock">
+ <doc xml:whitespace="preserve">Extracts the new clock from the GstMessage.
+The clock object returned remains valid until the message is freed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to hold the selected new clock</doc>
+ <type name="Clock" c:type="GstClock**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos"
+ c:identifier="gst_message_parse_qos"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Extract the timestamps and live status from the QoS message.
+The returned values give the running_time, stream_time, timestamp and
+duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown
+values.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">if the message was generated by a live element</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the running time of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="stream_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the stream time of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the timestamps of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the duration of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos_stats"
+ c:identifier="gst_message_parse_qos_stats"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Extract the QoS stats representing the history of the current continuous
+pipeline playback period.
+When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
+invalid. Values of -1 for either @processed or @dropped mean unknown values.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples).</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="processed"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">Total number of units correctly processed since the last state change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="dropped"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">Total number of units dropped since the last state change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos_values"
+ c:identifier="gst_message_parse_qos_values"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Extract the QoS values that have been calculated/analysed from the QoS data
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">The difference of the running-time against the deadline.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="proportion"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">Long term prediction of the ideal rate relative to normal rate to get optimal quality.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="quality"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_request_state"
+ c:identifier="gst_message_parse_request_state"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Extract the requested state from the request_state message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result location for the requested state or NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment_done"
+ c:identifier="gst_message_parse_segment_done">
+ <doc xml:whitespace="preserve">Extracts the position and format from the segment start message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result location for the format, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Result location for the position, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment_start"
+ c:identifier="gst_message_parse_segment_start">
+ <doc xml:whitespace="preserve">Extracts the position and format from the segment start message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result location for the format, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Result location for the position, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_state_changed"
+ c:identifier="gst_message_parse_state_changed">
+ <doc xml:whitespace="preserve">Extracts the old and new states from the GstMessage.
+Typical usage of this function might be:
+|[
+...
+switch (GST_MESSAGE_TYPE (msg)) {
+GstState old_state, new_state;
+gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL);
+g_print ("Element %s changed state from %s to %s.\n",
+GST_OBJECT_NAME (msg->src),
+gst_element_state_get_name (old_state),
+gst_element_state_get_name (new_state));
+break;
+}
+...
+}
+...
+]|
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="oldstate"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the previous state, or NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="newstate"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the new (current) state, or NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the pending (target) state, or NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_step_done"
+ c:identifier="gst_message_parse_step_done"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Extract the values the step_done message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="amount"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the amount</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the rate</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="flush"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the flush flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="intermediate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the intermediate flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the duration</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="eos"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the EOS flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_step_start"
+ c:identifier="gst_message_parse_step_start"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Extract the values from step_start message.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="active"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the active flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="amount"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the amount</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the rate</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="flush"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the flush flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="intermediate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">result location for the intermediate flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_status"
+ c:identifier="gst_message_parse_stream_status"
+ version="0.10.24.">
+ <doc xml:whitespace="preserve">Extracts the stream status type and owner the GstMessage. The returned
+owner remains valid for as long as the reference to @message is valid and
+should thus not be unreffed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to hold the status type</doc>
+ <type name="StreamStatusType" c:type="GstStreamStatusType*"/>
+ </parameter>
+ <parameter name="owner"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">The owner element of the message source</doc>
+ <type name="Element" c:type="GstElement**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_structure_change"
+ c:identifier="gst_message_parse_structure_change"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Extracts the change type and completion status from the GstMessage.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to hold the change type</doc>
+ <type name="StructureChangeType" c:type="GstStructureChangeType*"/>
+ </parameter>
+ <parameter name="owner"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">The owner element of the message source</doc>
+ <type name="Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="busy"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a pointer to hold whether the change is in progress or has been completed</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_tag" c:identifier="gst_message_parse_tag">
+ <doc xml:whitespace="preserve">Extracts the tag list from the GstMessage. The tag list returned in the
+output argument is a copy; the caller must free it when done.
+Typical usage of this function might be:
+|[
+...
+switch (GST_MESSAGE_TYPE (msg)) {
+GstTagList *tags = NULL;
+gst_message_parse_tag (msg, &amp;tags);
+g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src));
+handle_tags (tags);
+gst_tag_list_free (tags);
+break;
+}
+...
+}
+...
+]|
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag_list"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">return location for the tag-list.</doc>
+ <type name="TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_tag_full"
+ c:identifier="gst_message_parse_tag_full"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Extracts the tag list from the GstMessage. The tag list returned in the
+output argument is a copy; the caller must free it when done.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location where the originating pad is stored, unref after usage</doc>
+ <type name="Pad" c:type="GstPad**"/>
+ </parameter>
+ <parameter name="tag_list"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">return location for the tag-list.</doc>
+ <type name="TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_warning" c:identifier="gst_message_parse_warning">
+ <doc xml:whitespace="preserve">Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="gerror"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location for the GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="debug"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location for the debug message, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_stats"
+ c:identifier="gst_message_set_buffering_stats"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Configures the buffering stats values in @message.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a buffering mode</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode"/>
+ </parameter>
+ <parameter name="avg_in" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the average input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="avg_out" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the average output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="buffering_left" transfer-ownership="none">
+ <doc xml:whitespace="preserve">amount of buffering time left in milliseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_stats"
+ c:identifier="gst_message_set_qos_stats"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Set the QoS stats representing the history of the current continuous pipeline
+playback period.
+When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
+invalid. Values of -1 for either @processed or @dropped mean unknown values.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples).</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="processed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Total number of units correctly processed since the last state change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="dropped" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Total number of units dropped since the last state change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_values"
+ c:identifier="gst_message_set_qos_values"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Set the QoS values that have been calculated/analysed from the QoS data
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The difference of the running-time against the deadline.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="proportion" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Long term prediction of the ideal rate relative to normal rate to get optimal quality.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="quality" transfer-ownership="none">
+ <doc xml:whitespace="preserve">An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seqnum"
+ c:identifier="gst_message_set_seqnum"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the sequence number of a message.
+This function might be called by the creator of a message to indicate that
+the message relates to other messages or events. See gst_message_get_seqnum()
+for more information.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="seqnum" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_status_object"
+ c:identifier="gst_message_set_stream_status_object"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Configures the object handling the streaming thread. This is usually a
+GstTask object but other objects might be added in the future.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object controlling the streaming</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="mini_object">
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="type">
+ <type name="MessageType" c:type="GstMessageType"/>
+ </field>
+ <field name="timestamp">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="src">
+ <type name="Object" c:type="GstObject*"/>
+ </field>
+ <field name="structure">
+ <type name="Structure" c:type="GstStructure*"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="seqnum" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <record name="MessageClass"
+ c:type="GstMessageClass"
+ glib:is-gtype-struct-for="Message">
+ <field name="mini_object_class">
+ <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="MessageType" c:type="GstMessageType">
+ <doc xml:whitespace="preserve">The different message types that are available.</doc>
+ <member name="unknown" value="0" c:identifier="GST_MESSAGE_UNKNOWN"/>
+ <member name="eos" value="1" c:identifier="GST_MESSAGE_EOS"/>
+ <member name="error" value="2" c:identifier="GST_MESSAGE_ERROR"/>
+ <member name="warning" value="4" c:identifier="GST_MESSAGE_WARNING"/>
+ <member name="info" value="8" c:identifier="GST_MESSAGE_INFO"/>
+ <member name="tag" value="16" c:identifier="GST_MESSAGE_TAG"/>
+ <member name="buffering"
+ value="32"
+ c:identifier="GST_MESSAGE_BUFFERING"/>
+ <member name="state_changed"
+ value="64"
+ c:identifier="GST_MESSAGE_STATE_CHANGED"/>
+ <member name="state_dirty"
+ value="128"
+ c:identifier="GST_MESSAGE_STATE_DIRTY"/>
+ <member name="step_done"
+ value="256"
+ c:identifier="GST_MESSAGE_STEP_DONE"/>
+ <member name="clock_provide"
+ value="512"
+ c:identifier="GST_MESSAGE_CLOCK_PROVIDE"/>
+ <member name="clock_lost"
+ value="1024"
+ c:identifier="GST_MESSAGE_CLOCK_LOST"/>
+ <member name="new_clock"
+ value="2048"
+ c:identifier="GST_MESSAGE_NEW_CLOCK"/>
+ <member name="structure_change"
+ value="4096"
+ c:identifier="GST_MESSAGE_STRUCTURE_CHANGE"/>
+ <member name="stream_status"
+ value="8192"
+ c:identifier="GST_MESSAGE_STREAM_STATUS"/>
+ <member name="application"
+ value="16384"
+ c:identifier="GST_MESSAGE_APPLICATION"/>
+ <member name="element" value="32768" c:identifier="GST_MESSAGE_ELEMENT"/>
+ <member name="segment_start"
+ value="65536"
+ c:identifier="GST_MESSAGE_SEGMENT_START"/>
+ <member name="segment_done"
+ value="131072"
+ c:identifier="GST_MESSAGE_SEGMENT_DONE"/>
+ <member name="duration"
+ value="262144"
+ c:identifier="GST_MESSAGE_DURATION"/>
+ <member name="latency"
+ value="524288"
+ c:identifier="GST_MESSAGE_LATENCY"/>
+ <member name="async_start"
+ value="1048576"
+ c:identifier="GST_MESSAGE_ASYNC_START"/>
+ <member name="async_done"
+ value="2097152"
+ c:identifier="GST_MESSAGE_ASYNC_DONE"/>
+ <member name="request_state"
+ value="4194304"
+ c:identifier="GST_MESSAGE_REQUEST_STATE"/>
+ <member name="step_start"
+ value="8388608"
+ c:identifier="GST_MESSAGE_STEP_START"/>
+ <member name="qos" value="16777216" c:identifier="GST_MESSAGE_QOS"/>
+ <member name="any" value="-1" c:identifier="GST_MESSAGE_ANY"/>
+ </bitfield>
+ <class name="MiniObject"
+ c:symbol-prefix="mini_object"
+ c:type="GstMiniObject"
+ abstract="1"
+ glib:type-name="GstMiniObject"
+ glib:get-type="gst_mini_object_get_type"
+ glib:type-struct="MiniObjectClass"
+ glib:fundamental="1"
+ glib:ref-func="gst_mini_object_ref"
+ glib:unref-func="gst_mini_object_unref"
+ glib:set-value-func="gst_value_set_mini_object"
+ glib:get-value-func="gst_value_get_mini_object">
+ <doc xml:whitespace="preserve">Base class for refcounted lightweight objects.</doc>
+ <constructor name="new" c:identifier="gst_mini_object_new">
+ <doc xml:whitespace="preserve">Creates a new mini-object of the desired type.
+MT safe</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new mini-object.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType of the mini-object to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="replace" c:identifier="gst_mini_object_replace">
+ <doc xml:whitespace="preserve">Modifies a pointer to point to a new mini-object. The modification
+is done atomically, and the reference counts are updated correctly.
+Either @newdata and the value pointed to by @olddata may be NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a pointer to a mini-object to be replaced</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ <parameter name="newdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to new mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="copy" c:identifier="gst_mini_object_copy">
+ <doc xml:whitespace="preserve">Creates a copy of the mini-object.
+MT safe</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new mini-object.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ </method>
+ <method name="is_writable" c:identifier="gst_mini_object_is_writable">
+ <doc xml:whitespace="preserve">Checks if a mini-object is writable. A mini-object is writable
+if the reference count is one and the #GST_MINI_OBJECT_FLAG_READONLY
+flag is not set. Modification of a mini-object should only be
+done after verifying that it is writable.
+MT safe</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the object is writable.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="make_writable"
+ c:identifier="gst_mini_object_make_writable">
+ <doc xml:whitespace="preserve">Checks if a mini-object is writable. If not, a writable copy is made and
+returned. This gives away the reference to the original mini object,
+and returns a reference to the new object.
+MT safe
+is writable.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a mini-object (possibly the same pointer) that</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ </method>
+ <method name="ref" c:identifier="gst_mini_object_ref" introspectable="0">
+ <doc xml:whitespace="preserve">Increase the reference count of the mini-object.
+Note that the refcount affects the writeability
+of @mini-object, see gst_mini_object_is_writable(). It is
+important to note that keeping additional references to
+GstMiniObject instances can potentially increase the number
+of memcpy operations in a pipeline, especially if the miniobject
+is a #GstBuffer.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the mini-object.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ </method>
+ <method name="unref" c:identifier="gst_mini_object_unref">
+ <doc xml:whitespace="preserve">Decreases the reference count of the mini-object, possibly freeing
+the mini-object.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <field name="instance">
+ <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
+ </field>
+ <field name="refcount">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="flags">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </class>
+ <record name="MiniObjectClass"
+ c:type="GstMiniObjectClass"
+ glib:is-gtype-struct-for="MiniObject">
+ <field name="type_class">
+ <type name="GObject.TypeClass" c:type="GTypeClass"/>
+ </field>
+ <field name="copy" introspectable="0">
+ <type name="MiniObjectCopyFunction"
+ c:type="GstMiniObjectCopyFunction"/>
+ </field>
+ <field name="finalize">
+ <type name="MiniObjectFinalizeFunction"
+ c:type="GstMiniObjectFinalizeFunction"/>
+ </field>
+ <field name="_gst_reserved">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </record>
+ <callback name="MiniObjectCopyFunction"
+ c:type="GstMiniObjectCopyFunction"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Virtual function prototype for methods to create copies of instances.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">reference to cloned instance.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">MiniObject to copy</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MiniObjectFinalizeFunction"
+ c:type="GstMiniObjectFinalizeFunction">
+ <doc xml:whitespace="preserve">Virtual function prototype for methods to free ressources used by
+mini-objects. Subclasses of the mini object are allowed to revive the
+passed object by doing a gst_mini_object_ref(). If the object is not
+revived after the finalize function, the memory associated with the
+object is freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">MiniObject to finalize</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="MiniObjectFlags" c:type="GstMiniObjectFlags">
+ <doc xml:whitespace="preserve">Flags for the padtemplate</doc>
+ <member name="readonly"
+ value="1"
+ c:identifier="GST_MINI_OBJECT_FLAG_READONLY"/>
+ <member name="last" value="16" c:identifier="GST_MINI_OBJECT_FLAG_LAST"/>
+ </bitfield>
+ <constant name="NSECOND" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="Object"
+ c:symbol-prefix="object"
+ c:type="GstObject"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GstObject"
+ glib:get-type="gst_object_get_type"
+ glib:type-struct="ObjectClass">
+ <doc xml:whitespace="preserve">GStreamer base object class.</doc>
+ <function name="check_uniqueness"
+ c:identifier="gst_object_check_uniqueness">
+ <doc xml:whitespace="preserve">Checks to see if there is any object named @name in @list. This function
+does not do any locking of any kind. You might want to protect the
+provided list with the lock of the owner of the list. This function
+will lock each #GstObject in the list to compare the name, so be
+carefull when passing a list with a locked object.
+FALSE if it does.
+MT safe. Grabs and releases the LOCK of each object in the list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if a #GstObject named @name does not appear in @list,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list of #GstObject to check through</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Object"/>
+ </type>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name to search for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="default_deep_notify"
+ c:identifier="gst_object_default_deep_notify">
+ <doc xml:whitespace="preserve">A default deep_notify signal callback for an object. The user data
+should contain a pointer to an array of strings that should be excluded
+from the notify. The default handler will print the new value of the property
+using g_print.
+MT safe. This function grabs and releases @object's LOCK for getting its
+path string.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GObject that signalled the notify.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="orig" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject that initiated the notify.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GParamSpec of the property.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="excluded_props" transfer-ownership="none">
+ <doc xml:whitespace="preserve">(array zero-terminated=1) (element-type gchar*) (allow-none):a set of user-specified properties to exclude or NULL to show all changes.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ref" c:identifier="gst_object_ref">
+ <doc xml:whitespace="preserve">Increments the reference count on @object. This function
+does not take the lock on @object because it relies on
+atomic refcounting.
+This object returns the input parameter to ease writing
+constructs like :
+result = gst_object_ref (object->parent);</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A pointer to @object</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject to reference</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ref_sink"
+ c:identifier="gst_object_ref_sink"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Increase the reference count of @object, and possibly remove the floating
+reference, if @object has a floating reference.
+In other words, if the object is floating, then this call "assumes ownership"
+of the floating reference, converting it to a normal reference by clearing
+the floating flag while leaving the reference count unchanged. If the object
+is not floating, then this call adds a new normal reference increasing the
+reference count by one.
+MT safe. This function grabs and releases @object lock.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject to sink</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="replace" c:identifier="gst_object_replace">
+ <doc xml:whitespace="preserve">Unrefs the #GstObject pointed to by @oldobj, refs @newobj and
+puts @newobj in *@oldobj. Be carefull when calling this
+function, it does not take any locks. You might want to lock
+the object owning @oldobj pointer before calling this
+function.
+Make sure not to LOCK @oldobj because it might be unreffed
+which could cause a deadlock when it is disposed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="oldobj"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a place of a #GstObject to replace</doc>
+ <type name="Object" c:type="GstObject**"/>
+ </parameter>
+ <parameter name="newobj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sink" c:identifier="gst_object_sink">
+ <doc xml:whitespace="preserve">If @object was floating, the #GST_OBJECT_FLOATING flag is removed
+and @object is unreffed. When @object was not floating,
+this function does nothing.
+Any newly created object has a refcount of 1 and is floating.
+This function should be used when creating a new object to
+symbolically 'take ownership' of @object. This done by first doing a
+gst_object_ref() to keep a reference to @object and then gst_object_sink()
+to remove and unref any floating references to @object.
+Use gst_object_set_parent() to have this done for you.
+MT safe. This function grabs and releases @object lock.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject to sink</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="unref" c:identifier="gst_object_unref">
+ <doc xml:whitespace="preserve">Decrements the reference count on @object. If reference count hits
+zero, destroy @object. This function does not take the lock
+on @object as it relies on atomic refcounting.
+The unref method should never be called with the LOCK held since
+this might deadlock the dispose function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject to unreference</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="restore_thyself" invoker="restore_thyself">
+ <doc xml:whitespace="preserve">Restores @object with the data from the parent XML node.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The XML node to load @object from</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="save_thyself"
+ invoker="save_thyself"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Saves @object into the parent XML node.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the new xmlNodePtr with the saved object</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The parent XML node to save @object into</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="default_error" c:identifier="gst_object_default_error">
+ <doc xml:whitespace="preserve">A default error function.
+The default handler will simply print the error string using g_print.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GError.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">an additional debug information string, or NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_object_get_name">
+ <doc xml:whitespace="preserve">Returns a copy of the name of @object.
+Caller should g_free() the return value after usage.
+For a nameless object, this returns NULL, which you can safely g_free()
+as well.
+MT safe. This function grabs and releases @object's LOCK.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the name of @object. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_name_prefix"
+ c:identifier="gst_object_get_name_prefix"
+ deprecated="deprecated because the name prefix has never actually been used">
+ <doc xml:whitespace="preserve">Returns a copy of the name prefix of @object.
+Caller should g_free() the return value after usage.
+For a prefixless object, this returns NULL, which you can safely g_free()
+as well.
+MT safe. This function grabs and releases @object's LOCK.
+for anything.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the name prefix of @object. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_parent" c:identifier="gst_object_get_parent">
+ <doc xml:whitespace="preserve">Returns the parent of @object. This function increases the refcount
+of the parent object so you should gst_object_unref() it after usage.
+has no parent. unref after usage.
+MT safe. Grabs and releases @object's LOCK.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">parent of @object, this can be NULL if @object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </return-value>
+ </method>
+ <method name="get_path_string" c:identifier="gst_object_get_path_string">
+ <doc xml:whitespace="preserve">Generates a string describing the path of @object in
+the object hierarchy. Only useful (or used) for debugging.
+g_free() the string after usage.
+MT safe. Grabs and releases the #GstObject's LOCK for all objects
+in the hierarchy.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a string describing the path of @object. You must</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="has_ancestor" c:identifier="gst_object_has_ancestor">
+ <doc xml:whitespace="preserve">Check if @object has an ancestor @ancestor somewhere up in
+the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.
+MT safe. Grabs and releases @object's locks.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @ancestor is an ancestor of @object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ancestor" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject to check as ancestor</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="restore_thyself" c:identifier="gst_object_restore_thyself">
+ <doc xml:whitespace="preserve">Restores @object with the data from the parent XML node.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The XML node to load @object from</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_thyself"
+ c:identifier="gst_object_save_thyself"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Saves @object into the parent XML node.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the new xmlNodePtr with the saved object</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The parent XML node to save @object into</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="gst_object_set_name">
+ <doc xml:whitespace="preserve">Sets the name of @object, or gives @object a guaranteed unique
+name (if @name is NULL).
+This function makes a copy of the provided name, so the caller
+retains ownership of the name it sent.
+a parent cannot be renamed, this function returns FALSE in those
+cases.
+MT safe. This function grabs and releases @object's LOCK.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the name could be set. Since Objects that have</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new name of object</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name_prefix"
+ c:identifier="gst_object_set_name_prefix"
+ deprecated="deprecated because the name prefix has never actually been used">
+ <doc xml:whitespace="preserve">Sets the name prefix of @object to @name_prefix.
+This function makes a copy of the provided name prefix, so the caller
+retains ownership of the name prefix it sent.
+MT safe. This function grabs and releases @object's LOCK.
+for anything.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name_prefix" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new name prefix of @object</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent" c:identifier="gst_object_set_parent">
+ <doc xml:whitespace="preserve">Sets the parent of @object to @parent. The object's reference count will
+be incremented, and any floating reference will be removed (see gst_object_sink()).
+This function causes the parent-set signal to be emitted when the parent
+was successfully set.
+already had a parent or @object and @parent are the same.
+MT safe. Grabs and releases @object's LOCK.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @parent could be set or FALSE when @object</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new parent of object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unparent" c:identifier="gst_object_unparent">
+ <doc xml:whitespace="preserve">Clear the parent of @object, removing the associated reference.
+This function decreases the refcount of @object.
+MT safe. Grabs and releases @object's lock.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <property name="name"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="refcount">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="name">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="name_prefix">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="parent">
+ <type name="Object" c:type="GstObject*"/>
+ </field>
+ <field name="flags">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="_gst_reserved">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <glib:signal name="deep-notify" introspectable="0">
+ <doc xml:whitespace="preserve">The deep notify signal is used to be notified of property changes. It is
+typically attached to the toplevel bin to receive notifications from all
+the elements contained in that bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that originated the signal</doc>
+ <type name="Object"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the property that changed</doc>
+ <type/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="object-saved">
+ <doc xml:whitespace="preserve">Trigered whenever a new object is saved to XML. You can connect to this
+signal to insert custom XML tags into the core XML.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the xmlNodePtr of the parent node</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="parent-set">
+ <doc xml:whitespace="preserve">Emitted when the parent of an object is set.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new parent</doc>
+ <type name="Object"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="parent-unset">
+ <doc xml:whitespace="preserve">Emitted when the parent of an object is unset.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the old parent</doc>
+ <type name="Object"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ObjectClass"
+ c:type="GstObjectClass"
+ glib:is-gtype-struct-for="Object">
+ <doc xml:whitespace="preserve">GStreamer base object class.</doc>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="path_string_separator">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="signal_object">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </field>
+ <field name="lock">
+ <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
+ </field>
+ <field name="parent_set">
+ <callback name="parent_set">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parent_unset">
+ <callback name="parent_unset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="object_saved">
+ <callback name="object_saved">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="deep_notify">
+ <callback name="deep_notify">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="orig" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="save_thyself" introspectable="0">
+ <callback name="save_thyself" introspectable="0">
+ <return-value>
+ <doc xml:whitespace="preserve">the new xmlNodePtr with the saved object</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The parent XML node to save @object into</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="restore_thyself">
+ <callback name="restore_thyself">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The XML node to load @object from</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="ObjectFlags" c:type="GstObjectFlags">
+ <doc xml:whitespace="preserve">The standard flags that an gstobject may have.</doc>
+ <member name="disposing" value="1" c:identifier="GST_OBJECT_DISPOSING"/>
+ <member name="floating" value="2" c:identifier="GST_OBJECT_FLOATING"/>
+ <member name="flag_last" value="16" c:identifier="GST_OBJECT_FLAG_LAST"/>
+ </bitfield>
+ <constant name="PAD_LINK_CHECK_DEFAULT" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_CONTROLLABLE" value="2">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_MUTABLE_PAUSED" value="8">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_MUTABLE_PLAYING" value="16">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_MUTABLE_READY" value="4">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_USER_SHIFT" value="256">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="Pad"
+ c:symbol-prefix="pad"
+ c:type="GstPad"
+ parent="Object"
+ glib:type-name="GstPad"
+ glib:get-type="gst_pad_get_type"
+ glib:type-struct="PadClass">
+ <doc xml:whitespace="preserve">The #GstPad structure. Use the functions to update the variables.</doc>
+ <constructor name="new" c:identifier="gst_pad_new">
+ <doc xml:whitespace="preserve">Creates a new pad with the given name in the given direction.
+If name is NULL, a guaranteed unique name (across all pads)
+will be assigned.
+This function makes a copy of the name so you can safely free the name.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the new pad.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadDirection of the pad.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_static_template"
+ c:identifier="gst_pad_new_from_static_template">
+ <doc xml:whitespace="preserve">Creates a new pad with the given name from the given static template.
+If name is NULL, a guaranteed unique name (across all pads)
+will be assigned.
+This function makes a copy of the name so you can safely free the name.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstStaticPadTemplate to use</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the element</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_template"
+ c:identifier="gst_pad_new_from_template">
+ <doc xml:whitespace="preserve">Creates a new pad with the given name from the given template.
+If name is NULL, a guaranteed unique name (across all pads)
+will be assigned.
+This function makes a copy of the name so you can safely free the name.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPad, or NULL in case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad template to use</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the element</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="load_and_link" c:identifier="gst_pad_load_and_link">
+ <doc xml:whitespace="preserve">Reads the pad definition from the XML node and links the given pad
+in the element to a pad of an element up in the hierarchy.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an #xmlNodePtr to read the description from.</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstObject element that owns the pad.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="accept_caps" c:identifier="gst_pad_accept_caps">
+ <doc xml:whitespace="preserve">Check if the given pad accepts the caps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad can accept the caps.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to check on the pad</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="activate_pull" c:identifier="gst_pad_activate_pull">
+ <doc xml:whitespace="preserve">Activates or deactivates the given pad in pull mode via dispatching to the
+pad's activatepullfunc. For use from within pad activation functions only.
+When called on sink pads, will first proxy the call to the peer pad, which
+is expected to activate its internally linked pads from within its
+activate_pull function.
+If you don't know what this is, you probably don't want to call it.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether or not the pad should be active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="activate_push" c:identifier="gst_pad_activate_push">
+ <doc xml:whitespace="preserve">Activates or deactivates the given pad in push mode via dispatching to the
+pad's activatepushfunc. For use from within pad activation functions only.
+If you don't know what this is, you probably don't want to call it.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the pad should be active or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_buffer_probe"
+ c:identifier="gst_pad_add_buffer_probe"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a probe that will be called for all buffers passing through a pad. See
+gst_pad_add_data_probe() for more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The handler id</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">function to call when buffers are passed over pad</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass along with the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_buffer_probe_full"
+ c:identifier="gst_pad_add_buffer_probe_full"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Adds a probe that will be called for all buffers passing through a pad. See
+gst_pad_add_data_probe() for more information.
+The @notify function is called when the probe is disconnected and usually
+used to free @data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The handler id</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:whitespace="preserve">function to call when buffer are passed over pad</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass along with the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">function to call when the probe is disconnected, or NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_data_probe"
+ c:identifier="gst_pad_add_data_probe"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a "data probe" to a pad. This function will be called whenever data
+passes through a pad. In this case data means both events and buffers. The
+probe will be called with the data as an argument, meaning @handler should
+have the same callback signature as the #GstPad::have-data signal.
+Note that the data will have a reference count greater than 1, so it will
+be immutable -- you must not change it.
+For source pads, the probe will be called after the blocking function, if any
+(see gst_pad_set_blocked_async()), but before looking up the peer to chain
+to. For sink pads, the probe function will be called before configuring the
+sink with new caps, if any, and before calling the pad's chain function.
+Your data probe should return TRUE to let the data continue to flow, or FALSE
+to drop it. Dropping data is rarely useful, but occasionally comes in handy
+with events.
+Although probes are implemented internally by connecting @handler to the
+have-data signal on the pad, if you want to remove a probe it is insufficient
+to only call g_signal_handler_disconnect on the returned handler id. To
+remove a probe, use the appropriate function, such as
+gst_pad_remove_data_probe().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The handler id.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">function to call when data is passed over pad</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass along with the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_data_probe_full"
+ c:identifier="gst_pad_add_data_probe_full"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Adds a "data probe" to a pad. This function will be called whenever data
+passes through a pad. In this case data means both events and buffers. The
+probe will be called with the data as an argument, meaning @handler should
+have the same callback signature as the #GstPad::have-data signal.
+Note that the data will have a reference count greater than 1, so it will
+be immutable -- you must not change it.
+For source pads, the probe will be called after the blocking function, if any
+(see gst_pad_set_blocked_async()), but before looking up the peer to chain
+to. For sink pads, the probe function will be called before configuring the
+sink with new caps, if any, and before calling the pad's chain function.
+Your data probe should return TRUE to let the data continue to flow, or FALSE
+to drop it. Dropping data is rarely useful, but occasionally comes in handy
+with events.
+Although probes are implemented internally by connecting @handler to the
+have-data signal on the pad, if you want to remove a probe it is insufficient
+to only call g_signal_handler_disconnect on the returned handler id. To
+remove a probe, use the appropriate function, such as
+gst_pad_remove_data_probe().
+The @notify function is called when the probe is disconnected and usually
+used to free @data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The handler id.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:whitespace="preserve">function to call when data is passed over pad</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass along with the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">function to call when the probe is disconnected, or NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_event_probe"
+ c:identifier="gst_pad_add_event_probe"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds a probe that will be called for all events passing through a pad. See
+gst_pad_add_data_probe() for more information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The handler id</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">function to call when events are passed over pad</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass along with the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_event_probe_full"
+ c:identifier="gst_pad_add_event_probe_full"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Adds a probe that will be called for all events passing through a pad. See
+gst_pad_add_data_probe() for more information.
+The @notify function is called when the probe is disconnected and usually
+used to free @data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The handler id</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:whitespace="preserve">function to call when events are passed over pad</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass along with the handler, or NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async">
+ <doc xml:whitespace="preserve">function to call when probe is disconnected, or NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="alloc_buffer" c:identifier="gst_pad_alloc_buffer">
+ <doc xml:whitespace="preserve">Allocates a new, empty buffer optimized to push to pad @pad. This
+function only works if @pad is a source pad and has a peer.
+A new, empty #GstBuffer will be put in the @buf argument.
+You need to check the caps of the buffer after performing this
+function and renegotiate to the format if needed. If the caps changed, it is
+possible that the buffer returned in @buf is not of the right size for the
+new format, @buf needs to be unreffed and reallocated if this is the case.
+result code other than #GST_FLOW_OK is an error and @buf should
+not be used.
+An error can occur if the pad is not connected or when the downstream
+peer elements cannot provide an acceptable buffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a result code indicating success of the operation. Any</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset of the new buffer in the stream</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the new buffer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the caps of the new buffer</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a newly allocated buffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="alloc_buffer_and_set_caps"
+ c:identifier="gst_pad_alloc_buffer_and_set_caps">
+ <doc xml:whitespace="preserve">In addition to the function gst_pad_alloc_buffer(), this function
+automatically calls gst_pad_set_caps() when the caps of the
+newly allocated buffer are different from the @pad caps.
+After a renegotiation, the size of the new buffer returned in @buf could
+be of the wrong size for the new format and must be unreffed an reallocated
+in that case.
+result code other than #GST_FLOW_OK is an error and @buf should
+not be used.
+An error can occur if the pad is not connected or when the downstream
+peer elements cannot provide an acceptable buffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a result code indicating success of the operation. Any</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset of the new buffer in the stream</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the new buffer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the caps of the new buffer</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated buffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_link" c:identifier="gst_pad_can_link">
+ <doc xml:whitespace="preserve">Checks if the source pad and the sink pad are compatible so they can be
+linked.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pads can be linked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="chain" c:identifier="gst_pad_chain">
+ <doc xml:whitespace="preserve">Chain a buffer to @pad.
+The function returns #GST_FLOW_WRONG_STATE if the pad was flushing.
+If the caps on @buffer are different from the current caps on @pad, this
+function will call any setcaps function (see gst_pad_set_setcaps_function())
+installed on @pad. If the new caps are not acceptable for @pad, this
+function returns #GST_FLOW_NOT_NEGOTIATED.
+The function proceeds calling the chain function installed on @pad (see
+gst_pad_set_chain_function()) and the return value of that function is
+returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
+chain function.
+In all cases, success or failure, the caller loses its reference to @buffer
+after calling this function.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstBuffer to send, return GST_FLOW_ERROR if not.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="chain_list"
+ c:identifier="gst_pad_chain_list"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Chain a bufferlist to @pad.
+The function returns #GST_FLOW_WRONG_STATE if the pad was flushing.
+If the caps on the first buffer of @list are different from the current
+caps on @pad, this function will call any setcaps function
+(see gst_pad_set_setcaps_function()) installed on @pad. If the new caps
+are not acceptable for @pad, this function returns #GST_FLOW_NOT_NEGOTIATED.
+The function proceeds calling the chainlist function installed on @pad (see
+gst_pad_set_chain_list_function()) and the return value of that function is
+returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
+chainlist function.
+In all cases, success or failure, the caller loses its reference to @list
+after calling this function.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstBufferList to send, return GST_FLOW_ERROR if not.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_pull_range" c:identifier="gst_pad_check_pull_range">
+ <doc xml:whitespace="preserve">Checks if a gst_pad_pull_range() can be performed on the peer
+source pad. This function is used by plugins that want to check
+if they can use random access on the peer source pad.
+The peer sourcepad can implement a custom #GstPadCheckGetRangeFunction
+if it needs to perform some logic to determine if pull_range is
+possible.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a gboolean with the result.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="dispatcher"
+ c:identifier="gst_pad_dispatcher"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Invokes the given dispatcher function on each respective peer of
+all pads that are internally linked to the given pad.
+The GstPadDispatcherFunction should return TRUE when no further pads
+need to be processed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if one of the dispatcher functions returned TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dispatch" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the #GstPadDispatcherFunction to call.</doc>
+ <type name="PadDispatcherFunction"
+ c:type="GstPadDispatcherFunction"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">gpointer user data passed to the dispatcher function.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="event_default" c:identifier="gst_pad_event_default">
+ <doc xml:whitespace="preserve">Invokes the default event handler for the given pad. End-of-stream and
+discontinuity events are handled specially, and then the event is sent to all
+pads internally linked to @pad. Note that if there are many possible sink
+pads that are internally linked to @pad, only one will be sent an event.
+Multi-sinkpad elements should implement custom event handlers.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the event was sent succesfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEvent to handle.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_caps" c:identifier="gst_pad_fixate_caps">
+ <doc xml:whitespace="preserve">Fixate a caps on the given pad. Modifies the caps in place, so you should
+make sure that the caps are actually writable (see gst_caps_make_writable()).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to fixate</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allowed_caps" c:identifier="gst_pad_get_allowed_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities of the allowed media types that can flow through
+The allowed capabilities is calculated as the intersection of the results of
+calling gst_pad_get_caps() on @pad and its peer. The caller owns a reference
+on the resulting caps.
+caps when you no longer need it. This function returns NULL when @pad
+has no peer.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the allowed #GstCaps of the pad link. Unref the</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_caps" c:identifier="gst_pad_get_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities this pad can produce or consume.
+Note that this method doesn't necessarily return the caps set by
+gst_pad_set_caps() - use GST_PAD_CAPS() for that instead.
+gst_pad_get_caps returns all possible caps a pad can operate with, using
+the pad's get_caps function;
+this returns the pad template caps if not explicitly set.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated copy of the #GstCaps of this pad</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_caps_reffed"
+ c:identifier="gst_pad_get_caps_reffed"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Gets the capabilities this pad can produce or consume. Preferred function if
+one only wants to read or intersect the caps.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the caps of the pad with incremented ref-count.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_direction" c:identifier="gst_pad_get_direction">
+ <doc xml:whitespace="preserve">Gets the direction of the pad. The direction of the pad is
+decided at construction time so this function does not take
+the LOCK.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadDirection of the pad.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </return-value>
+ </method>
+ <method name="get_element_private"
+ c:identifier="gst_pad_get_element_private">
+ <doc xml:whitespace="preserve">Gets the private data of a pad.
+No locking is performed in this function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gpointer to the private data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ </method>
+ <method name="get_fixed_caps_func"
+ c:identifier="gst_pad_get_fixed_caps_func">
+ <doc xml:whitespace="preserve">A helper function you can use as a GetCaps function that
+will return the currently negotiated caps or the padtemplate
+when NULL.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the currently negotiated caps or the padtemplate.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_internal_links"
+ c:identifier="gst_pad_get_internal_links"
+ deprecated="This function does not ref the pads in the list so that they">
+ <doc xml:whitespace="preserve">Gets a list of pads to which the given pad is linked to
+inside of the parent element.
+The caller must free this list after use.
+Not MT safe.
+of pads, free with g_list_free().
+could become invalid by the time the application accesses them. It's also
+possible that the list changes while handling the pads, which the caller of
+this function is unable to know. Use the thread-safe
+gst_pad_iterate_internal_links() instead.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GList</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Pad"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_internal_links_default"
+ c:identifier="gst_pad_get_internal_links_default"
+ deprecated="This function does not ref the pads in the list so that they">
+ <doc xml:whitespace="preserve">Gets a list of pads to which the given pad is linked to
+inside of the parent element.
+This is the default handler, and thus returns a list of all of the
+pads inside the parent element with opposite direction.
+The caller must free this list after use with g_list_free().
+of pads, or NULL if the pad has no parent.
+Not MT safe.
+could become invalid by the time the application accesses them. It's also
+possible that the list changes while handling the pads, which the caller of
+this function is unable to know. Use the thread-safe
+gst_pad_iterate_internal_links_default() instead.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GList</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Pad"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_negotiated_caps"
+ c:identifier="gst_pad_get_negotiated_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities of the media type that currently flows through @pad
+and its peer.
+This function can be used on both src and sinkpads. Note that srcpads are
+always negotiated before sinkpads so it is possible that the negotiated caps
+on the srcpad do not match the negotiated caps of the peer.
+the caps when you no longer need it. This function returns NULL when
+the @pad has no peer or is not negotiated yet.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the negotiated #GstCaps of the pad link. Unref</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_pad_template" c:identifier="gst_pad_get_pad_template">
+ <doc xml:whitespace="preserve">Gets the template for @pad.
+instantiated, or %NULL if this pad has no template.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadTemplate from which this pad was</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ </method>
+ <method name="get_pad_template_caps"
+ c:identifier="gst_pad_get_pad_template_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities for @pad's template.
+to keep a reference on the caps, make a copy (see gst_caps_copy ()).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps of this pad template. If you intend</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_parent_element"
+ c:identifier="gst_pad_get_parent_element">
+ <doc xml:whitespace="preserve">Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or
+its parent is not an element, return NULL.
+reference on the parent, so unref when you're finished with it.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the parent of the pad. The caller has a</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ </method>
+ <method name="get_peer" c:identifier="gst_pad_get_peer">
+ <doc xml:whitespace="preserve">Gets the peer of @pad. This function refs the peer pad so
+you need to unref it after use.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the peer #GstPad. Unref after usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ </method>
+ <method name="get_query_types" c:identifier="gst_pad_get_query_types">
+ <doc xml:whitespace="preserve">Get an array of supported queries that can be performed
+on this pad.
+of #GstQueryType.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a zero-terminated array</doc>
+ <array c:type="GstQueryType*">
+ <type name="QueryType"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_query_types_default"
+ c:identifier="gst_pad_get_query_types_default">
+ <doc xml:whitespace="preserve">Invoke the default dispatcher for the query types on
+the pad.
+of #GstQueryType, or NULL if none of the internally-linked pads has a
+query types function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a zero-terminated array</doc>
+ <array c:type="GstQueryType*">
+ <type name="QueryType"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_range" c:identifier="gst_pad_get_range">
+ <doc xml:whitespace="preserve">When @pad is flushing this function returns #GST_FLOW_WRONG_STATE
+immediatly and @buffer is %NULL.
+Calls the getrange function of @pad, see #GstPadGetRangeFunction for a
+description of a getrange function. If @pad has no getrange function
+installed (see gst_pad_set_getrange_function()) this function returns
+#GST_FLOW_NOT_SUPPORTED.
+This is a lowlevel function. Usualy gst_pad_pull_range() is used.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The start offset of the buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="gst_pad_is_active">
+ <doc xml:whitespace="preserve">Query if a pad is active
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad is active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_blocked" c:identifier="gst_pad_is_blocked">
+ <doc xml:whitespace="preserve">Checks if the pad is blocked or not. This function returns the
+last requested state of the pad. It is not certain that the pad
+is actually blocking at this point (see gst_pad_is_blocking()).
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad is blocked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_blocking"
+ c:identifier="gst_pad_is_blocking"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Checks if the pad is blocking or not. This is a guaranteed state
+of whether the pad is actually blocking on a #GstBuffer or a #GstEvent.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad is blocking.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_linked" c:identifier="gst_pad_is_linked">
+ <doc xml:whitespace="preserve">Checks if a @pad is linked to another pad or not.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad is linked, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="iterate_internal_links"
+ c:identifier="gst_pad_iterate_internal_links"
+ version="0.10.21"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets an iterator for the pads to which the given pad is linked to inside
+of the parent element.
+Each #GstPad element yielded by the iterator will have its refcount increased,
+so unref after use.
+pad does not have an iterator function configured. Use
+gst_iterator_free() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstIterator of #GstPad or %NULL when the</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="iterate_internal_links_default"
+ c:identifier="gst_pad_iterate_internal_links_default"
+ version="0.10.21"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Iterate the list of pads to which the given pad is linked to inside of
+the parent element.
+This is the default handler, and thus returns an iterator of all of the
+pads inside the parent element with opposite direction.
+The caller must free this iterator after use with gst_iterator_free().
+returned pad with gst_object_unref().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </method>
+ <method name="link" c:identifier="gst_pad_link">
+ <doc xml:whitespace="preserve">Links the source pad and the sink pad.
+what went wrong.
+MT Safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A result code indicating if the connection worked or</doc>
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstPad to link.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_full"
+ c:identifier="gst_pad_link_full"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Links the source pad and the sink pad.
+This variant of #gst_pad_link provides a more granular control on the
+checks being done when linking. While providing some considerable speedups
+the caller of this method must be aware that wrong usage of those flags
+can cause severe issues. Refer to the documentation of #GstPadLinkCheck
+for more information.
+MT Safe.
+what went wrong.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A result code indicating if the connection worked or</doc>
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstPad to link.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the checks to validate when linking</doc>
+ <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pause_task" c:identifier="gst_pad_pause_task">
+ <doc xml:whitespace="preserve">Pause the task of @pad. This function will also wait until the
+function executed by the task is finished if this function is not
+called from the task function.
+has no task.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a TRUE if the task could be paused or FALSE when the pad</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="peer_accept_caps" c:identifier="gst_pad_peer_accept_caps">
+ <doc xml:whitespace="preserve">Check if the peer of @pad accepts @caps. If @pad has no peer, this function
+returns TRUE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the peer of @pad can accept the caps or @pad has no peer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to check on the pad</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peer_get_caps" c:identifier="gst_pad_peer_get_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities of the peer connected to this pad. Similar to
+gst_pad_get_caps().
+peer pad. Use gst_caps_unref() to get rid of it. This function
+returns %NULL if there is no peer pad.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated copy of the #GstCaps of the</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="peer_get_caps_reffed"
+ c:identifier="gst_pad_peer_get_caps_reffed"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Gets the capabilities of the peer connected to this pad. Preferred function
+if one only wants to read or intersect the caps.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the caps of the pad with incremented ref-count</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="peer_query"
+ c:identifier="gst_pad_peer_query"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Performs gst_pad_query() on the peer of @pad.
+The caller is responsible for both the allocation and deallocation of
+the query structure.
+if @pad has no peer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed. This function returns %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery to perform.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="proxy_getcaps" c:identifier="gst_pad_proxy_getcaps">
+ <doc xml:whitespace="preserve">Calls gst_pad_get_allowed_caps() for every other pad belonging to the
+same element as @pad, and returns the intersection of the results.
+This function is useful as a default getcaps function for an element
+that can handle any stream format, but requires all its pads to have
+the same caps. Two such elements are tee and adder.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the intersection of the other pads' allowed caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="proxy_setcaps" c:identifier="gst_pad_proxy_setcaps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pull_range" c:identifier="gst_pad_pull_range">
+ <doc xml:whitespace="preserve">Pulls a @buffer from the peer pad.
+This function will first trigger the pad block signal if it was
+installed.
+When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this
+function returns the result of gst_pad_get_range() on the peer pad.
+See gst_pad_get_range() for a list of return values and for the
+semantics of the arguments of this function.
+configured on @pad. Renegotiation within a running pull-mode pipeline is not
+supported.
+When this function returns #GST_FLOW_OK, @buffer will contain a valid
+#GstBuffer that should be freed with gst_buffer_unref() after usage.
+#GST_FLOW_OK is returned.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn from the peer pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The start offset of the buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to hold the #GstBuffer, returns GST_FLOW_ERROR if %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_pad_push">
+ <doc xml:whitespace="preserve">Pushes a buffer to the peer of @pad.
+This function will call an installed pad block before triggering any
+installed pad probes.
+If the caps on @buffer are different from the currently configured caps on
+gst_pad_set_setcaps_function()). In case of failure to renegotiate the new
+format, this function returns #GST_FLOW_NOT_NEGOTIATED.
+The function proceeds calling gst_pad_chain() on the peer pad and returns
+the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
+be returned.
+In all cases, success or failure, the caller loses its reference to @buffer
+after calling this function.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn from the peer pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstBuffer to push returns GST_FLOW_ERROR if not.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_event" c:identifier="gst_pad_push_event">
+ <doc xml:whitespace="preserve">Sends the event to the peer of the given pad. This function is
+mainly used by elements to send events to their peer
+elements.
+This function takes owership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEvent to send to the pad.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_list"
+ c:identifier="gst_pad_push_list"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Pushes a buffer list to the peer of @pad.
+This function will call an installed pad block before triggering any
+installed pad probes.
+If the caps on the first buffer in the first group of @list are different
+from the currently configured caps on @pad, this function will call any
+installed setcaps function on @pad (see gst_pad_set_setcaps_function()). In
+case of failure to renegotiate the new format, this function returns
+#GST_FLOW_NOT_NEGOTIATED.
+If there are any probes installed on @pad every group of the buffer list
+will be merged into a normal #GstBuffer and pushed via gst_pad_push and the
+buffer list will be unreffed.
+The function proceeds calling the chain function on the peer pad and returns
+the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
+be returned. If the peer pad does not have any installed chainlist function
+every group buffer of the list will be merged into a normal #GstBuffer and
+chained via gst_pad_chain().
+In all cases, success or failure, the caller loses its reference to @list
+after calling this function.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn from the peer pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstBufferList to push returns GST_FLOW_ERROR if not.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query" c:identifier="gst_pad_query">
+ <doc xml:whitespace="preserve">Dispatches a query to a pad. The query should have been allocated by the
+caller via one of the type-specific allocation functions. The element that
+the pad belongs to is responsible for filling the query with an appropriate
+response, which should then be parsed with a type-specific query parsing
+function.
+Again, the caller is responsible for both the allocation and deallocation of
+the query structure.
+Please also note that some queries might need a running pipeline to work.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery to perform.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_convert" c:identifier="gst_pad_query_convert">
+ <doc xml:whitespace="preserve">Queries a pad to convert @src_val in @src_format to @dest_format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFormat to convert from.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to convert.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat to convert to.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_default" c:identifier="gst_pad_query_default">
+ <doc xml:whitespace="preserve">Invokes the default query handler for the given pad.
+The query is sent to all pads internally linked to @pad. Note that
+if there are many possible sink pads that are internally linked to
+Multi-sinkpad elements should implement custom query handlers.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query was performed succesfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery to handle.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_duration" c:identifier="gst_pad_query_duration">
+ <doc xml:whitespace="preserve">Queries a pad for the total stream duration.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat asked for. On return contains the #GstFormat used.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a location in which to store the total duration, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_peer_convert"
+ c:identifier="gst_pad_query_peer_convert">
+ <doc xml:whitespace="preserve">Queries the peer pad of a given sink pad to convert @src_val in @src_format
+to @dest_format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFormat to convert from.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to convert.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat to convert to.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_peer_duration"
+ c:identifier="gst_pad_query_peer_duration">
+ <doc xml:whitespace="preserve">Queries the peer pad of a given sink pad for the total stream duration.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat asked for. On return contains the #GstFormat used.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a location in which to store the total duration, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_peer_position"
+ c:identifier="gst_pad_query_peer_position">
+ <doc xml:whitespace="preserve">Queries the peer of a given sink pad for the stream position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat asked for. On return contains the #GstFormat used.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a location in which to store the current position, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_position" c:identifier="gst_pad_query_position">
+ <doc xml:whitespace="preserve">Queries a pad for the stream position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstFormat asked for. On return contains the #GstFormat used.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">A location in which to store the current position, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_buffer_probe"
+ c:identifier="gst_pad_remove_buffer_probe">
+ <doc xml:whitespace="preserve">Removes a buffer probe from @pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">handler id returned from gst_pad_add_buffer_probe</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_data_probe"
+ c:identifier="gst_pad_remove_data_probe">
+ <doc xml:whitespace="preserve">Removes a data probe from @pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">handler id returned from gst_pad_add_data_probe</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_event_probe"
+ c:identifier="gst_pad_remove_event_probe">
+ <doc xml:whitespace="preserve">Removes an event probe from @pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">handler id returned from gst_pad_add_event_probe</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_event" c:identifier="gst_pad_send_event">
+ <doc xml:whitespace="preserve">Sends the event to the pad. This function can be used
+by applications to send events in the pipeline.
+If @pad is a source pad, @event should be an upstream event. If @pad is a
+sink pad, @event should be a downstream event. For example, you would not
+send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream.
+Furthermore, some downstream events have to be serialized with data flow,
+like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If
+the event needs to be serialized with data flow, this function will take the
+pad's stream lock while calling its event function.
+To find out whether an event type is upstream, downstream, or downstream and
+serialized, see #GstEventTypeFlags, gst_event_type_get_flags(),
+#GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and
+#GST_EVENT_IS_SERIALIZED. Note that in practice that an application or
+plugin doesn't need to bother itself with this information; the core handles
+all necessary locks and checks.
+This function takes owership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEvent to send to the pad.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_acceptcaps_function"
+ c:identifier="gst_pad_set_acceptcaps_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given acceptcaps function for the pad. The acceptcaps function
+will be called to check if the pad can accept the given caps. Setting the
+acceptcaps function to NULL restores the default behaviour of allowing
+any caps that matches the caps from gst_pad_get_caps().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="acceptcaps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadAcceptCapsFunction to set.</doc>
+ <type name="PadAcceptCapsFunction"
+ c:type="GstPadAcceptCapsFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_activate_function"
+ c:identifier="gst_pad_set_activate_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given activate function for @pad. The activate function will
+dispatch to gst_pad_activate_push() or gst_pad_activate_pull() to perform
+the actual activation. Only makes sense to set on sink pads.
+Call this function if your sink pad can start a pull-based task.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="activate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadActivateFunction to set.</doc>
+ <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_activatepull_function"
+ c:identifier="gst_pad_set_activatepull_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given activate_pull function for the pad. An activate_pull function
+prepares the element and any upstream connections for pulling. See XXX
+part-activation.txt for details.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="activatepull" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadActivateModeFunction to set.</doc>
+ <type name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_activatepush_function"
+ c:identifier="gst_pad_set_activatepush_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given activate_push function for the pad. An activate_push function
+prepares the element for pushing. See XXX part-activation.txt for details.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="activatepush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadActivateModeFunction to set.</doc>
+ <type name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active" c:identifier="gst_pad_set_active">
+ <doc xml:whitespace="preserve">Activates or deactivates the given pad.
+Normally called from within core state change functions.
+If @active, makes sure the pad is active. If it is already active, either in
+push or pull mode, just return. Otherwise dispatches to the pad's activate
+function to perform the actual activation.
+If not @active, checks the pad's current mode and calls
+gst_pad_activate_push() or gst_pad_activate_pull(), as appropriate, with a
+FALSE argument.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether or not the pad should be active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocked" c:identifier="gst_pad_set_blocked">
+ <doc xml:whitespace="preserve">Blocks or unblocks the dataflow on a pad. This function is
+a shortcut for gst_pad_set_blocked_async() with a NULL
+callback.
+wrong parameters were passed or the pad was already in the requested state.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad could be blocked. This function can fail if the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="blocked" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean indicating we should block or unblock</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocked_async"
+ c:identifier="gst_pad_set_blocked_async"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Blocks or unblocks the dataflow on a pad. The provided callback
+is called when the operation succeeds; this happens right before the next
+attempt at pushing a buffer on the pad.
+This can take a while as the pad can only become blocked when real dataflow
+is happening.
+When the pipeline is stalled, for example in PAUSED, this can
+take an indeterminate amount of time.
+You can pass NULL as the callback to make this call block. Be careful with
+this blocking call as it might not return for reasons stated above.
+wrong parameters were passed or the pad was already in the requested state.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad could be blocked. This function can fail if the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="blocked" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean indicating whether the pad should be blocked or unblocked</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">#GstPadBlockCallback that will be called when the operation succeeds</doc>
+ <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocked_async_full"
+ c:identifier="gst_pad_set_blocked_async_full"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Blocks or unblocks the dataflow on a pad. The provided callback
+is called when the operation succeeds; this happens right before the next
+attempt at pushing a buffer on the pad.
+This can take a while as the pad can only become blocked when real dataflow
+is happening.
+When the pipeline is stalled, for example in PAUSED, this can
+take an indeterminate amount of time.
+You can pass NULL as the callback to make this call block. Be careful with
+this blocking call as it might not return for reasons stated above.
+wrong parameters were passed or the pad was already in the requested state.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad could be blocked. This function can fail if the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="blocked" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean indicating whether the pad should be blocked or unblocked</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:whitespace="preserve">#GstPadBlockCallback that will be called when the operation succeeds</doc>
+ <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">#GDestroyNotify for user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_bufferalloc_function"
+ c:identifier="gst_pad_set_bufferalloc_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given bufferalloc function for the pad. Note that the
+bufferalloc function can only be set on sinkpads.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bufalloc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadBufferAllocFunction to set.</doc>
+ <type name="PadBufferAllocFunction"
+ c:type="GstPadBufferAllocFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_pad_set_caps">
+ <doc xml:whitespace="preserve">Sets the capabilities of this pad. The caps must be fixed. Any previous
+caps on the pad will be unreffed. This function refs the caps so you should
+unref if as soon as you don't need it anymore.
+It is possible to set NULL caps, which will make the pad unnegotiated
+again.
+or bad parameters were provided to this function.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the caps could be set. FALSE if the caps were not fixed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to set.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_chain_function"
+ c:identifier="gst_pad_set_chain_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given chain function for the pad. The chain function is called to
+process a #GstBuffer input buffer. see #GstPadChainFunction for more details.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="chain" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadChainFunction to set.</doc>
+ <type name="PadChainFunction" c:type="GstPadChainFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_chain_list_function"
+ c:identifier="gst_pad_set_chain_list_function"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given chain list function for the pad. The chainlist function is
+called to process a #GstBufferList input buffer list. See
+#GstPadChainListFunction for more details.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="chainlist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadChainListFunction to set.</doc>
+ <type name="PadChainListFunction"
+ c:type="GstPadChainListFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_checkgetrange_function"
+ c:identifier="gst_pad_set_checkgetrange_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given checkgetrange function for the pad. Implement this function
+on a pad if you dynamically support getrange based scheduling on the pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="check" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadCheckGetRangeFunction to set.</doc>
+ <type name="PadCheckGetRangeFunction"
+ c:type="GstPadCheckGetRangeFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_element_private"
+ c:identifier="gst_pad_set_element_private">
+ <doc xml:whitespace="preserve">Set the given private data gpointer on the pad.
+This function can only be used by the element that owns the pad.
+No locking is performed in this function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="priv" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The private data to attach to the pad.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_event_function"
+ c:identifier="gst_pad_set_event_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given event handler for the pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadEventFunction to set.</doc>
+ <type name="PadEventFunction" c:type="GstPadEventFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_fixatecaps_function"
+ c:identifier="gst_pad_set_fixatecaps_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given fixatecaps function for the pad. The fixatecaps function
+will be called whenever the default values for a GstCaps needs to be
+filled in.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fixatecaps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadFixateCapsFunction to set.</doc>
+ <type name="PadFixateCapsFunction"
+ c:type="GstPadFixateCapsFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_getcaps_function"
+ c:identifier="gst_pad_set_getcaps_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given getcaps function for the pad. @getcaps should return the
+allowable caps for a pad in the context of the element's state, its link to
+other elements, and the devices or files it has opened. These caps must be a
+subset of the pad template caps. In the NULL state with no links, @getcaps
+should ideally return the same caps as the pad template. In rare
+circumstances, an object property can affect the caps returned by @getcaps,
+but this is discouraged.
+You do not need to call this function if @pad's allowed caps are always the
+same as the pad template caps. This can only be true if the padtemplate
+has fixed simple caps.
+For most filters, the caps returned by @getcaps is directly affected by the
+allowed caps on other pads. For demuxers and decoders, the caps returned by
+the srcpad's getcaps function is directly related to the stream data. Again,
+helps with autoplugging.
+Note that the return value from @getcaps is owned by the caller, so the
+caller should unref the caps after usage.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="getcaps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadGetCapsFunction to set.</doc>
+ <type name="PadGetCapsFunction" c:type="GstPadGetCapsFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_getrange_function"
+ c:identifier="gst_pad_set_getrange_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given getrange function for the pad. The getrange function is
+called to produce a new #GstBuffer to start the processing pipeline. see
+#GstPadGetRangeFunction for a description of the getrange function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="get" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadGetRangeFunction to set.</doc>
+ <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_internal_link_function"
+ c:identifier="gst_pad_set_internal_link_function"
+ introspectable="0"
+ deprecated="Use the thread-safe gst_pad_set_iterate_internal_links_function()">
+ <doc xml:whitespace="preserve">Sets the given internal link function for the pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="intlink" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadIntLinkFunction to set.</doc>
+ <type name="PadIntLinkFunction" c:type="GstPadIntLinkFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_iterate_internal_links_function"
+ c:identifier="gst_pad_set_iterate_internal_links_function"
+ version="0.10.21"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given internal link iterator function for the pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="iterintlink" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadIterIntLinkFunction to set.</doc>
+ <type name="PadIterIntLinkFunction"
+ c:type="GstPadIterIntLinkFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_link_function"
+ c:identifier="gst_pad_set_link_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given link function for the pad. It will be called when
+the pad is linked with another pad.
+The return value #GST_PAD_LINK_OK should be used when the connection can be
+made.
+The return value #GST_PAD_LINK_REFUSED should be used when the connection
+cannot be made for some reason.
+If @link is installed on a source pad, it should call the #GstPadLinkFunction
+of the peer sink pad, if present.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="link" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadLinkFunction to set.</doc>
+ <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_function"
+ c:identifier="gst_pad_set_query_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the given query function for the pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadQueryFunction to set.</doc>
+ <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_type_function"
+ c:identifier="gst_pad_set_query_type_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the given query type function for the pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type_func" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadQueryTypeFunction to set.</doc>
+ <type name="PadQueryTypeFunction"
+ c:type="GstPadQueryTypeFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_setcaps_function"
+ c:identifier="gst_pad_set_setcaps_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given setcaps function for the pad. The setcaps function
+will be called whenever a buffer with a new media type is pushed or
+pulled from the pad. The pad/element needs to update its internal
+structures to process the new media type. If this new type is not
+acceptable, the setcaps function should return FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="setcaps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadSetCapsFunction to set.</doc>
+ <type name="PadSetCapsFunction" c:type="GstPadSetCapsFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_unlink_function"
+ c:identifier="gst_pad_set_unlink_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given unlink function for the pad. It will be called
+when the pad is unlinked.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="unlink" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadUnlinkFunction to set.</doc>
+ <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start_task"
+ c:identifier="gst_pad_start_task"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Starts a task that repeatedly calls @func with @data. This function
+is mostly used in pad activation functions to start the dataflow.
+The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired
+before @func is called.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a %TRUE if the task could be started.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the task function to call</doc>
+ <type name="TaskFunction" c:type="GstTaskFunction"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data passed to the task function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="stop_task" c:identifier="gst_pad_stop_task">
+ <doc xml:whitespace="preserve">Stop the task of @pad. This function will also make sure that the
+function executed by the task will effectively stop if not called
+from the GstTaskFunction.
+This function will deadlock if called from the GstTaskFunction of
+the task. Use gst_task_pause() instead.
+Regardless of whether the pad has a task, the stream lock is acquired and
+released so as to ensure that streaming through this pad has finished.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a TRUE if the task could be stopped or FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="unlink" c:identifier="gst_pad_unlink">
+ <doc xml:whitespace="preserve">Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked
+signal on both pads.
+the pads were not linked together.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pads were unlinked. This function returns FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstPad to unlink.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="use_fixed_caps" c:identifier="gst_pad_use_fixed_caps">
+ <doc xml:whitespace="preserve">A helper function you can use that sets the
+pad. This way the function will always return the negotiated caps
+or in case the pad is not negotiated, the padtemplate caps.
+Use this function on a pad that, once gst_pad_set_caps() has been called
+on it, cannot be renegotiated to something else.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <property name="caps" transfer-ownership="none">
+ <type name="Caps"/>
+ </property>
+ <property name="direction"
+ introspectable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <property name="template" writable="1" transfer-ownership="none">
+ <type name="PadTemplate"/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="element_private">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="padtemplate">
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </field>
+ <field name="direction">
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </field>
+ <field name="stream_rec_lock">
+ <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
+ </field>
+ <field name="task">
+ <type name="Task" c:type="GstTask*"/>
+ </field>
+ <field name="preroll_lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="preroll_cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="block_cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="block_callback">
+ <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
+ </field>
+ <field name="block_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="caps">
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="getcapsfunc">
+ <type name="PadGetCapsFunction" c:type="GstPadGetCapsFunction"/>
+ </field>
+ <field name="setcapsfunc">
+ <type name="PadSetCapsFunction" c:type="GstPadSetCapsFunction"/>
+ </field>
+ <field name="acceptcapsfunc">
+ <type name="PadAcceptCapsFunction" c:type="GstPadAcceptCapsFunction"/>
+ </field>
+ <field name="fixatecapsfunc">
+ <type name="PadFixateCapsFunction" c:type="GstPadFixateCapsFunction"/>
+ </field>
+ <field name="activatefunc">
+ <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
+ </field>
+ <field name="activatepushfunc">
+ <type name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction"/>
+ </field>
+ <field name="activatepullfunc">
+ <type name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction"/>
+ </field>
+ <field name="linkfunc">
+ <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
+ </field>
+ <field name="unlinkfunc">
+ <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
+ </field>
+ <field name="peer">
+ <type name="Pad" c:type="GstPad*"/>
+ </field>
+ <field name="sched_private">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="chainfunc">
+ <type name="PadChainFunction" c:type="GstPadChainFunction"/>
+ </field>
+ <field name="checkgetrangefunc">
+ <type name="PadCheckGetRangeFunction"
+ c:type="GstPadCheckGetRangeFunction"/>
+ </field>
+ <field name="getrangefunc">
+ <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
+ </field>
+ <field name="eventfunc">
+ <type name="PadEventFunction" c:type="GstPadEventFunction"/>
+ </field>
+ <field name="mode">
+ <type name="ActivateMode" c:type="GstActivateMode"/>
+ </field>
+ <field name="querytypefunc">
+ <type name="PadQueryTypeFunction" c:type="GstPadQueryTypeFunction"/>
+ </field>
+ <field name="queryfunc">
+ <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
+ </field>
+ <field name="intlinkfunc">
+ <type name="PadIntLinkFunction" c:type="GstPadIntLinkFunction"/>
+ </field>
+ <field name="bufferallocfunc">
+ <type name="PadBufferAllocFunction"
+ c:type="GstPadBufferAllocFunction"/>
+ </field>
+ <field name="do_buffer_signals">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="do_event_signals">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="iterintlinkfunc" introspectable="0">
+ <type name="PadIterIntLinkFunction"
+ c:type="GstPadIterIntLinkFunction"/>
+ </field>
+ <field name="block_destroy_data">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="block_callback_called" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv" writable="1">
+ <type name="PadPrivate" c:type="GstPadPrivate*"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <glib:signal name="have-data">
+ <doc xml:whitespace="preserve">Signals that new data is available on the pad. This signal is used
+internally for implementing pad probes.
+See gst_pad_add_*_probe functions.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE to keep the data, %FALSE to drop it</doc>
+ <type name="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new data</doc>
+ <type name="MiniObject"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="linked">
+ <doc xml:whitespace="preserve">Signals that a pad has been linked to the peer pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the peer pad that has been connected</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="request-link">
+ <doc xml:whitespace="preserve">Signals that a pad connection has been requested.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="unlinked">
+ <doc xml:whitespace="preserve">Signals that a pad has been unlinked from the peer pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the peer pad that has been disconnected</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <callback name="PadAcceptCapsFunction" c:type="GstPadAcceptCapsFunction">
+ <doc xml:whitespace="preserve">Check if @pad can accept @caps. By default this function will see if @caps
+intersect with the result from gst_pad_get_caps() by can be overridden to
+perform extra checks.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the caps can be accepted by the pad.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to check</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to check</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadActivateFunction" c:type="GstPadActivateFunction">
+ <doc xml:whitespace="preserve">This function is called when the pad is activated during the element
+READY to PAUSED state change. By default this function will call the
+activate function that puts the pad in push mode but elements can
+override this function to activate the pad in pull mode if they wish.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad could be activated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction">
+ <doc xml:whitespace="preserve">The prototype of the push and pull activate functions.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad could be activated or deactivated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">activate or deactivate the pad.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadBlockCallback" c:type="GstPadBlockCallback">
+ <doc xml:whitespace="preserve">Callback used by gst_pad_set_blocked_async(). Gets called when the blocking
+operation succeeds.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad that is blockend or unblocked.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="blocked" transfer-ownership="none">
+ <doc xml:whitespace="preserve">blocking state for the pad</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">the gpointer to optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadBufferAllocFunction" c:type="GstPadBufferAllocFunction">
+ <doc xml:whitespace="preserve">Ask the sinkpad @pad to allocate a buffer with @offset, @size and @caps.
+The result will be stored in @buf.
+The purpose of this function is to allocate a buffer that is optimal to
+be processed by @pad. The function is mostly overridden by elements that can
+provide a hardware buffer in order to avoid additional memcpy operations.
+The function can return a buffer that has caps different from the requested
+new caps.
+If a format change was requested, the returned buffer will be one to hold
+the data of said new caps, so its size might be different from the requested
+When this function returns anything else than #GST_FLOW_OK, the buffer allocation
+failed and @buf does not contain valid data. If the function returns #GST_FLOW_OK and
+the @buf is NULL, a #GstBuffer will be created with @caps, @offset and @size.
+By default this function returns a new buffer of @size and with @caps containing
+purely malloced data. The buffer should be freed with gst_buffer_unref()
+after usage.
+value means @buf does not hold a valid buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK if @buf contains a valid buffer, any other return</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a sink #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the desired offset of the buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the desired size of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the desired caps of the buffer</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to hold the allocated buffer.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadChainFunction" c:type="GstPadChainFunction">
+ <doc xml:whitespace="preserve">A function that will be called on sinkpads when chaining buffers.
+The function typically processes the data contained in the buffer and
+either consumes the data or passes it on to the internally linked pad(s).
+The implementer of this function receives a refcount to @buffer and should
+gst_buffer_unref() when the buffer is no longer needed.
+When a chain function detects an error in the data stream, it must post an
+error on the bus and return an appropriate #GstFlowReturn value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstPad that performed the chain.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBuffer that is chained, not %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadChainListFunction" c:type="GstPadChainListFunction">
+ <doc xml:whitespace="preserve">A function that will be called on sinkpads when chaining buffer lists.
+The function typically processes the data contained in the buffer list and
+either consumes the data or passes it on to the internally linked pad(s).
+The implementer of this function receives a refcount to @list and
+should gst_buffer_list_unref() when the list is no longer needed.
+When a chainlist function detects an error in the data stream, it must
+post an error on the bus and return an appropriate #GstFlowReturn value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sink #GstPad that performed the chain.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBufferList that is chained, not %NULL.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadCheckGetRangeFunction"
+ c:type="GstPadCheckGetRangeFunction">
+ <doc xml:whitespace="preserve">Check if @pad can be activated in pull mode.
+This function will be deprecated after 0.10; use the seeking query to check
+if a pad can support random access.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad can operate in pull mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="PadClass"
+ c:type="GstPadClass"
+ glib:is-gtype-struct-for="Pad">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="linked">
+ <callback name="linked">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlinked">
+ <callback name="unlinked">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="request_link">
+ <callback name="request_link">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="have_data">
+ <callback name="have_data">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="PadDirection" c:type="GstPadDirection">
+ <doc xml:whitespace="preserve">The direction of a pad.</doc>
+ <member name="unknown" value="0" c:identifier="GST_PAD_UNKNOWN"/>
+ <member name="src" value="1" c:identifier="GST_PAD_SRC"/>
+ <member name="sink" value="2" c:identifier="GST_PAD_SINK"/>
+ </enumeration>
+ <callback name="PadDispatcherFunction" c:type="GstPadDispatcherFunction">
+ <doc xml:whitespace="preserve">A dispatcher function is called for all internally linked pads, see
+gst_pad_dispatcher().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the dispatching procedure has to be stopped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad that is dispatched.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the gpointer to optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadEventFunction" c:type="GstPadEventFunction">
+ <doc xml:whitespace="preserve">Function signature to handle an event for the pad.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the pad could handle the event.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to handle the event.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstEvent to handle.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadFixateCapsFunction" c:type="GstPadFixateCapsFunction">
+ <doc xml:whitespace="preserve">Given possibly unfixed caps @caps, let @pad use its default prefered
+format to make a fixed caps. @caps should be writable. By default this
+function will pick the first value of any ranges or lists in the caps but
+elements can override this function to perform other behaviour.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to fixate</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="PadFlags" c:type="GstPadFlags">
+ <doc xml:whitespace="preserve">Pad state flags</doc>
+ <member name="blocked" value="16" c:identifier="GST_PAD_BLOCKED"/>
+ <member name="flushing" value="32" c:identifier="GST_PAD_FLUSHING"/>
+ <member name="in_getcaps" value="64" c:identifier="GST_PAD_IN_GETCAPS"/>
+ <member name="in_setcaps" value="128" c:identifier="GST_PAD_IN_SETCAPS"/>
+ <member name="blocking" value="256" c:identifier="GST_PAD_BLOCKING"/>
+ <member name="flag_last" value="4096" c:identifier="GST_PAD_FLAG_LAST"/>
+ </bitfield>
+ <callback name="PadGetCapsFunction" c:type="GstPadGetCapsFunction">
+ <doc xml:whitespace="preserve">Returns a copy of the capabilities of the specified pad. By default this
+function will return the pad template capabilities, but can optionally
+be overridden by elements.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated copy #GstCaps of the pad.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to get the capabilities of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadGetRangeFunction" c:type="GstPadGetRangeFunction">
+ <doc xml:whitespace="preserve">This function will be called on source pads when a peer element
+request a buffer at the specified @offset and @length. If this function
+returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The
+contents of @buffer is invalid for any other return value.
+This function is installed on a source pad with
+gst_pad_set_getrange_function() and can only be called on source pads after
+they are successfully activated with gst_pad_activate_pull().
+between 0 and the length in bytes of the data available on @pad. The
+length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a
+#GST_QUERY_SEEKING.
+Any @offset larger or equal than the length will make the function return
+#GST_FLOW_UNEXPECTED, which corresponds to EOS. In this case @buffer does not
+contain a valid buffer.
+The buffer size of @buffer will only be smaller than @length when @offset is
+near the end of the stream. In all other cases, the size of @buffer must be
+exactly the requested size.
+It is allowed to call this function with a 0 @length and valid @offset, in
+which case @buffer will contain a 0-sized buffer and the function returns
+#GST_FLOW_OK.
+When this function is called with a -1 @offset, the sequentially next buffer
+of length @length in the stream is returned.
+When this function is called with a -1 @length, a buffer with a default
+optimal length is returned in @buffer. The length might depend on the value
+of @offset.
+return value leaves @buffer undefined.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK for success and a valid buffer in @buffer. Any other</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the src #GstPad to perform the getrange on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset of the range</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the range</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a memory location to hold the result buffer, cannot be NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadIntLinkFunction"
+ c:type="GstPadIntLinkFunction"
+ deprecated="use the threadsafe #GstPadIterIntLinkFunction instead.">
+ <doc xml:whitespace="preserve">The signature of the internal pad link function.
+the inside of the parent element.
+The caller must call g_list_free() on it after use.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">a newly allocated #GList of pads that are linked to the given pad on</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Pad"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstPad to query.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadIterIntLinkFunction"
+ c:type="GstPadIterIntLinkFunction"
+ introspectable="0">
+ <doc xml:whitespace="preserve">The signature of the internal pad link iterator function.
+linked to the given pad on the inside of the parent element.
+the caller must call gst_iterator_free() after usage.
+Since 0.10.21</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstIterator that will iterate over all pads that are</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstPad to query.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="PadLinkCheck" version="0.10.30" c:type="GstPadLinkCheck">
+ <doc xml:whitespace="preserve">The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS
+and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are
+specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed.
+<warning><para>
+Only disable some of the checks if you are 100% certain you know the link
+will not fail because of hierarchy/caps compatibility failures. If uncertain,
+use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods
+for linking the pads.
+</para></warning></doc>
+ <member name="nothing"
+ value="0"
+ c:identifier="GST_PAD_LINK_CHECK_NOTHING"/>
+ <member name="hierarchy"
+ value="1"
+ c:identifier="GST_PAD_LINK_CHECK_HIERARCHY"/>
+ <member name="template_caps"
+ value="2"
+ c:identifier="GST_PAD_LINK_CHECK_TEMPLATE_CAPS"/>
+ <member name="caps" value="4" c:identifier="GST_PAD_LINK_CHECK_CAPS"/>
+ </bitfield>
+ <callback name="PadLinkFunction" c:type="GstPadLinkFunction">
+ <return-value transfer-ownership="none">
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="PadLinkReturn" c:type="GstPadLinkReturn">
+ <doc xml:whitespace="preserve">Result values from gst_pad_link and friends.</doc>
+ <member name="ok" value="0" c:identifier="GST_PAD_LINK_OK"/>
+ <member name="wrong_hierarchy"
+ value="-1"
+ c:identifier="GST_PAD_LINK_WRONG_HIERARCHY"/>
+ <member name="was_linked"
+ value="-2"
+ c:identifier="GST_PAD_LINK_WAS_LINKED"/>
+ <member name="wrong_direction"
+ value="-3"
+ c:identifier="GST_PAD_LINK_WRONG_DIRECTION"/>
+ <member name="noformat" value="-4" c:identifier="GST_PAD_LINK_NOFORMAT"/>
+ <member name="nosched" value="-5" c:identifier="GST_PAD_LINK_NOSCHED"/>
+ <member name="refused" value="-6" c:identifier="GST_PAD_LINK_REFUSED"/>
+ </enumeration>
+ <enumeration name="PadPresence" c:type="GstPadPresence">
+ <doc xml:whitespace="preserve">Indicates when this pad will become available.</doc>
+ <member name="always" value="0" c:identifier="GST_PAD_ALWAYS"/>
+ <member name="sometimes" value="1" c:identifier="GST_PAD_SOMETIMES"/>
+ <member name="request" value="2" c:identifier="GST_PAD_REQUEST"/>
+ </enumeration>
+ <record name="PadPrivate" c:type="GstPadPrivate" disguised="1">
+ </record>
+ <callback name="PadQueryFunction" c:type="GstPadQueryFunction">
+ <doc xml:whitespace="preserve">The signature of the query function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to query.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQuery object to execute</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadQueryTypeFunction" c:type="GstPadQueryTypeFunction">
+ <doc xml:whitespace="preserve">The signature of the query types function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a constant array of query types</doc>
+ <type name="QueryType" c:type="GstQueryType*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPad to query</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadSetCapsFunction" c:type="GstPadSetCapsFunction">
+ <doc xml:whitespace="preserve">Set @caps on @pad. By default this function updates the caps of the
+pad but the function can be overriden by elements to perform extra
+actions or verifications.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the caps could be set on the pad.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to set the capabilities of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to set</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="PadTemplate"
+ c:symbol-prefix="pad_template"
+ c:type="GstPadTemplate"
+ parent="Object"
+ glib:type-name="GstPadTemplate"
+ glib:get-type="gst_pad_template_get_type"
+ glib:type-struct="PadTemplateClass">
+ <doc xml:whitespace="preserve">The padtemplate object.</doc>
+ <constructor name="new" c:identifier="gst_pad_template_new">
+ <doc xml:whitespace="preserve">Creates a new pad template with a name according to the given template
+and with the given arguments. This functions takes ownership of the provided
+caps, so be sure to not use them afterwards.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPadTemplate.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name_template" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name template.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadDirection of the template.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPadPresence of the pad.</doc>
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstCaps set for the template. The caps are taken ownership of.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_caps" c:identifier="gst_pad_template_get_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities of the pad template.
+keep a reference to the caps, take a ref (see gst_caps_ref ()).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps of the pad template. If you need to</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="pad_created" c:identifier="gst_pad_template_pad_created">
+ <doc xml:whitespace="preserve">Emit the pad-created signal for this template when created by this pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad that created it</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Caps"/>
+ </property>
+ <property name="direction"
+ introspectable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <property name="name-template"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="presence"
+ introspectable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="name_template">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="direction">
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </field>
+ <field name="presence">
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </field>
+ <field name="caps">
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="pad-created">
+ <doc xml:whitespace="preserve">This signal is fired when an element creates a pad from this template.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad that was created.</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="PadTemplateClass"
+ c:type="GstPadTemplateClass"
+ glib:is-gtype-struct-for="PadTemplate">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="pad_created">
+ <callback name="pad_created">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PadTemplateFlags" c:type="GstPadTemplateFlags">
+ <doc xml:whitespace="preserve">Flags for the padtemplate</doc>
+ <member name="fixed" value="16" c:identifier="GST_PAD_TEMPLATE_FIXED"/>
+ <member name="flag_last"
+ value="256"
+ c:identifier="GST_PAD_TEMPLATE_FLAG_LAST"/>
+ </bitfield>
+ <callback name="PadUnlinkFunction" c:type="GstPadUnlinkFunction">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="ParamFraction"
+ c:symbol-prefix="param_spec_fraction"
+ glib:type-name="GstParamFraction"
+ glib:get-type="gst_param_spec_fraction_get_type"
+ glib:fundamental="1">
+ <function name=""
+ c:identifier="gst_param_spec_fraction"
+ version="0.10.14"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This function creates a fraction GParamSpec for use by objects/elements
+that want to expose properties of fraction type. This function is typically
+used in connection with g_object_class_install_property() in a GObjects's
+instance_init function.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a newly created parameter specification</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">canonical name of the property specified</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">nick name for the property specified</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:whitespace="preserve">description of the property specified</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="min_num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">minimum value (fraction numerator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="min_denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">minimum value (fraction denominator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="max_num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">maximum value (fraction numerator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="max_denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">maximum value (fraction denominator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="default_num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">default value (fraction numerator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="default_denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">default value (fraction denominator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flags for the property specified</doc>
+ <type name="GObject.ParamFlags" c:type="GParamFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ </class>
+ <record name="ParamSpecFraction" c:type="GstParamSpecFraction">
+ <doc xml:whitespace="preserve">A GParamSpec derived structure that contains the meta data for fractional
+properties.</doc>
+ <field name="parent_instance" writable="1">
+ <type name="GObject.ParamSpec" c:type="GParamSpec"/>
+ </field>
+ <field name="min_num" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="min_den" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_num" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_den" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="def_num" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="def_den" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <record name="ParamSpecMiniObject" c:type="GstParamSpecMiniObject">
+ <doc xml:whitespace="preserve">A %GParamSpec derived structure that contains the meta data
+for %GstMiniObject properties.</doc>
+ <field name="parent_instance" writable="1">
+ <type name="GObject.ParamSpec" c:type="GParamSpec"/>
+ </field>
+ </record>
+ <record name="ParseContext"
+ c:type="GstParseContext"
+ disguised="1"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Opaque structure.</doc>
+ <method name="free"
+ c:identifier="gst_parse_context_free"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Frees a parse context previously allocated with gst_parse_context_new().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_missing_elements"
+ c:identifier="gst_parse_context_get_missing_elements"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Retrieve missing elements from a previous run of gst_parse_launch_full()
+or gst_parse_launchv_full(). Will only return results if an error code
+of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned.
+NULL-terminated array of element factory name strings of missing
+elements. Free with g_strfreev() when no longer needed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ </record>
+ <enumeration name="ParseError"
+ c:type="GstParseError"
+ glib:error-quark="gst_parse_error_quark">
+ <doc xml:whitespace="preserve">The different parsing errors that can occur.</doc>
+ <member name="syntax" value="0" c:identifier="GST_PARSE_ERROR_SYNTAX"/>
+ <member name="no_such_element"
+ value="1"
+ c:identifier="GST_PARSE_ERROR_NO_SUCH_ELEMENT"/>
+ <member name="no_such_property"
+ value="2"
+ c:identifier="GST_PARSE_ERROR_NO_SUCH_PROPERTY"/>
+ <member name="link" value="3" c:identifier="GST_PARSE_ERROR_LINK"/>
+ <member name="could_not_set_property"
+ value="4"
+ c:identifier="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY"/>
+ <member name="empty_bin"
+ value="5"
+ c:identifier="GST_PARSE_ERROR_EMPTY_BIN"/>
+ <member name="empty" value="6" c:identifier="GST_PARSE_ERROR_EMPTY"/>
+ </enumeration>
+ <bitfield name="ParseFlags" version="0.10.20" c:type="GstParseFlags">
+ <doc xml:whitespace="preserve">Parsing options.</doc>
+ <member name="none" value="0" c:identifier="GST_PARSE_FLAG_NONE"/>
+ <member name="fatal_errors"
+ value="1"
+ c:identifier="GST_PARSE_FLAG_FATAL_ERRORS"/>
+ </bitfield>
+ <class name="Pipeline"
+ c:symbol-prefix="pipeline"
+ c:type="GstPipeline"
+ parent="Bin"
+ glib:type-name="GstPipeline"
+ glib:get-type="gst_pipeline_get_type"
+ glib:type-struct="PipelineClass">
+ <doc xml:whitespace="preserve">The #GstPipeline structure.</doc>
+ <implements name="ChildProxy"/>
+ <constructor name="new" c:identifier="gst_pipeline_new">
+ <doc xml:whitespace="preserve">Create a new pipeline with the given name.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">newly created GstPipeline</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new pipeline</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="auto_clock" c:identifier="gst_pipeline_auto_clock">
+ <doc xml:whitespace="preserve">Let @pipeline select a clock automatically. This is the default
+behaviour.
+Use this function if you previous forced a fixed clock with
+gst_pipeline_use_clock() and want to restore the default
+pipeline clock selection algorithm.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_auto_flush_bus"
+ c:identifier="gst_pipeline_get_auto_flush_bus"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Check if @pipeline will automatically flush messages when going to
+the NULL state.
+going from READY to NULL state or not.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the pipeline will automatically flush its bus when</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_bus" c:identifier="gst_pipeline_get_bus">
+ <doc xml:whitespace="preserve">Gets the #GstBus of @pipeline. The bus allows applications to receive
+#GstMessage packets.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBus, unref after usage.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ </method>
+ <method name="get_clock" c:identifier="gst_pipeline_get_clock">
+ <doc xml:whitespace="preserve">Gets the current clock used by @pipeline.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstClock, unref after usage.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </method>
+ <method name="get_delay"
+ c:identifier="gst_pipeline_get_delay"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Get the configured delay (see gst_pipeline_set_delay()).
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The configured delay.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_last_stream_time"
+ c:identifier="gst_pipeline_get_last_stream_time"
+ deprecated="This function has the wrong name and is equivalent to">
+ <doc xml:whitespace="preserve">Gets the last running time of @pipeline. If the pipeline is PLAYING,
+the returned time is the running time used to configure the element's
+base time in the PAUSED->PLAYING state. If the pipeline is PAUSED, the
+returned time is the running time when the pipeline was paused.
+This function returns #GST_CLOCK_TIME_NONE if the pipeline was
+configured to not handle the management of the element's base time
+(see gst_pipeline_set_new_stream_time()).
+MT safe.
+gst_element_get_start_time().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="set_auto_flush_bus"
+ c:identifier="gst_pipeline_set_auto_flush_bus"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Usually, when a pipeline goes from READY to NULL state, it automatically
+flushes all pending messages on the bus, which is done for refcounting
+purposes, to break circular references.
+This means that applications that update state using (async) bus messages
+(e.g. do certain things when a pipeline goes from PAUSED to READY) might
+not get to see messages when the pipeline is shut down, because they might
+be flushed before they can be dispatched in the main thread. This behaviour
+can be disabled using this function.
+It is important that all messages on the bus are handled when the
+automatic flushing is disabled else memory leaks will be introduced.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="auto_flush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether or not to automatically flush the bus when the pipeline goes from READY to NULL state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clock" c:identifier="gst_pipeline_set_clock">
+ <doc xml:whitespace="preserve">Set the clock for @pipeline. The clock will be distributed
+to all the elements managed by the pipeline.
+some element did not accept the clock.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the clock could be set on the pipeline. FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the clock to set</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_delay"
+ c:identifier="gst_pipeline_set_delay"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Set the expected delay needed for all elements to perform the
+PAUSED to PLAYING state change. @delay will be added to the
+base time of the elements so that they wait an additional @delay
+amount of time before starting to process buffers and cannot be
+#GST_CLOCK_TIME_NONE.
+This option is used for tuning purposes and should normally not be
+used.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="delay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the delay</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_new_stream_time"
+ c:identifier="gst_pipeline_set_new_stream_time"
+ deprecated="This function has the wrong name and is equivalent to">
+ <doc xml:whitespace="preserve">Set the new start time of @pipeline to @time. The start time is used to
+set the base time on the elements (see gst_element_set_base_time())
+in the PAUSED->PLAYING state transition.
+Setting @time to #GST_CLOCK_TIME_NONE will disable the pipeline's management
+of element base time. The application will then be responsible for
+performing base time distribution. This is sometimes useful if you want to
+synchronize capture from multiple pipelines, and you can also ensure that the
+pipelines have the same clock.
+MT safe.
+gst_element_set_start_time().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new running time to set</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="use_clock" c:identifier="gst_pipeline_use_clock">
+ <doc xml:whitespace="preserve">Force @pipeline to use the given @clock. The pipeline will
+always use the given clock even if new clock providers are added
+to this pipeline.
+If @clock is NULL all clocking will be disabled which will make
+the pipeline run as fast as possible.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the clock to use</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auto-flush-bus"
+ version="0.10.4"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether or not to automatically flush all messages on the
+pipeline's bus when going from READY to NULL state. Please see
+gst_pipeline_set_auto_flush_bus() for more information on this option.</doc>
+ <type name="gboolean"/>
+ </property>
+ <property name="delay" writable="1" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <field name="bin">
+ <type name="Bin" c:type="GstBin"/>
+ </field>
+ <field name="fixed_clock">
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="stream_time">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="delay">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="priv">
+ <type name="PipelinePrivate" c:type="GstPipelinePrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PipelineClass"
+ c:type="GstPipelineClass"
+ glib:is-gtype-struct-for="Pipeline">
+ <field name="parent_class">
+ <type name="BinClass" c:type="GstBinClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PipelineFlags" c:type="GstPipelineFlags">
+ <doc xml:whitespace="preserve">Pipeline flags</doc>
+ <member name="fixed_clock"
+ value="33554432"
+ c:identifier="GST_PIPELINE_FLAG_FIXED_CLOCK"/>
+ <member name="last"
+ value="536870912"
+ c:identifier="GST_PIPELINE_FLAG_LAST"/>
+ </bitfield>
+ <record name="PipelinePrivate" c:type="GstPipelinePrivate" disguised="1">
+ </record>
+ <class name="Plugin"
+ c:symbol-prefix="plugin"
+ c:type="GstPlugin"
+ parent="Object"
+ glib:type-name="GstPlugin"
+ glib:get-type="gst_plugin_get_type"
+ glib:type-struct="PluginClass">
+ <doc xml:whitespace="preserve">The plugin object</doc>
+ <function name="error_quark" c:identifier="gst_plugin_error_quark">
+ <doc xml:whitespace="preserve">Get the error quark.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The error quark used in GError messages</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="list_free" c:identifier="gst_plugin_list_free">
+ <doc xml:whitespace="preserve">Unrefs each member of @list, then frees the list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">list of #GstPlugin</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Plugin"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="load_by_name" c:identifier="gst_plugin_load_by_name">
+ <doc xml:whitespace="preserve">Load the named plugin. Refs the plugin.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a reference to a loaded plugin, or NULL on error.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of plugin to load</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="load_file"
+ c:identifier="gst_plugin_load_file"
+ throws="1">
+ <doc xml:whitespace="preserve">Loads the given plugin and refs it. Caller needs to unref after use.
+reference to the newly-loaded GstPlugin, or NULL if an error occurred.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a reference to the existing loaded GstPlugin, a</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the plugin filename to load</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register_static"
+ c:identifier="gst_plugin_register_static"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Registers a static plugin, ie. a plugin which is private to an application
+or library and contained within the application or library (as opposed to
+being shipped as a separate module file).
+You must make sure that GStreamer has been initialised (with gst_init() or
+via gst_init_get_option_group()) before calling this function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the plugin was registered correctly, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="major_version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minor_version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">description of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="init_func" transfer-ownership="none" scope="call">
+ <doc xml:whitespace="preserve">pointer to the init function of this plugin.</doc>
+ <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">version string of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="license" transfer-ownership="none">
+ <doc xml:whitespace="preserve">effective license of plugin. Must be one of the approved licenses (see #GstPluginDesc above) or the plugin will not be registered.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:whitespace="preserve">source module plugin belongs to</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="package" transfer-ownership="none">
+ <doc xml:whitespace="preserve">shipped package plugin belongs to</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="origin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">URL to provider of plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register_static_full"
+ c:identifier="gst_plugin_register_static_full"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Registers a static plugin, ie. a plugin which is private to an application
+or library and contained within the application or library (as opposed to
+being shipped as a separate module file) with a #GstPluginInitFullFunc
+which allows user data to be passed to the callback function (useful
+for bindings).
+You must make sure that GStreamer has been initialised (with gst_init() or
+via gst_init_get_option_group()) before calling this function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the plugin was registered correctly, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="major_version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minor_version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">description of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="init_full_func"
+ transfer-ownership="none"
+ scope="call"
+ closure="10">
+ <doc xml:whitespace="preserve">pointer to the init function with user data of this plugin.</doc>
+ <type name="PluginInitFullFunc" c:type="GstPluginInitFullFunc"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">version string of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="license" transfer-ownership="none">
+ <doc xml:whitespace="preserve">effective license of plugin. Must be one of the approved licenses (see #GstPluginDesc above) or the plugin will not be registered.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:whitespace="preserve">source module plugin belongs to</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="package" transfer-ownership="none">
+ <doc xml:whitespace="preserve">shipped package plugin belongs to</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="origin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">URL to provider of plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">gpointer to user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="add_dependency"
+ c:identifier="gst_plugin_add_dependency"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Make GStreamer aware of external dependencies which affect the feature
+set of this plugin (ie. the elements or typefinders associated with it).
+GStreamer will re-inspect plugins with external dependencies whenever any
+of the external dependencies change. This is useful for plugins which wrap
+other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
+library and makes visualisations available as GStreamer elements, or a
+codec loader which exposes elements and/or caps dependent on what external
+codec libraries are currently installed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="env_vars" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated array of environent variables affecting the feature set of the plugin (e.g. an environment variable containing paths where to look for additional modules/plugins of a library), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins".</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="paths" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated array of directories/paths where dependent files may be.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated array of file names (or file name suffixes, depending on @flags) to be used in combination with the paths from</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE</doc>
+ <type name="PluginDependencyFlags"
+ c:type="GstPluginDependencyFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_dependency_simple"
+ c:identifier="gst_plugin_add_dependency_simple"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Make GStreamer aware of external dependencies which affect the feature
+set of this plugin (ie. the elements or typefinders associated with it).
+GStreamer will re-inspect plugins with external dependencies whenever any
+of the external dependencies change. This is useful for plugins which wrap
+other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
+library and makes visualisations available as GStreamer elements, or a
+codec loader which exposes elements and/or caps dependent on what external
+codec libraries are currently installed.
+Convenience wrapper function for gst_plugin_add_dependency() which
+takes simple strings as arguments instead of string arrays, with multiple
+arguments separated by predefined delimiters (see above).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="env_vars" transfer-ownership="none">
+ <doc xml:whitespace="preserve">one or more environent variables (separated by ':', ';' or ','), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="paths" transfer-ownership="none">
+ <doc xml:whitespace="preserve">one ore more directory paths (separated by ':' or ';' or ','), or NULL. Example: "/usr/lib/mystuff/plugins"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="names" transfer-ownership="none">
+ <doc xml:whitespace="preserve">one or more file names or file name suffixes (separated by commas), or NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE</doc>
+ <type name="PluginDependencyFlags"
+ c:type="GstPluginDependencyFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_cache_data"
+ c:identifier="gst_plugin_get_cache_data"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Gets the plugin specific data cache. If it is %NULL there is no cached data
+stored. This is the case when the registry is getting rebuilt.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The cached data as a #GstStructure or %NULL.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="get_description" c:identifier="gst_plugin_get_description">
+ <doc xml:whitespace="preserve">Get the long descriptive name of the plugin</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the long name of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_filename" c:identifier="gst_plugin_get_filename">
+ <doc xml:whitespace="preserve">get the filename of the plugin</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the filename of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_license" c:identifier="gst_plugin_get_license">
+ <doc xml:whitespace="preserve">get the license of the plugin</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the license of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_module" c:identifier="gst_plugin_get_module">
+ <doc xml:whitespace="preserve">Gets the #GModule of the plugin. If the plugin isn't loaded yet, NULL is
+returned.
+plugin isn't loaded yet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">module belonging to the plugin or NULL if the</doc>
+ <type name="GModule.Module" c:type="GModule*"/>
+ </return-value>
+ </method>
+ <method name="get_name" c:identifier="gst_plugin_get_name">
+ <doc xml:whitespace="preserve">Get the short name of the plugin</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_origin" c:identifier="gst_plugin_get_origin">
+ <doc xml:whitespace="preserve">get the URL where the plugin comes from</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the origin of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_package" c:identifier="gst_plugin_get_package">
+ <doc xml:whitespace="preserve">get the package the plugin belongs to.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the package of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_source" c:identifier="gst_plugin_get_source">
+ <doc xml:whitespace="preserve">get the source module the plugin belongs to.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_version" c:identifier="gst_plugin_get_version">
+ <doc xml:whitespace="preserve">get the version of the plugin</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the version of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="is_loaded" c:identifier="gst_plugin_is_loaded">
+ <doc xml:whitespace="preserve">queries if the plugin is loaded into memory</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE is loaded, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="load" c:identifier="gst_plugin_load">
+ <doc xml:whitespace="preserve">Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is
+untouched. The normal use pattern of this function goes like this:
+<programlisting>
+GstPlugin *loaded_plugin;
+loaded_plugin = gst_plugin_load (plugin);
+// presumably, we're no longer interested in the potentially-unloaded plugin
+gst_object_unref (plugin);
+plugin = loaded_plugin;
+</programlisting></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a reference to a loaded plugin, or NULL on error.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ </method>
+ <method name="name_filter" c:identifier="gst_plugin_name_filter">
+ <doc xml:whitespace="preserve">A standard filter that returns TRUE when the plugin is of the
+given name.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the plugin is of the given name.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the plugin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_cache_data"
+ c:identifier="gst_plugin_set_cache_data"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Adds plugin specific data to cache. Passes the ownership of the structure to
+the @plugin.
+The cache is flushed every time the registry is rebuilt.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cache_data" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a structure containing the data to cache</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="desc">
+ <type name="PluginDesc" c:type="GstPluginDesc"/>
+ </field>
+ <field name="orig_desc">
+ <type name="PluginDesc" c:type="GstPluginDesc*"/>
+ </field>
+ <field name="flags">
+ <type name="guint" c:type="unsigned"/>
+ </field>
+ <field name="filename">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="basename">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="module">
+ <type name="GModule.Module" c:type="GModule*"/>
+ </field>
+ <field name="file_size">
+ <type name="gulong" c:type="off_t"/>
+ </field>
+ <field name="file_mtime">
+ <type name="glong" c:type="time_t"/>
+ </field>
+ <field name="registered">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv">
+ <type name="PluginPrivate" c:type="GstPluginPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PluginClass"
+ c:type="GstPluginClass"
+ glib:is-gtype-struct-for="Plugin">
+ <field name="object_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PluginDependencyFlags"
+ version="0.10.22"
+ c:type="GstPluginDependencyFlags">
+ <doc xml:whitespace="preserve">Flags used in connection with gst_plugin_add_dependency().</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_NONE"/>
+ <member name="recurse"
+ value="1"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE"/>
+ <member name="paths_are_default_only"
+ value="2"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY"/>
+ <member name="file_name_is_suffix"
+ value="4"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX"/>
+ </bitfield>
+ <record name="PluginDesc" c:type="GstPluginDesc">
+ <doc xml:whitespace="preserve">A plugin should export a variable of this type called plugin_desc. The plugin
+loader will use the data provided there to initialize the plugin.
+BSD, MIT/X11, Proprietary, unknown.</doc>
+ <field name="major_version" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="minor_version" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="plugin_init" writable="1">
+ <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
+ </field>
+ <field name="version" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="license" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="source" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="package" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="origin" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="release_datetime" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="PluginError" c:type="GstPluginError">
+ <doc xml:whitespace="preserve">The plugin loading errors</doc>
+ <member name="module" value="0" c:identifier="GST_PLUGIN_ERROR_MODULE"/>
+ <member name="dependencies"
+ value="1"
+ c:identifier="GST_PLUGIN_ERROR_DEPENDENCIES"/>
+ <member name="name_mismatch"
+ value="2"
+ c:identifier="GST_PLUGIN_ERROR_NAME_MISMATCH"/>
+ </enumeration>
+ <class name="PluginFeature"
+ c:symbol-prefix="plugin_feature"
+ c:type="GstPluginFeature"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstPluginFeature"
+ glib:get-type="gst_plugin_feature_get_type"
+ glib:type-struct="PluginFeatureClass">
+ <doc xml:whitespace="preserve">Opaque #GstPluginFeature structure.</doc>
+ <function name="list_copy"
+ c:identifier="gst_plugin_feature_list_copy"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Copies the list of features. Caller should call @gst_plugin_feature_list_free
+when done with the list.
+with each feature's reference count incremented.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a copy of @list,</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of #GstPluginFeature</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_debug"
+ c:identifier="gst_plugin_feature_list_debug"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Debug the plugin feature names in @list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GList of plugin features</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_free" c:identifier="gst_plugin_feature_list_free">
+ <doc xml:whitespace="preserve">Unrefs each member of @list, then frees the list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:whitespace="preserve">list of #GstPluginFeature</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rank_compare_func"
+ c:identifier="gst_plugin_feature_rank_compare_func"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Compares the two given #GstPluginFeature instances. This function can be
+used as a #GCompareFunc when sorting by rank and then by name.
+equal but the name of p1 comes before the name of p2; zero if the rank
+and names are equal; positive value if the rank of p1 < the rank of p2 or the
+ranks are equal but the name of p2 comes after the name of p1</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">negative value if the rank of p1 > the rank of p2 or the ranks are</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="p1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPluginFeature</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="p2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPluginFeature</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="check_version"
+ c:identifier="gst_plugin_feature_check_version">
+ <doc xml:whitespace="preserve">Checks whether the given plugin feature is at least
+the required version
+the required version, otherwise #FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the plugin feature has at least</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="min_major" transfer-ownership="none">
+ <doc xml:whitespace="preserve">minimum required major version</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_minor" transfer-ownership="none">
+ <doc xml:whitespace="preserve">minimum required minor version</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_micro" transfer-ownership="none">
+ <doc xml:whitespace="preserve">minimum required micro version</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_plugin_feature_get_name">
+ <doc xml:whitespace="preserve">Gets the name of a plugin feature.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_rank" c:identifier="gst_plugin_feature_get_rank">
+ <doc xml:whitespace="preserve">Gets the rank of a plugin feature.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The rank of the feature</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="load" c:identifier="gst_plugin_feature_load">
+ <doc xml:whitespace="preserve">Loads the plugin containing @feature if it's not already loaded. @feature is
+unaffected; use the return value instead.
+Normally this function is used like this:
+|[
+GstPluginFeature *loaded_feature;
+loaded_feature = gst_plugin_feature_load (feature);
+// presumably, we're no longer interested in the potentially-unloaded feature
+gst_object_unref (feature);
+feature = loaded_feature;
+]|</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a reference to the loaded feature, or NULL on error</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </return-value>
+ </method>
+ <method name="set_name" c:identifier="gst_plugin_feature_set_name">
+ <doc xml:whitespace="preserve">Sets the name of a plugin feature. The name uniquely identifies a feature
+within all features of the same type. Renaming a plugin feature is not
+allowed. A copy is made of the name so you should free the supplied @name
+after calling this function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_rank" c:identifier="gst_plugin_feature_set_rank">
+ <doc xml:whitespace="preserve">Specifies a rank for a plugin feature, so that autoplugging uses
+the most appropriate feature.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:whitespace="preserve">rank value - higher number means more priority rank</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="type_name_filter"
+ c:identifier="gst_plugin_feature_type_name_filter">
+ <doc xml:whitespace="preserve">Compares type and name of plugin feature. Can be used with gst_filter_run().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type and name to check against</doc>
+ <type name="TypeNameData" c:type="GstTypeNameData*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="loaded">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="name">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="rank">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="plugin_name">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PluginFeatureClass"
+ c:type="GstPluginFeatureClass"
+ glib:is-gtype-struct-for="PluginFeature">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="PluginFeatureFilter" c:type="GstPluginFeatureFilter">
+ <doc xml:whitespace="preserve">A function that can be used with e.g. gst_registry_feature_filter()
+to get a list of pluginfeature that match certain criteria.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for a positive match, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pluginfeature to check</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the user_data that has been passed on e.g. gst_registry_feature_filter()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PluginFilter" c:type="GstPluginFilter">
+ <doc xml:whitespace="preserve">A function that can be used with e.g. gst_registry_plugin_filter()
+to get a list of plugins that match certain criteria.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE for a positive match, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the plugin to check</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the user_data that has been passed on e.g. gst_registry_plugin_filter()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="PluginFlags" c:type="GstPluginFlags">
+ <doc xml:whitespace="preserve">The plugin loading state</doc>
+ <member name="cached" value="1" c:identifier="GST_PLUGIN_FLAG_CACHED"/>
+ <member name="blacklisted"
+ value="2"
+ c:identifier="GST_PLUGIN_FLAG_BLACKLISTED"/>
+ </bitfield>
+ <callback name="PluginInitFullFunc"
+ c:type="GstPluginInitFullFunc"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">A plugin should provide a pointer to a function of either #GstPluginInitFunc
+or this type in the plugin_desc struct.
+The function will be called by the loader at startup. One would then
+register each #GstPluginFeature. This version allows
+user data to be passed to init function (useful for bindings).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if plugin initialised successfully</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The plugin object</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">extra data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PluginInitFunc" c:type="GstPluginInitFunc">
+ <doc xml:whitespace="preserve">A plugin should provide a pointer to a function of this type in the
+plugin_desc struct.
+This function will be called by the loader at startup. One would then
+register each #GstPluginFeature.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if plugin initialised successfully</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The plugin object</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="PluginPrivate" c:type="GstPluginPrivate" disguised="1">
+ </record>
+ <record name="Poll" c:type="GstPoll" disguised="1">
+ <doc xml:whitespace="preserve">A set of file/network descriptors.</doc>
+ <method name="add_fd" c:identifier="gst_poll_add_fd" version="0.10.18">
+ <doc xml:whitespace="preserve">Add a file descriptor to the file descriptor set.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the file descriptor was successfully added to the set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_can_read"
+ c:identifier="gst_poll_fd_can_read"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Check if @fd in @set has data to be read.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the descriptor has data to be read.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_can_write"
+ c:identifier="gst_poll_fd_can_write"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Check if @fd in @set can be used for writing.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the descriptor can be used for writing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ctl_read"
+ c:identifier="gst_poll_fd_ctl_read"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Control whether the descriptor @fd in @set will be monitored for
+readability.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the descriptor was successfully updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new status.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ctl_write"
+ c:identifier="gst_poll_fd_ctl_write"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Control whether the descriptor @fd in @set will be monitored for
+writability.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the descriptor was successfully updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new status.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_has_closed"
+ c:identifier="gst_poll_fd_has_closed"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Check if @fd in @set has closed the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the connection was closed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_has_error"
+ c:identifier="gst_poll_fd_has_error"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Check if @fd in @set has an error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the descriptor has an error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ignored"
+ c:identifier="gst_poll_fd_ignored"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Mark @fd as ignored so that the next call to gst_poll_wait() will yield
+the same result for @fd as last time. This function must be called if no
+operation (read/write/recv/send/etc.) will be performed on @fd before
+the next call to gst_poll_wait().
+The reason why this is needed is because the underlying implementation
+might not allow querying the fd more than once between calls to one of
+the re-enabling operations.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_poll_free" version="0.10.18">
+ <doc xml:whitespace="preserve">Free a file descriptor set.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_read_gpollfd"
+ c:identifier="gst_poll_get_read_gpollfd"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Get a GPollFD for the reading part of the control socket. This is useful when
+integrating with a GSource and GMainLoop.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GPollFD</doc>
+ <type name="GLib.PollFD" c:type="GPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_control"
+ c:identifier="gst_poll_read_control"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Read a byte from the control socket of the controllable @set.
+This function is mostly useful for timer #GstPoll objects created with
+gst_poll_new_timer().
+was no byte to read.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE on success. %FALSE when @set is not controllable or when there</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="remove_fd"
+ c:identifier="gst_poll_remove_fd"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Remove a file descriptor from the file descriptor set.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the file descriptor was successfully removed from the set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="restart" c:identifier="gst_poll_restart" version="0.10.18">
+ <doc xml:whitespace="preserve">Restart any gst_poll_wait() that is in progress. This function is typically
+used after adding or removing descriptors to @set.
+If @set is not controllable, then this call will have no effect.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_controllable"
+ c:identifier="gst_poll_set_controllable"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">When @controllable is %TRUE, this function ensures that future calls to
+gst_poll_wait() will be affected by gst_poll_restart() and
+gst_poll_set_flushing().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the controllability of @set could be updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="controllable" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new controllable state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_poll_set_flushing"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">When @flushing is %TRUE, this function ensures that current and future calls
+to gst_poll_wait() will return -1, with errno set to EBUSY.
+Unsetting the flushing state will restore normal operation of @set.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new flushing state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait" c:identifier="gst_poll_wait" version="0.10.18">
+ <doc xml:whitespace="preserve">Wait for activity on the file descriptors in @set. This function waits up to
+the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever.
+For #GstPoll objects created with gst_poll_new(), this function can only be
+called from a single thread at a time. If called from multiple threads,
+-1 will be returned with errno set to EPERM.
+This is not true for timer #GstPoll objects created with
+gst_poll_new_timer(), where it is allowed to have multiple threads waiting
+simultaneously.
+activity was detected after @timeout. If an error occurs, -1 is returned
+and errno is set.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of #GstPollFD in @set that have activity or 0 when no</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout in nanoseconds.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write_control"
+ c:identifier="gst_poll_write_control"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Write a byte to the control socket of the controllable @set.
+This function is mostly useful for timer #GstPoll objects created with
+gst_poll_new_timer().
+It will make any current and future gst_poll_wait() function return with
+1, meaning the control socket is set. After an equal amount of calls to
+gst_poll_read_control() have been performed, calls to gst_poll_wait() will
+block again until their timeout expired.
+byte could not be written.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE on success. %FALSE when @set is not controllable or when the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="PollFD" c:type="GstPollFD">
+ <doc xml:whitespace="preserve">A file descriptor object.</doc>
+ <field name="fd" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="idx" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <method name="init" c:identifier="gst_poll_fd_init" version="0.10.18">
+ <doc xml:whitespace="preserve">Initializes @fd. Alternatively you can initialize it with
+#GST_POLL_FD_INIT.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <interface name="Preset"
+ c:symbol-prefix="preset"
+ c:type="GstPreset"
+ glib:type-name="GstPreset"
+ glib:get-type="gst_preset_get_type"
+ glib:type-struct="PresetInterface">
+ <doc xml:whitespace="preserve">Opaque #GstPreset data structure.</doc>
+ <virtual-method name="delete_preset"
+ invoker="delete_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Delete the given preset.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_meta" invoker="get_meta" version="0.10.20">
+ <doc xml:whitespace="preserve">Gets the @value for an existing meta data @tag. Meta data @tag names can be
+something like e.g. "comment". Returned values need to be released when done.
+or no value for the given @tag</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">meta data item name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_preset_names"
+ invoker="get_preset_names"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Get a copy of preset names as a NULL terminated string array.
+list with names, ue g_strfreev() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_property_names"
+ invoker="get_property_names"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Get a the names of the GObject properties that can be used for presets.
+array of property names which should be freed with g_strfreev() after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">an</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="load_preset"
+ invoker="load_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Load the given preset.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to load</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="rename_preset"
+ invoker="rename_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Renames a preset. If there is already a preset by the @new_name it will be
+overwritten.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">current preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="new_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="save_preset"
+ invoker="save_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Save the current object settings as a preset under the given name. If there
+is already a preset by this @name it will be overwritten.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to save</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_meta" invoker="set_meta" version="0.10.20">
+ <doc xml:whitespace="preserve">Sets a new @value for an existing meta data item or adds a new item. Meta
+data @tag names can be something like e.g. "comment". Supplying %NULL for the</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">meta data item name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="delete_preset"
+ c:identifier="gst_preset_delete_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Delete the given preset.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_meta"
+ c:identifier="gst_preset_get_meta"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Gets the @value for an existing meta data @tag. Meta data @tag names can be
+something like e.g. "comment". Returned values need to be released when done.
+or no value for the given @tag</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">meta data item name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_preset_names"
+ c:identifier="gst_preset_get_preset_names"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Get a copy of preset names as a NULL terminated string array.
+list with names, ue g_strfreev() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_property_names"
+ c:identifier="gst_preset_get_property_names"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Get a the names of the GObject properties that can be used for presets.
+array of property names which should be freed with g_strfreev() after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">an</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="load_preset"
+ c:identifier="gst_preset_load_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Load the given preset.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to load</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rename_preset"
+ c:identifier="gst_preset_rename_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Renames a preset. If there is already a preset by the @new_name it will be
+overwritten.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">current preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="new_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_preset"
+ c:identifier="gst_preset_save_preset"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Save the current object settings as a preset under the given name. If there
+is already a preset by this @name it will be overwritten.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to save</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_meta"
+ c:identifier="gst_preset_set_meta"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Sets a new @value for an existing meta data item or adds a new item. Meta
+data @tag names can be something like e.g. "comment". Supplying %NULL for the</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">meta data item name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="PresetInterface"
+ c:type="GstPresetInterface"
+ glib:is-gtype-struct-for="Preset">
+ <doc xml:whitespace="preserve">#GstPreset interface.</doc>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_preset_names">
+ <callback name="get_preset_names">
+ <return-value transfer-ownership="full">
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_property_names">
+ <callback name="get_property_names">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">an</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="load_preset">
+ <callback name="load_preset">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to load</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="save_preset">
+ <callback name="save_preset">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to save</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="rename_preset">
+ <callback name="rename_preset">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">current preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="new_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delete_preset">
+ <callback name="delete_preset">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_meta">
+ <callback name="set_meta">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">meta data item name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_meta">
+ <callback name="get_meta">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">preset name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">meta data item name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="ProxyPad"
+ c:symbol-prefix="proxy_pad"
+ c:type="GstProxyPad"
+ parent="Pad"
+ glib:type-name="GstProxyPad"
+ glib:get-type="gst_proxy_pad_get_type"
+ glib:type-struct="ProxyPadClass">
+ <field name="pad">
+ <type name="Pad" c:type="GstPad"/>
+ </field>
+ <field name="priv">
+ <type name="ProxyPadPrivate" c:type="GstProxyPadPrivate*"/>
+ </field>
+ </class>
+ <record name="ProxyPadClass"
+ c:type="GstProxyPadClass"
+ glib:is-gtype-struct-for="ProxyPad">
+ <field name="parent_class">
+ <type name="PadClass" c:type="GstPadClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ProxyPadPrivate" c:type="GstProxyPadPrivate" disguised="1">
+ </record>
+ <class name="Query"
+ c:symbol-prefix="query"
+ c:type="GstQuery"
+ parent="MiniObject"
+ glib:type-name="GstQuery"
+ glib:get-type="gst_query_get_type"
+ glib:type-struct="QueryClass"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">The #GstQuery structure.</doc>
+ <constructor name="new_application"
+ c:identifier="gst_query_new_application">
+ <doc xml:whitespace="preserve">Constructs a new custom application query object. Use gst_query_unref()
+when done with it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a structure for the query</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_buffering" c:identifier="gst_query_new_buffering">
+ <return-value transfer-ownership="full">
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_convert" c:identifier="gst_query_new_convert">
+ <doc xml:whitespace="preserve">Constructs a new convert query object. Use gst_query_unref()
+when done with it. A convert query is used to ask for a conversion between
+one format and another.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to convert</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the target #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_duration" c:identifier="gst_query_new_duration">
+ <doc xml:whitespace="preserve">Constructs a new stream duration query object to query in the given format.
+Use gst_query_unref() when done with it. A duration query will give the
+total length of the stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstFormat for this duration query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_formats"
+ c:identifier="gst_query_new_formats"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Constructs a new query object for querying formats of
+the stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_latency"
+ c:identifier="gst_query_new_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Constructs a new latency query object.
+Use gst_query_unref() when done with it. A latency query is usually performed
+by sinks to compensate for additional latency introduced by elements in the
+pipeline.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_position" c:identifier="gst_query_new_position">
+ <doc xml:whitespace="preserve">Constructs a new query stream position query object. Use gst_query_unref()
+when done with it. A position query is used to query the current position
+of playback in the streams, in some format.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the default #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_seeking" c:identifier="gst_query_new_seeking">
+ <doc xml:whitespace="preserve">Constructs a new query object for querying seeking properties of
+the stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the default #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment" c:identifier="gst_query_new_segment">
+ <doc xml:whitespace="preserve">Constructs a new segment query object. Use gst_query_unref()
+when done with it. A segment query is used to discover information about the
+currently configured segment for playback.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_uri"
+ c:identifier="gst_query_new_uri"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Constructs a new query URI query object. Use gst_query_unref()
+when done with it. An URI query is used to query the current URI
+that is used by the source or sink.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <function name="type_get_by_nick"
+ c:identifier="gst_query_type_get_by_nick">
+ <doc xml:whitespace="preserve">Get the query type registered with @nick.
+if the query was not registered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The query registered with @nick or #GST_QUERY_NONE</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The nick of the query</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_get_details"
+ c:identifier="gst_query_type_get_details">
+ <doc xml:whitespace="preserve">Get details about the given #GstQueryType.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstQueryTypeDefinition for @type or NULL on failure.</doc>
+ <type name="QueryTypeDefinition" c:type="GstQueryTypeDefinition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQueryType</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_get_name" c:identifier="gst_query_type_get_name">
+ <doc xml:whitespace="preserve">Get a printable name for the given query type. Do not modify or free.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a reference to the static name of the query.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_iterate_definitions"
+ c:identifier="gst_query_type_iterate_definitions"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get a #GstIterator of all the registered query types. The definitions
+iterated over are read only.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstIterator of #GstQueryTypeDefinition.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </function>
+ <function name="type_register" c:identifier="gst_query_type_register">
+ <doc xml:whitespace="preserve">Create a new GstQueryType based on the nick or return an
+already registered query with that nick
+with the same nick.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A new GstQueryType or an already registered query</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The nick of the new query</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The description of the new query</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_to_quark" c:identifier="gst_query_type_to_quark">
+ <doc xml:whitespace="preserve">Get the unique quark for the given query type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark associated with the query type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="types_contains" c:identifier="gst_query_types_contains">
+ <doc xml:whitespace="preserve">See if the given #GstQueryType is inside the @types query types array.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the type is found inside the array</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The query array to search</doc>
+ <type name="QueryType" c:type="GstQueryType*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstQueryType to find</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="add_buffering_range"
+ c:identifier="gst_query_add_buffering_range">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="start" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_n_buffering_ranges"
+ c:identifier="gst_query_get_n_buffering_ranges">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_structure" c:identifier="gst_query_get_structure">
+ <doc xml:whitespace="preserve">Get the structure of a query.
+still owned by the query and will therefore be freed when the query
+is unreffed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstStructure of the query. The structure is</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="parse_buffering_percent"
+ c:identifier="gst_query_parse_buffering_percent">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="busy" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="percent" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_range"
+ c:identifier="gst_query_parse_buffering_range"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Parse an available query, writing the format into @format, and
+other results into the passed parameters, if the respective parameters
+are non-NULL</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the format to set for the @segment_start and @segment_end values, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the start to set, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the stop to set, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="estimated_total"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">estimated total amount of download time, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_stats"
+ c:identifier="gst_query_parse_buffering_stats"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Extracts the buffering stats values from @query.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">a buffering mode, or NULL</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode*"/>
+ </parameter>
+ <parameter name="avg_in"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the average input rate, or NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="avg_out"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the average output rat, or NULLe</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="buffering_left"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">amount of buffering time left, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_convert" c:identifier="gst_query_parse_convert">
+ <doc xml:whitespace="preserve">Parse a convert query answer. Any of @src_format, @src_value, @dest_format,
+and @dest_value may be NULL, in which case that value is omitted.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the #GstFormat of the source value, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="src_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the source value, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="dest_format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the #GstFormat of the destination value, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="dest_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the destination value, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_duration" c:identifier="gst_query_parse_duration">
+ <doc xml:whitespace="preserve">Parse a duration query answer. Write the format of the duration into @format,
+and the value into @duration, if the respective variables are non-NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the #GstFormat of the duration value, or NULL.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the total duration, or NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_formats_length"
+ c:identifier="gst_query_parse_formats_length"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Parse the number of formats in the formats @query.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_formats"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the number of formats in this query.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_formats_nth"
+ c:identifier="gst_query_parse_formats_nth"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Parse the format query and retrieve the @nth format from it into
+set to GST_FORMAT_UNDEFINED.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="nth"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the nth format to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to store the nth format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_latency"
+ c:identifier="gst_query_parse_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Parse a latency query answer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">storage for live or NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the min latency or NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the max latency or NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_buffering_range"
+ c:identifier="gst_query_parse_nth_buffering_range">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_position" c:identifier="gst_query_parse_position">
+ <doc xml:whitespace="preserve">Parse a position query, writing the format into @format, and the position
+into @cur, if the respective parameters are non-NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the #GstFormat of the position values (may be NULL)</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the current position (may be NULL)</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_seeking" c:identifier="gst_query_parse_seeking">
+ <doc xml:whitespace="preserve">Parse a seeking query, writing the format into @format, and
+other results into the passed parameters, if the respective parameters
+are non-NULL</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the format to set for the @segment_start and @segment_end values, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="seekable"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the seekable flag to set, or NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="segment_start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the segment_start to set, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="segment_end"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the segment_end to set, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment" c:identifier="gst_query_parse_segment">
+ <doc xml:whitespace="preserve">Parse a segment query answer. Any of @rate, @format, @start_value, and
+See gst_query_set_segment() for an explanation of the function arguments.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the rate of the segment, or NULL</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the #GstFormat of the values, or NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="start_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the start value, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the stop value, or NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_uri"
+ c:identifier="gst_query_parse_uri"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Parse an URI query, writing the URI into @uri as a newly
+allocated string, if the respective parameters are non-NULL.
+Free the string with g_free() after usage.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the storage for the current URI (may be NULL)</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_percent"
+ c:identifier="gst_query_set_buffering_percent">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="busy" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="percent" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_range"
+ c:identifier="gst_query_set_buffering_range"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Set the available query result fields in @query.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format to set for the @start and @stop values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stop to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="estimated_total" transfer-ownership="none">
+ <doc xml:whitespace="preserve">estimated total amount of download time</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_stats"
+ c:identifier="gst_query_set_buffering_stats"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Configures the buffering stats values in @query.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a buffering mode</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode"/>
+ </parameter>
+ <parameter name="avg_in" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the average input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="avg_out" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the average output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="buffering_left" transfer-ownership="none">
+ <doc xml:whitespace="preserve">amount of buffering time left</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_convert" c:identifier="gst_query_set_convert">
+ <doc xml:whitespace="preserve">Answer a convert query by setting the requested values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the destination #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the destination value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration" c:identifier="gst_query_set_duration">
+ <doc xml:whitespace="preserve">Answer a duration query by setting the requested value in the given format.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstFormat for the duration</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the duration of the stream</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_formats"
+ c:identifier="gst_query_set_formats"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the formats query result fields in @query. The number of formats passed
+must be equal to @n_formats.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_formats" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of formats to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_formatsv"
+ c:identifier="gst_query_set_formatsv"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Set the formats query result fields in @query. The number of formats passed
+in the @formats array must be equal to @n_formats.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_formats" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of formats to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="formats" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array containing @n_formats</doc>
+ <array length="0" c:type="GstFormat*">
+ <type name="Format"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency"
+ c:identifier="gst_query_set_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Answer a latency query by setting the requested values in the given format.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="live" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if there is a live element upstream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="min_latency" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimal latency of the live element</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max_latency" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximal latency of the live element</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_position" c:identifier="gst_query_set_position">
+ <doc xml:whitespace="preserve">Answer a position query by setting the requested value in the given format.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="cur" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seeking" c:identifier="gst_query_set_seeking">
+ <doc xml:whitespace="preserve">Set the seeking query result fields in @query.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format to set for the @segment_start and @segment_end values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="seekable" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seekable flag to set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="segment_start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the segment_start to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="segment_end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the segment_end to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_segment" c:identifier="gst_query_set_segment">
+ <doc xml:whitespace="preserve">Answer a segment query by setting the requested values. The normal
+playback segment of a pipeline is 0 to duration at the default rate of
+1.0. If a seek was performed on the pipeline to play a different
+segment, this query will return the range specified in the last seek.
+playback range start and stop values expressed in @format.
+The values are always between 0 and the duration of the media and
+negative rates, playback will actually happen from @stop_value to</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rate of the segment</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstFormat of the segment values (@start_value and @stop_value)</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stop value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri"
+ c:identifier="gst_query_set_uri"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Answer a URI query by setting the requested URI.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="mini_object">
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="type">
+ <type name="QueryType" c:type="GstQueryType"/>
+ </field>
+ <field name="structure">
+ <type name="Structure" c:type="GstStructure*"/>
+ </field>
+ <field name="_gst_reserved">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ </class>
+ <record name="QueryClass"
+ c:type="GstQueryClass"
+ glib:is-gtype-struct-for="Query">
+ <field name="mini_object_class">
+ <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="QueryType" c:type="GstQueryType">
+ <doc xml:whitespace="preserve">Standard predefined Query types</doc>
+ <member name="none" value="0" c:identifier="GST_QUERY_NONE"/>
+ <member name="position" value="1" c:identifier="GST_QUERY_POSITION"/>
+ <member name="duration" value="2" c:identifier="GST_QUERY_DURATION"/>
+ <member name="latency" value="3" c:identifier="GST_QUERY_LATENCY"/>
+ <member name="jitter" value="4" c:identifier="GST_QUERY_JITTER"/>
+ <member name="rate" value="5" c:identifier="GST_QUERY_RATE"/>
+ <member name="seeking" value="6" c:identifier="GST_QUERY_SEEKING"/>
+ <member name="segment" value="7" c:identifier="GST_QUERY_SEGMENT"/>
+ <member name="convert" value="8" c:identifier="GST_QUERY_CONVERT"/>
+ <member name="formats" value="9" c:identifier="GST_QUERY_FORMATS"/>
+ <member name="buffering" value="10" c:identifier="GST_QUERY_BUFFERING"/>
+ <member name="custom" value="11" c:identifier="GST_QUERY_CUSTOM"/>
+ <member name="uri" value="12" c:identifier="GST_QUERY_URI"/>
+ </enumeration>
+ <record name="QueryTypeDefinition" c:type="GstQueryTypeDefinition">
+ <doc xml:whitespace="preserve">A Query Type definition</doc>
+ <field name="value" writable="1">
+ <type name="QueryType" c:type="GstQueryType"/>
+ </field>
+ <field name="nick" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="quark" writable="1">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </field>
+ </record>
+ <enumeration name="Rank" c:type="GstRank">
+ <doc xml:whitespace="preserve">Element priority ranks. Defines the order in which the autoplugger (or
+similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri())
+will choose this element over an alternative one with the same function.
+These constants serve as a rough guidance for defining the rank of a
+#GstPluginFeature. Any value is valid, including values bigger than</doc>
+ <member name="none" value="0" c:identifier="GST_RANK_NONE"/>
+ <member name="marginal" value="64" c:identifier="GST_RANK_MARGINAL"/>
+ <member name="secondary" value="128" c:identifier="GST_RANK_SECONDARY"/>
+ <member name="primary" value="256" c:identifier="GST_RANK_PRIMARY"/>
+ </enumeration>
+ <class name="Registry"
+ c:symbol-prefix="registry"
+ c:type="GstRegistry"
+ parent="Object"
+ glib:type-name="GstRegistry"
+ glib:get-type="gst_registry_get_type"
+ glib:type-struct="RegistryClass">
+ <doc xml:whitespace="preserve">Opaque #GstRegistry structure.</doc>
+ <function name="fork_is_enabled"
+ c:identifier="gst_registry_fork_is_enabled"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">By default GStreamer will perform scanning and rebuilding of the
+registry file using a helper child process.
+Applications might want to disable this behaviour with the
+gst_registry_fork_set_enabled() function, in which case new plugins
+are scanned (and loaded) into the application process.
+rebuilding the registry.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if GStreamer will use the child helper process when</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="fork_set_enabled"
+ c:identifier="gst_registry_fork_set_enabled"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Applications might want to disable/enable spawning of a child helper process
+when rebuilding the registry. See gst_registry_fork_is_enabled() for more
+information.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether rebuilding the registry can use a temporary child helper process.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_default" c:identifier="gst_registry_get_default">
+ <doc xml:whitespace="preserve">Retrieves the default registry. The caller does not own a reference on the
+registry, as it is alive as long as GStreamer is initialized.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The default #GstRegistry.</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </return-value>
+ </function>
+ <method name="add_feature" c:identifier="gst_registry_add_feature">
+ <doc xml:whitespace="preserve">Add the feature to the registry. The feature-added signal will be emitted.
+This function sinks @feature.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the feature to add</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_path" c:identifier="gst_registry_add_path">
+ <doc xml:whitespace="preserve">Add the given path to the registry. The syntax of the
+path is specific to the registry. If the path has already been
+added, do nothing.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path to add to the registry</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_plugin" c:identifier="gst_registry_add_plugin">
+ <doc xml:whitespace="preserve">Add the plugin to the registry. The plugin-added signal will be emitted.
+This function will sink @plugin.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the plugin to add</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="feature_filter"
+ c:identifier="gst_registry_feature_filter"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Runs a filter against all features of the plugins in the registry
+and returns a GList with the results.
+If the first flag is set, only the first match is
+returned (as a list with a single object).
+#GstPluginFeature. Use gst_plugin_feature_list_free() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">the filter to use</doc>
+ <type name="PluginFeatureFilter" c:type="GstPluginFeatureFilter"/>
+ </parameter>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:whitespace="preserve">only return first match</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_feature" c:identifier="gst_registry_find_feature">
+ <doc xml:whitespace="preserve">Find the pluginfeature with the given name and type in the registry.
+or NULL if the plugin was not found. gst_object_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the pluginfeature with the given name and type</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pluginfeature name to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pluginfeature type to find</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_plugin" c:identifier="gst_registry_find_plugin">
+ <doc xml:whitespace="preserve">Find the plugin with the given name in the registry.
+The plugin will be reffed; caller is responsible for unreffing.
+plugin was not found. gst_object_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the plugin with the given name or NULL if the</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the plugin name to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_feature_list"
+ c:identifier="gst_registry_get_feature_list">
+ <doc xml:whitespace="preserve">Retrieves a #GList of #GstPluginFeature of @type.
+#GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_feature_list_by_plugin"
+ c:identifier="gst_registry_get_feature_list_by_plugin">
+ <doc xml:whitespace="preserve">Retrieves a #GList of features of the plugin with name @name.
+#GstPluginFeature. Use gst_plugin_feature_list_free() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a plugin name.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_feature_list_cookie"
+ c:identifier="gst_registry_get_feature_list_cookie"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns the registrys feature list cookie. This changes
+every time a feature is added or removed from the registry.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the feature list cookie.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="get_path_list" c:identifier="gst_registry_get_path_list">
+ <doc xml:whitespace="preserve">Get the list of paths for the given registry.
+strings. g_list_free after use.
+MT safe.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">A #GList of paths as</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_plugin_list"
+ c:identifier="gst_registry_get_plugin_list">
+ <doc xml:whitespace="preserve">Get a copy of all plugins registered in the given registry. The refcount
+of each element in the list in incremented.
+Use gst_plugin_list_free() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of #GstPlugin.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Plugin"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="lookup" c:identifier="gst_registry_lookup">
+ <doc xml:whitespace="preserve">Look up a plugin in the given registry with the given filename.
+If found, plugin is reffed.
+gst_object_unref() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstPlugin if found, or NULL if not.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the file to look up</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup_feature" c:identifier="gst_registry_lookup_feature">
+ <doc xml:whitespace="preserve">Find a #GstPluginFeature with @name in @registry.
+use gst_object_unref() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstPluginFeature with its refcount incremented,</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstPluginFeature name</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="plugin_filter"
+ c:identifier="gst_registry_plugin_filter"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Runs a filter against all plugins in the registry and returns a #GList with
+the results. If the first flag is set, only the first match is
+returned (as a list with a single object).
+Every plugin is reffed; use gst_plugin_list_free() after use, which
+will unref again.
+Use gst_plugin_list_free() after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of #GstPlugin.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Plugin"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">the filter to use</doc>
+ <type name="PluginFilter" c:type="GstPluginFilter"/>
+ </parameter>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:whitespace="preserve">only return first match</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_feature" c:identifier="gst_registry_remove_feature">
+ <doc xml:whitespace="preserve">Remove the feature from the registry.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the feature to remove</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_plugin" c:identifier="gst_registry_remove_plugin">
+ <doc xml:whitespace="preserve">Remove the plugin from the registry.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the plugin to remove</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="scan_path" c:identifier="gst_registry_scan_path">
+ <doc xml:whitespace="preserve">Scan the given path for plugins to add to the registry. The syntax of the
+path is specific to the registry.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if registry changed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the path to scan</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xml_read_cache" c:identifier="gst_registry_xml_read_cache">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="location" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xml_write_cache"
+ c:identifier="gst_registry_xml_write_cache">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="location" transfer-ownership="none">
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="plugins">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="features">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="paths">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="cache_file">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="feature_hash">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gpointer" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="basename_hash">
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="gpointer" c:type="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="priv">
+ <type name="RegistryPrivate" c:type="GstRegistryPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="feature-added">
+ <doc xml:whitespace="preserve">Signals that a feature has been added to the registry (possibly
+replacing a previously-added one by the same name)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the feature that has been added</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="plugin-added">
+ <doc xml:whitespace="preserve">Signals that a plugin has been added to the registry (possibly
+replacing a previously-added one by the same name)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the plugin that has been added</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="RegistryClass"
+ c:type="GstRegistryClass"
+ glib:is-gtype-struct-for="Registry">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="plugin_added">
+ <callback name="plugin_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="registry" transfer-ownership="none">
+ <type name="Registry" c:type="GstRegistry*"/>
+ </parameter>
+ <parameter name="plugin" transfer-ownership="none">
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="feature_added">
+ <callback name="feature_added">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="registry" transfer-ownership="none">
+ <type name="Registry" c:type="GstRegistry*"/>
+ </parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RegistryPrivate" c:type="GstRegistryPrivate" disguised="1">
+ </record>
+ <enumeration name="ResourceError"
+ c:type="GstResourceError"
+ glib:error-quark="gst_resource_error_quark">
+ <doc xml:whitespace="preserve">Resource errors are for any resource used by an element:
+memory, files, network connections, process space, ...
+They're typically used by source and sink elements.</doc>
+ <member name="failed"
+ value="1"
+ c:identifier="GST_RESOURCE_ERROR_FAILED"/>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_RESOURCE_ERROR_TOO_LAZY"/>
+ <member name="not_found"
+ value="3"
+ c:identifier="GST_RESOURCE_ERROR_NOT_FOUND"/>
+ <member name="busy" value="4" c:identifier="GST_RESOURCE_ERROR_BUSY"/>
+ <member name="open_read"
+ value="5"
+ c:identifier="GST_RESOURCE_ERROR_OPEN_READ"/>
+ <member name="open_write"
+ value="6"
+ c:identifier="GST_RESOURCE_ERROR_OPEN_WRITE"/>
+ <member name="open_read_write"
+ value="7"
+ c:identifier="GST_RESOURCE_ERROR_OPEN_READ_WRITE"/>
+ <member name="close" value="8" c:identifier="GST_RESOURCE_ERROR_CLOSE"/>
+ <member name="read" value="9" c:identifier="GST_RESOURCE_ERROR_READ"/>
+ <member name="write" value="10" c:identifier="GST_RESOURCE_ERROR_WRITE"/>
+ <member name="seek" value="11" c:identifier="GST_RESOURCE_ERROR_SEEK"/>
+ <member name="sync" value="12" c:identifier="GST_RESOURCE_ERROR_SYNC"/>
+ <member name="settings"
+ value="13"
+ c:identifier="GST_RESOURCE_ERROR_SETTINGS"/>
+ <member name="no_space_left"
+ value="14"
+ c:identifier="GST_RESOURCE_ERROR_NO_SPACE_LEFT"/>
+ <member name="num_errors"
+ value="15"
+ c:identifier="GST_RESOURCE_ERROR_NUM_ERRORS"/>
+ </enumeration>
+ <constant name="SECOND" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <enumeration name="SearchMode" version="0.10.23" c:type="GstSearchMode">
+ <doc xml:whitespace="preserve">The different search modes.</doc>
+ <member name="exact" value="0" c:identifier="GST_SEARCH_MODE_EXACT"/>
+ <member name="before" value="1" c:identifier="GST_SEARCH_MODE_BEFORE"/>
+ <member name="after" value="2" c:identifier="GST_SEARCH_MODE_AFTER"/>
+ </enumeration>
+ <bitfield name="SeekFlags" c:type="GstSeekFlags">
+ <doc xml:whitespace="preserve">Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags
+can be used together.
+A non flushing seek might take some time to perform as the currently
+playing data in the pipeline will not be cleared.
+An accurate seek might be slower for formats that don't have any indexes
+or timestamp markers in the stream. Specifying this flag might require a
+complete scan of the file in those cases.
+no EOS will be emmited by the element that performed the seek, but a
+#GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element.
+When this message is posted, it is possible to send a new seek event to
+continue playback. With this seek method it is possible to perform seemless
+looping or simple linear editing.
+When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode
+playback, the @GST_SEEK_FLAG_SKIP flag can be used to instruct decoders
+and demuxers to adjust the playback rate by skipping frames. This can improve
+performance and decrease CPU usage because not all frames need to be decoded.</doc>
+ <member name="none" value="0" c:identifier="GST_SEEK_FLAG_NONE"/>
+ <member name="flush" value="1" c:identifier="GST_SEEK_FLAG_FLUSH"/>
+ <member name="accurate" value="2" c:identifier="GST_SEEK_FLAG_ACCURATE"/>
+ <member name="key_unit" value="4" c:identifier="GST_SEEK_FLAG_KEY_UNIT"/>
+ <member name="segment" value="8" c:identifier="GST_SEEK_FLAG_SEGMENT"/>
+ <member name="skip" value="16" c:identifier="GST_SEEK_FLAG_SKIP"/>
+ </bitfield>
+ <enumeration name="SeekType" c:type="GstSeekType">
+ <doc xml:whitespace="preserve">The different types of seek events. When constructing a seek event with
+gst_event_new_seek(), a format, a seek method and optional flags are to
+be provided. The seek event is then inserted into the graph with
+gst_pad_send_event() or gst_element_send_event().</doc>
+ <member name="none" value="0" c:identifier="GST_SEEK_TYPE_NONE"/>
+ <member name="cur" value="1" c:identifier="GST_SEEK_TYPE_CUR"/>
+ <member name="set" value="2" c:identifier="GST_SEEK_TYPE_SET"/>
+ <member name="end" value="3" c:identifier="GST_SEEK_TYPE_END"/>
+ </enumeration>
+ <record name="Segment"
+ c:type="GstSegment"
+ glib:type-name="GstSegment"
+ glib:get-type="gst_segment_get_type"
+ c:symbol-prefix="segment">
+ <doc xml:whitespace="preserve">A helper structure that holds the configured region of
+interest in a media file.</doc>
+ <field name="rate" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="abs_rate" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="format" writable="1">
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="flags" writable="1">
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </field>
+ <field name="start" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="stop" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="time" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="accum" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="last_stop" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="duration" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="applied_rate" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="guint8" fixed-size="0">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <constructor name="new" c:identifier="gst_segment_new">
+ <doc xml:whitespace="preserve">Allocate a new #GstSegment structure and initialize it using
+gst_segment_init().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstSegment, free with gst_segment_free().</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </return-value>
+ </constructor>
+ <method name="clip" c:identifier="gst_segment_clip">
+ <doc xml:whitespace="preserve">Clip the given @start and @stop values to the segment boundaries given
+in @segment. @start and @stop are compared and clipped to @segment
+start and stop values.
+If the function returns FALSE, @start and @stop are known to fall
+outside of @segment and @clip_start and @clip_stop are not updated.
+When the function returns TRUE, @clip_start and @clip_stop will be
+updated. If @clip_start or @clip_stop are different from @start or @stop
+respectively, the region fell partially in the segment.
+Note that when @stop is -1, @clip_stop will be set to the end of the
+segment. Depending on the use case, this may or may not be what you want.
+completely in @segment, FALSE if the values are completely outside
+of the segment.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the given @start and @stop times fall partially or</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start position in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stop position in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="clip_start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the clipped start position in the segment</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="clip_stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the clipped stop position in the segment</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_segment_copy" version="0.10.20">
+ <doc xml:whitespace="preserve">Create a copy of given @segment.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstSegment, free with gst_segment_free().</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_segment_free">
+ <doc xml:whitespace="preserve">Free the allocated segment @segment.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="init" c:identifier="gst_segment_init">
+ <doc xml:whitespace="preserve">The start/last_stop positions are set to 0 and the stop/duration
+fields are set to -1 (unknown). The default rate of 1.0 and no
+flags are set.
+Initialize @segment to its default values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration" c:identifier="gst_segment_set_duration">
+ <doc xml:whitespace="preserve">Set the duration of the segment to @duration. This function is mainly
+used by elements that perform seeking and know the total duration of the
+segment.
+This field should be set to allow seeking requests relative to the
+duration.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the duration of the segment info or -1 if unknown.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_last_stop" c:identifier="gst_segment_set_last_stop">
+ <doc xml:whitespace="preserve">Set the last observed stop position in the segment to @position.
+This field should be set to allow seeking requests relative to the
+current playing position.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_newsegment"
+ c:identifier="gst_segment_set_newsegment"
+ version="0.10.6">
+ <doc xml:whitespace="preserve">Update the segment structure with the field values of a new segment event and
+with a default applied_rate of 1.0.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="update" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flag indicating a new segment is started or updated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rate of the segment.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new start value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new stop value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new stream time</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_newsegment_full"
+ c:identifier="gst_segment_set_newsegment_full">
+ <doc xml:whitespace="preserve">Update the segment structure with the field values of a new segment event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="update" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flag indicating a new segment is started or updated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rate of the segment.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="applied_rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the applied rate of the segment.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new start value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new stop value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new stream time</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_running_time"
+ c:identifier="gst_segment_set_running_time"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Adjust the start/stop and accum values of @segment such that the next valid
+buffer will be one with @running_time.
+returned, @running_time is -1 or not in @segment.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the segment could be updated successfully. If %FALSE is</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the running_time in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seek" c:identifier="gst_segment_set_seek">
+ <doc xml:whitespace="preserve">Update the segment structure with the field values of a seek event (see
+gst_event_new_seek()).
+After calling this method, the segment field last_stop and time will
+contain the requested new position in the segment. The new requested
+position in the segment depends on @rate and @start_type and @stop_type.
+For positive @rate, the new position in the segment is the new @segment
+start field when it was updated with a @start_type different from
+#GST_SEEK_TYPE_NONE. If no update was performed on @segment start position
+(#GST_SEEK_TYPE_NONE), @start is ignored and @segment last_stop is
+unmodified.
+For negative @rate, the new position in the segment is the new @segment
+stop field when it was updated with a @stop_type different from
+#GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the
+duration of the segment will be used to update the stop position.
+If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE),
+The applied rate of the segment will be set to 1.0 by default.
+If the caller can apply a rate change, it should update @segment
+rate and applied_rate after calling this function.
+last_stop field. This field can be FALSE if, for example, only the @rate
+has been changed but not the playback position.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the rate of the segment.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seek flags for the segment</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="start_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seek method</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seek start value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seek method</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the seek stop value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="update" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean holding whether last_stop was updated.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_position"
+ c:identifier="gst_segment_to_position"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Convert @running_time into a position in the segment so that
+gst_segment_to_running_time() with that position returns @running_time.
+-1 when @running_time is -1 or when it is not inside @segment.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position in the segment for @running_time. This function returns</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the running_time in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_running_time"
+ c:identifier="gst_segment_to_running_time">
+ <doc xml:whitespace="preserve">Translate @position to the total running time using the currently configured
+and previously accumulated segments. Position is a value between @segment
+start and stop time.
+This function is typically used by elements that need to synchronize to the
+global clock in a pipeline. The runnning time is a constantly increasing value
+starting from 0. When gst_segment_init() is called, this value will reset to
+0.
+This function returns -1 if the position is outside of @segment start and stop.
+was given.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position as the total running time or -1 when an invalid position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_stream_time" c:identifier="gst_segment_to_stream_time">
+ <doc xml:whitespace="preserve">Translate @position to stream time using the currently configured
+segment. The @position value must be between @segment start and
+stop value.
+This function is typically used by elements that need to operate on
+the stream time of the buffers it receives, such as effect plugins.
+In those use cases, @position is typically the buffer timestamp or
+clock time that one wants to convert to the stream time.
+The stream time is always between 0 and the total duration of the
+media stream.
+was given.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position in stream_time or -1 when an invalid position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the position in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="State" c:type="GstState">
+ <doc xml:whitespace="preserve">The possible states an element can be in. States can be changed using
+gst_element_set_state() and checked using gst_element_get_state().</doc>
+ <member name="void_pending"
+ value="0"
+ c:identifier="GST_STATE_VOID_PENDING"/>
+ <member name="null" value="1" c:identifier="GST_STATE_NULL"/>
+ <member name="ready" value="2" c:identifier="GST_STATE_READY"/>
+ <member name="paused" value="3" c:identifier="GST_STATE_PAUSED"/>
+ <member name="playing" value="4" c:identifier="GST_STATE_PLAYING"/>
+ </enumeration>
+ <bitfield name="StateChange" c:type="GstStateChange">
+ <doc xml:whitespace="preserve">These are the different state changes an element goes through.
+%GST_STATE_NULL &rArr; %GST_STATE_PLAYING is called an upwards state change
+and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change.</doc>
+ <member name="null_to_ready"
+ value="10"
+ c:identifier="GST_STATE_CHANGE_NULL_TO_READY"/>
+ <member name="ready_to_paused"
+ value="19"
+ c:identifier="GST_STATE_CHANGE_READY_TO_PAUSED"/>
+ <member name="paused_to_playing"
+ value="28"
+ c:identifier="GST_STATE_CHANGE_PAUSED_TO_PLAYING"/>
+ <member name="playing_to_paused"
+ value="35"
+ c:identifier="GST_STATE_CHANGE_PLAYING_TO_PAUSED"/>
+ <member name="paused_to_ready"
+ value="26"
+ c:identifier="GST_STATE_CHANGE_PAUSED_TO_READY"/>
+ <member name="ready_to_null"
+ value="17"
+ c:identifier="GST_STATE_CHANGE_READY_TO_NULL"/>
+ </bitfield>
+ <enumeration name="StateChangeReturn" c:type="GstStateChangeReturn">
+ <doc xml:whitespace="preserve">The possible return values from a state change function. Only</doc>
+ <member name="failure"
+ value="0"
+ c:identifier="GST_STATE_CHANGE_FAILURE"/>
+ <member name="success"
+ value="1"
+ c:identifier="GST_STATE_CHANGE_SUCCESS"/>
+ <member name="async" value="2" c:identifier="GST_STATE_CHANGE_ASYNC"/>
+ <member name="no_preroll"
+ value="3"
+ c:identifier="GST_STATE_CHANGE_NO_PREROLL"/>
+ </enumeration>
+ <record name="StaticCaps" c:type="GstStaticCaps">
+ <doc xml:whitespace="preserve">Datastructure to initialize #GstCaps from a string description usually
+used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
+instantiate a #GstCaps.</doc>
+ <field name="caps" writable="1">
+ <type name="Caps" c:type="GstCaps"/>
+ </field>
+ <field name="string" writable="1">
+ <type name="utf8" c:type="char*"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="get" c:identifier="gst_static_caps_get">
+ <doc xml:whitespace="preserve">Converts a #GstStaticCaps to a #GstCaps.
+Since the core holds an additional ref to the returned caps,
+use gst_caps_make_writable() on the returned caps to modify it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to the #GstCaps. Unref after usage.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="StaticPadTemplate" c:type="GstStaticPadTemplate">
+ <field name="name_template" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="direction" writable="1">
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </field>
+ <field name="presence" writable="1">
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </field>
+ <field name="static_caps" writable="1">
+ <type name="StaticCaps" c:type="GstStaticCaps"/>
+ </field>
+ <method name="get" c:identifier="gst_static_pad_template_get">
+ <doc xml:whitespace="preserve">Converts a #GstStaticPadTemplate into a #GstPadTemplate.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPadTemplate.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ </method>
+ <method name="get_caps" c:identifier="gst_static_pad_template_get_caps">
+ <doc xml:whitespace="preserve">Gets the capabilities of the static pad template.
+Unref after usage. Since the core holds an additional
+ref to the returned caps, use gst_caps_make_writable()
+on the returned caps to modify it.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps of the static pad template.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ </record>
+ <enumeration name="StreamError"
+ c:type="GstStreamError"
+ glib:error-quark="gst_stream_error_quark">
+ <doc xml:whitespace="preserve">Stream errors are for anything related to the stream being processed:
+format errors, media type errors, ...
+They're typically used by decoders, demuxers, converters, ...</doc>
+ <member name="failed" value="1" c:identifier="GST_STREAM_ERROR_FAILED"/>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_STREAM_ERROR_TOO_LAZY"/>
+ <member name="not_implemented"
+ value="3"
+ c:identifier="GST_STREAM_ERROR_NOT_IMPLEMENTED"/>
+ <member name="type_not_found"
+ value="4"
+ c:identifier="GST_STREAM_ERROR_TYPE_NOT_FOUND"/>
+ <member name="wrong_type"
+ value="5"
+ c:identifier="GST_STREAM_ERROR_WRONG_TYPE"/>
+ <member name="codec_not_found"
+ value="6"
+ c:identifier="GST_STREAM_ERROR_CODEC_NOT_FOUND"/>
+ <member name="decode" value="7" c:identifier="GST_STREAM_ERROR_DECODE"/>
+ <member name="encode" value="8" c:identifier="GST_STREAM_ERROR_ENCODE"/>
+ <member name="demux" value="9" c:identifier="GST_STREAM_ERROR_DEMUX"/>
+ <member name="mux" value="10" c:identifier="GST_STREAM_ERROR_MUX"/>
+ <member name="format" value="11" c:identifier="GST_STREAM_ERROR_FORMAT"/>
+ <member name="decrypt"
+ value="12"
+ c:identifier="GST_STREAM_ERROR_DECRYPT"/>
+ <member name="decrypt_nokey"
+ value="13"
+ c:identifier="GST_STREAM_ERROR_DECRYPT_NOKEY"/>
+ <member name="num_errors"
+ value="14"
+ c:identifier="GST_STREAM_ERROR_NUM_ERRORS"/>
+ </enumeration>
+ <enumeration name="StreamStatusType"
+ version="0.10.24"
+ c:type="GstStreamStatusType">
+ <doc xml:whitespace="preserve">The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the
+application of new streaming threads and their status.</doc>
+ <member name="create"
+ value="0"
+ c:identifier="GST_STREAM_STATUS_TYPE_CREATE"/>
+ <member name="enter"
+ value="1"
+ c:identifier="GST_STREAM_STATUS_TYPE_ENTER"/>
+ <member name="leave"
+ value="2"
+ c:identifier="GST_STREAM_STATUS_TYPE_LEAVE"/>
+ <member name="destroy"
+ value="3"
+ c:identifier="GST_STREAM_STATUS_TYPE_DESTROY"/>
+ <member name="start"
+ value="8"
+ c:identifier="GST_STREAM_STATUS_TYPE_START"/>
+ <member name="pause"
+ value="9"
+ c:identifier="GST_STREAM_STATUS_TYPE_PAUSE"/>
+ <member name="stop"
+ value="10"
+ c:identifier="GST_STREAM_STATUS_TYPE_STOP"/>
+ </enumeration>
+ <record name="Structure"
+ c:type="GstStructure"
+ glib:type-name="GstStructure"
+ glib:get-type="gst_structure_get_type"
+ c:symbol-prefix="structure">
+ <doc xml:whitespace="preserve">The GstStructure object. Most fields are private.</doc>
+ <field name="type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="name" writable="1">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </field>
+ <field name="parent_refcount" writable="1">
+ <type name="gint" c:type="gint*"/>
+ </field>
+ <field name="fields" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <constructor name="empty_new" c:identifier="gst_structure_empty_new">
+ <doc xml:whitespace="preserve">Creates a new, empty #GstStructure with the given @name.
+See gst_structure_set_name() for constraints on the @name parameter.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new, empty #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new structure</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="id_empty_new"
+ c:identifier="gst_structure_id_empty_new">
+ <doc xml:whitespace="preserve">Creates a new, empty #GstStructure with the given name as a GQuark.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new, empty #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="quark" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new structure</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="id_new"
+ c:identifier="gst_structure_id_new"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstStructure with the given name as a GQuark, followed by
+fieldname quark, GType, argument(s) "triplets" in the same format as
+gst_structure_id_set(). Basically a convenience wrapper around
+gst_structure_id_empty_new() and gst_structure_id_set().
+The last variable argument must be NULL (or 0).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name_quark" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new structure</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="field_quark" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GQuark for the name of the field to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new"
+ c:identifier="gst_structure_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstStructure with the given name. Parses the
+list of variable arguments and sets fields to the values listed.
+Variable arguments should be passed as field name, field type,
+and value. Last variable argument should be NULL.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new structure</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="firstfield" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of first field to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_valist"
+ c:identifier="gst_structure_new_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstStructure with the given @name. Structure fields
+are set according to the varargs in a manner similar to
+gst_structure_new().
+See gst_structure_set_name() for constraints on the @name parameter.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of new structure</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="firstfield" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of first field to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">variable argument list</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_structure_copy">
+ <doc xml:whitespace="preserve">Duplicates a #GstStructure and all its fields and values.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new #GstStructure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="fixate_field_boolean"
+ c:identifier="gst_structure_fixate_field_boolean">
+ <doc xml:whitespace="preserve">Fixates a #GstStructure by changing the given @field_name field to the given</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field in @structure</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the target value of the fixation</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_nearest_double"
+ c:identifier="gst_structure_fixate_field_nearest_double">
+ <doc xml:whitespace="preserve">Fixates a #GstStructure by changing the given field to the nearest
+double to @target that is a subset of the existing field.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field in @structure</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the target value of the fixation</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_nearest_fraction"
+ c:identifier="gst_structure_fixate_field_nearest_fraction">
+ <doc xml:whitespace="preserve">Fixates a #GstStructure by changing the given field to the nearest
+fraction to @target_numerator/@target_denominator that is a subset
+of the existing field.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field in @structure</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="target_numerator" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The numerator of the target value of the fixation</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="target_denominator" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The denominator of the target value of the fixation</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_nearest_int"
+ c:identifier="gst_structure_fixate_field_nearest_int">
+ <doc xml:whitespace="preserve">Fixates a #GstStructure by changing the given field to the nearest
+integer to @target that is a subset of the existing field.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field in @structure</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the target value of the fixation</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_string"
+ c:identifier="gst_structure_fixate_field_string"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Fixates a #GstStructure by changing the given @field_name field to the given</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a field in @structure</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the target value of the fixation</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach"
+ c:identifier="gst_structure_foreach"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Calls the provided function once for each field in the #GstStructure. The
+function must not modify the fields. Also see gst_structure_map_in_place().
+FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the supplied function returns TRUE For each of the fields,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">a function to call for each field</doc>
+ <type name="StructureForeachFunc"
+ c:type="GstStructureForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_structure_free">
+ <doc xml:whitespace="preserve">Frees a #GstStructure and all its fields and values. The structure must not
+have a parent when this function is called.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get"
+ c:identifier="gst_structure_get"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses the variable arguments and reads fields from @structure accordingly.
+Variable arguments should be in the form field name, field type
+(as a GType), pointer(s) to a variable(s) to hold the return value(s).
+The last variable argument should be NULL.
+For refcounted (mini)objects you will acquire your own reference which
+you must release with a suitable _unref() when no longer needed. For
+strings and boxed types you will acquire a copy which you will need to
+release with either g_free() or the suiteable function for the boxed type.
+because the field requested did not exist, or was of a type other
+than the type specified), otherwise TRUE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if there was a problem reading any of the fields (e.g.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the first field to read</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean" c:identifier="gst_structure_get_boolean">
+ <doc xml:whitespace="preserve">Sets the boolean pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+with @fieldname or the existing field did not contain a boolean, this
+function returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a #gboolean to set</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_clock_time"
+ c:identifier="gst_structure_get_clock_time">
+ <doc xml:whitespace="preserve">Sets the clock time pointed to by @value corresponding to the clock time
+of the given field. Caller is responsible for making sure the field exists
+and has the correct type.
+with @fieldname or the existing field did not contain a #GstClockTime, this
+function returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GstClockTime to set</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date" c:identifier="gst_structure_get_date">
+ <doc xml:whitespace="preserve">Sets the date pointed to by @value corresponding to the date of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+On success @value will point to a newly-allocated copy of the date which
+inconsistent with e.g. gst_structure_get_string() which doesn't return a
+copy of the string).
+with @fieldname or the existing field did not contain a data, this function
+returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a #GDate to set</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time" c:identifier="gst_structure_get_date_time">
+ <doc xml:whitespace="preserve">Sets the datetime pointed to by @value corresponding to the datetime of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+On success @value will point to a reference of the datetime which
+should be unreffed with gst_date_time_unref() when no longer needed
+(note: this is inconsistent with e.g. gst_structure_get_string()
+which doesn't return a copy of the string).
+with @fieldname or the existing field did not contain a data, this function
+returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a #GstDateTime to set</doc>
+ <type name="DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double" c:identifier="gst_structure_get_double">
+ <doc xml:whitespace="preserve">Sets the double pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+with @fieldname or the existing field did not contain a double, this
+function returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a gdouble to set</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_enum" c:identifier="gst_structure_get_enum">
+ <doc xml:whitespace="preserve">Sets the int pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists,
+has the correct type and that the enumtype is correct.
+with @fieldname or the existing field did not contain an enum of the given
+type, this function returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="enumtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the enum type of a field</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_field_type"
+ c:identifier="gst_structure_get_field_type">
+ <doc xml:whitespace="preserve">Finds the field with the given name, and returns the type of the
+value it contains. If the field is not found, G_TYPE_INVALID is
+returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue of the field</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_fourcc" c:identifier="gst_structure_get_fourcc">
+ <doc xml:whitespace="preserve">Sets the Fourcc pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+with @fieldname or the existing field did not contain a fourcc, this function
+returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a 32bit unsigned int to set</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_fraction" c:identifier="gst_structure_get_fraction">
+ <doc xml:whitespace="preserve">Sets the integers pointed to by @value_numerator and @value_denominator
+corresponding to the value of the given field. Caller is responsible
+for making sure the field exists and has the correct type.
+with @fieldname or the existing field did not contain a GstFraction, this
+function returns FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the values could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value_numerator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="value_denominator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int" c:identifier="gst_structure_get_int">
+ <doc xml:whitespace="preserve">Sets the int pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+with @fieldname or the existing field did not contain an int, this function
+returns %FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_structure_get_name">
+ <doc xml:whitespace="preserve">Get the name of @structure as a string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the structure.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_name_id" c:identifier="gst_structure_get_name_id">
+ <doc xml:whitespace="preserve">Get the name of @structure as a GQuark.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark representing the name of the structure.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </method>
+ <method name="get_string" c:identifier="gst_structure_get_string">
+ <doc xml:whitespace="preserve">Finds the field corresponding to @fieldname, and returns the string
+contained in the field's value. Caller is responsible for making
+sure the field exists and has the correct type.
+The string should not be modified, and remains valid until the next
+call to a gst_structure_*() function with the given structure.
+or did not contain a string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the string or NULL when the field did not exist</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint"
+ c:identifier="gst_structure_get_uint"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Sets the uint pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+with @fieldname or the existing field did not contain a uint, this function
+returns %FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be set correctly. If there was no field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a uint to set</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_valist"
+ c:identifier="gst_structure_get_valist"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses the variable arguments and reads fields from @structure accordingly.
+valist-variant of gst_structure_get(). Look at the documentation of
+gst_structure_get() for more details.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, or FALSE if there was a problem reading any of the fields</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the first field to read</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gst_structure_get_value">
+ <doc xml:whitespace="preserve">Get the value of the field with name @fieldname.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue corresponding to the field with the given name.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_field" c:identifier="gst_structure_has_field">
+ <doc xml:whitespace="preserve">Check if @structure contains a field named @fieldname.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure contains a field with the given name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_field_typed"
+ c:identifier="gst_structure_has_field_typed">
+ <doc xml:whitespace="preserve">Check if @structure contains a field named @fieldname and with GType @type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure contains a field with the given name and type</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of a field</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of a value</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_name" c:identifier="gst_structure_has_name">
+ <doc xml:whitespace="preserve">Checks if the structure has the given name</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @name matches the name of the structure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">structure name to check for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_get"
+ c:identifier="gst_structure_id_get"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses the variable arguments and reads fields from @structure accordingly.
+Variable arguments should be in the form field id quark, field type
+(as a GType), pointer(s) to a variable(s) to hold the return value(s).
+The last variable argument should be NULL (technically it should be a
+0 quark, but we require NULL so compilers that support it can check for
+the NULL terminator and warn if it's not there).
+This function is just like gst_structure_get() only that it is slightly
+more efficient since it saves the string-to-quark lookup in the global
+quark hashtable.
+For refcounted (mini)objects you will acquire your own reference which
+you must release with a suitable _unref() when no longer needed. For
+strings and boxed types you will acquire a copy which you will need to
+release with either g_free() or the suiteable function for the boxed type.
+because the field requested did not exist, or was of a type other
+than the type specified), otherwise TRUE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if there was a problem reading any of the fields (e.g.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_field_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark of the first field to read</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_get_valist"
+ c:identifier="gst_structure_id_get_valist"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses the variable arguments and reads fields from @structure accordingly.
+valist-variant of gst_structure_id_get(). Look at the documentation of
+gst_structure_id_get() for more details.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, or FALSE if there was a problem reading any of the fields</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="first_field_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark of the first field to read</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_get_value" c:identifier="gst_structure_id_get_value">
+ <doc xml:whitespace="preserve">Get the value of the field with GQuark @field.
+identifier.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue corresponding to the field with the given name</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GQuark of the field to get</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_has_field"
+ c:identifier="gst_structure_id_has_field"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Check if @structure contains a field named @field.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure contains a field with the given name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_has_field_typed"
+ c:identifier="gst_structure_id_has_field_typed"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Check if @structure contains a field named @field and with GType @type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the structure contains a field with the given name and type</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of a value</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_set"
+ c:identifier="gst_structure_id_set"
+ version="0.10.10"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Identical to gst_structure_set, except that field names are
+passed using the GQuark for the field name. This allows more efficient
+setting of the structure if the caller already knows the associated
+quark values.
+The last variable argument must be NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GQuark for the name of the field to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_set_valist"
+ c:identifier="gst_structure_id_set_valist"
+ version="0.10.10"
+ introspectable="0">
+ <doc xml:whitespace="preserve">va_list form of gst_structure_id_set().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_set_value" c:identifier="gst_structure_id_set_value">
+ <doc xml:whitespace="preserve">Sets the field with the given GQuark @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GQuark representing a field</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new value of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_take_value"
+ c:identifier="gst_structure_id_take_value"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Sets the field with the given GQuark @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GQuark representing a field</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new value of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map_in_place"
+ c:identifier="gst_structure_map_in_place"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Calls the provided function once for each field in the #GstStructure. In
+contrast to gst_structure_foreach(), the function may modify but not delete the
+fields. The structure must be mutable.
+FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the supplied function returns TRUE For each of the fields,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">a function to call for each field</doc>
+ <type name="StructureMapFunc" c:type="GstStructureMapFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="n_fields" c:identifier="gst_structure_n_fields">
+ <doc xml:whitespace="preserve">Get the number of fields in the structure.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of fields in the structure</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="nth_field_name"
+ c:identifier="gst_structure_nth_field_name">
+ <doc xml:whitespace="preserve">Get the name of the given field number, counting from 0 onwards.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the given field number</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index to get the name of</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_all_fields"
+ c:identifier="gst_structure_remove_all_fields">
+ <doc xml:whitespace="preserve">Removes all fields in a GstStructure.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="remove_field" c:identifier="gst_structure_remove_field">
+ <doc xml:whitespace="preserve">Removes the field with the given name. If the field with the given
+name does not exist, the structure is unchanged.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_fields"
+ c:identifier="gst_structure_remove_fields"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Removes the fields with the given names. If a field does not exist, the
+argument is ignored.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_fields_valist"
+ c:identifier="gst_structure_remove_fields_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">va_list form of gst_structure_remove_fields().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated list of more fieldnames to remove</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_structure_set" introspectable="0">
+ <doc xml:whitespace="preserve">Parses the variable arguments and sets fields accordingly.
+Variable arguments should be in the form field name, field type
+(as a GType), value(s). The last variable argument should be NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="gst_structure_set_name">
+ <doc xml:whitespace="preserve">Sets the name of the structure to the given @name. The string
+provided is copied before being used. It must not be empty, start with a
+letter and can be followed by letters, numbers and any of "/-_.:".</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new name of the structure</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent_refcount"
+ c:identifier="gst_structure_set_parent_refcount">
+ <doc xml:whitespace="preserve">Sets the parent_refcount field of #GstStructure. This field is used to
+determine whether a structure is mutable or not. This function should only be
+called by code implementing parent objects of #GstStructure, as described in
+the MT Refcounting section of the design documents.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="refcount" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the parent's refcount</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valist"
+ c:identifier="gst_structure_set_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">va_list form of gst_structure_set().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value" c:identifier="gst_structure_set_value">
+ <doc xml:whitespace="preserve">Sets the field with the given name @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new value of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_value"
+ c:identifier="gst_structure_take_value"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Sets the field with the given name @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed. The function will take ownership of @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the field to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new value of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_structure_to_string">
+ <doc xml:whitespace="preserve">Converts @structure to a human-readable string representation.
+For debugging purposes its easier to do something like this:
+|[
+GST_LOG ("structure is %" GST_PTR_FORMAT, structure);
+]|
+This prints the structure in human readble form.
+g_free() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">(transfer full)L a pointer to string allocated by g_malloc().</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ </record>
+ <enumeration name="StructureChangeType"
+ version="0.10.22"
+ c:type="GstStructureChangeType">
+ <doc xml:whitespace="preserve">The type of a %GST_MESSAGE_STRUCTURE_CHANGE.</doc>
+ <member name="link"
+ value="0"
+ c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK"/>
+ <member name="unlink"
+ value="1"
+ c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK"/>
+ </enumeration>
+ <callback name="StructureForeachFunc" c:type="GstStructureForeachFunc">
+ <doc xml:whitespace="preserve">A function that will be called in gst_structure_foreach(). The function may
+not modify @value.
+the foreach operation should stop with FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the foreach operation should continue, FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="StructureMapFunc" c:type="GstStructureMapFunc">
+ <doc xml:whitespace="preserve">A function that will be called in gst_structure_map_in_place(). The function
+may modify @value.
+the map operation should stop with FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the map operation should continue, FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="SystemClock"
+ c:symbol-prefix="system_clock"
+ c:type="GstSystemClock"
+ parent="Clock"
+ glib:type-name="GstSystemClock"
+ glib:get-type="gst_system_clock_get_type"
+ glib:type-struct="SystemClockClass">
+ <doc xml:whitespace="preserve">The default implementation of a #GstClock that uses the system time.</doc>
+ <function name="obtain" c:identifier="gst_system_clock_obtain">
+ <doc xml:whitespace="preserve">Get a handle to the default system clock. The refcount of the
+clock will be increased so you need to unref the clock after
+usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the default clock.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </function>
+ <property name="clock-type"
+ introspectable="0"
+ writable="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <field name="clock">
+ <type name="Clock" c:type="GstClock"/>
+ </field>
+ <field name="thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="stopping">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv">
+ <type name="SystemClockPrivate" c:type="GstSystemClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="SystemClockClass"
+ c:type="GstSystemClockClass"
+ glib:is-gtype-struct-for="SystemClock">
+ <field name="parent_class">
+ <type name="ClockClass" c:type="GstClockClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="SystemClockPrivate"
+ c:type="GstSystemClockPrivate"
+ disguised="1">
+ </record>
+ <constant name="TAG_ALBUM" value="album">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_ARTIST" value="album-artist">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_ARTIST_SORTNAME" value="album-artist-sortname">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_GAIN" value="replaygain-album-gain">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_PEAK" value="replaygain-album-peak">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_SORTNAME" value="album-sortname">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_VOLUME_COUNT" value="album-disc-count">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_VOLUME_NUMBER" value="album-disc-number">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_APPLICATION_DATA" value="application-data">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_APPLICATION_NAME" value="application-name">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ARTIST" value="artist">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ARTIST_SORTNAME" value="musicbrainz-sortname">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ATTACHMENT" value="attachment">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_AUDIO_CODEC" value="audio-codec">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_BEATS_PER_MINUTE" value="beats-per-minute">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_BITRATE" value="bitrate">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CODEC" value="codec">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COMMENT" value="comment">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COMPOSER" value="composer">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COMPOSER_SORTNAME" value="composer-sortname">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CONTACT" value="contact">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CONTAINER_FORMAT" value="container-format">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COPYRIGHT" value="copyright">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COPYRIGHT_URI" value="copyright-uri">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DATE" value="date">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DATE_TIME" value="datetime">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DESCRIPTION" value="description">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DEVICE_MANUFACTURER" value="device-manufacturer">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DEVICE_MODEL" value="device-model">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DURATION" value="duration">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ENCODER" value="encoder">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ENCODER_VERSION" value="encoder-version">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_EXTENDED_COMMENT" value="extended-comment">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GENRE" value="genre">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_CAPTURE_DIRECTION"
+ value="geo-location-capture-direction">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_CITY" value="geo-location-city">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_COUNTRY" value="geo-location-country">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_ELEVATION" value="geo-location-elevation">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_HORIZONTAL_ERROR"
+ value="geo-location-horizontal-error">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_LATITUDE" value="geo-location-latitude">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_LONGITUDE" value="geo-location-longitude">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_MOVEMENT_DIRECTION"
+ value="geo-location-movement-direction">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_MOVEMENT_SPEED"
+ value="geo-location-movement-speed">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_NAME" value="geo-location-name">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_SUBLOCATION"
+ value="geo-location-sublocation">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GROUPING" value="grouping">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_HOMEPAGE" value="homepage">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE" value="image">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE_ORIENTATION" value="image-orientation">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ISRC" value="isrc">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_KEYWORDS" value="keywords">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LANGUAGE_CODE" value="language-code">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LICENSE" value="license">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LICENSE_URI" value="license-uri">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LOCATION" value="location">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LYRICS" value="lyrics">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MAXIMUM_BITRATE" value="maximum-bitrate">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MINIMUM_BITRATE" value="minimum-bitrate">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_NOMINAL_BITRATE" value="nominal-bitrate">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ORGANIZATION" value="organization">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_PERFORMER" value="performer">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_PREVIEW_IMAGE" value="preview-image">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_REFERENCE_LEVEL" value="replaygain-reference-level">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SERIAL" value="serial">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_EPISODE_NUMBER" value="show-episode-number">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_NAME" value="show-name">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_SEASON_NUMBER" value="show-season-number">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_SORTNAME" value="show-sortname">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SUBTITLE_CODEC" value="subtitle-codec">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TITLE" value="title">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TITLE_SORTNAME" value="title-sortname">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_COUNT" value="track-count">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_GAIN" value="replaygain-track-gain">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_NUMBER" value="track-number">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_PEAK" value="replaygain-track-peak">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_USER_RATING" value="user-rating">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_VERSION" value="version">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_VIDEO_CODEC" value="video-codec">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TIME_FORMAT" value="u:%02u:%02u.%09u">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <enumeration name="TagFlag" c:type="GstTagFlag">
+ <doc xml:whitespace="preserve">Extra tag flags used when registering tags.</doc>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_TAG_FLAG_UNDEFINED"/>
+ <member name="meta" value="1" c:identifier="GST_TAG_FLAG_META"/>
+ <member name="encoded" value="2" c:identifier="GST_TAG_FLAG_ENCODED"/>
+ <member name="decoded" value="3" c:identifier="GST_TAG_FLAG_DECODED"/>
+ <member name="count" value="4" c:identifier="GST_TAG_FLAG_COUNT"/>
+ </enumeration>
+ <callback name="TagForeachFunc" c:type="GstTagForeachFunc">
+ <doc xml:whitespace="preserve">A function that will be called in gst_tag_list_foreach(). The function may
+not modify the tag list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstTagList</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a name of a tag in @list</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="TagList"
+ c:type="GstTagList"
+ glib:type-name="GstTagList"
+ glib:get-type="gst_tag_list_get_type"
+ c:symbol-prefix="tag_list">
+ <doc xml:whitespace="preserve">Opaque #GstTagList data structure.</doc>
+ <constructor name="new" c:identifier="gst_tag_list_new">
+ <doc xml:whitespace="preserve">Creates a new empty GstTagList.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">An empty tag list</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_full"
+ c:identifier="gst_tag_list_new_full"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new taglist and appends the values for the given tags. It expects
+tag-value pairs like gst_tag_list_add(), and a NULL terminator after the
+last pair. The type of the values is implicit and is documented in the API
+reference, but can also be queried at runtime with gst_tag_get_type(). It
+is an error to pass a value of a type not matching the tag type into this
+function. The tag list will make copies of any arguments passed
+(e.g. strings, buffers).
+when no longer needed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstTagList. Free with gst_tag_list_free()</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_full_valist"
+ c:identifier="gst_tag_list_new_full_valist"
+ version="0.10.24"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Just like gst_tag_list_new_full(), only that it takes a va_list argument.
+Useful mostly for language bindings.
+when no longer needed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstTagList. Free with gst_tag_list_free()</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag / value pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add" c:identifier="gst_tag_list_add" introspectable="0">
+ <doc xml:whitespace="preserve">Sets the values for the given tags using the specified mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_valist"
+ c:identifier="gst_tag_list_add_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the values for the given tags using the specified mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag / value pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_valist_values"
+ c:identifier="gst_tag_list_add_valist_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the GValues for the given tags using the specified mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag / GValue pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_value"
+ c:identifier="gst_tag_list_add_value"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Sets the GValue for a given tag using the specified mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GValue for this tag</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_values"
+ c:identifier="gst_tag_list_add_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the GValues for the given tags using the specified mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_tag_list_copy">
+ <doc xml:whitespace="preserve">Copies a given #GstTagList.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">copy of the given list</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ </method>
+ <method name="foreach" c:identifier="gst_tag_list_foreach">
+ <doc xml:whitespace="preserve">Calls the given function for each tag inside the tag list. Note that if there
+is no tag, the function won't be called at all.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:whitespace="preserve">function to be called for each tag</doc>
+ <type name="TagForeachFunc" c:type="GstTagForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user specified data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_tag_list_free">
+ <doc xml:whitespace="preserve">Frees the given list and all associated values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_boolean" c:identifier="gst_tag_list_get_boolean">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean_index"
+ c:identifier="gst_tag_list_get_boolean_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer"
+ c:identifier="gst_tag_list_get_buffer"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Copies the first buffer for the given tag in the taglist into the variable
+pointed to by @value. Free the buffer with gst_buffer_unref() when it is
+no longer needed.
+given list or if it was #NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a buffer was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a GstBuffer pointer variable to store the result into</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_index"
+ c:identifier="gst_tag_list_get_buffer_index"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Gets the buffer that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by @value. Free the buffer
+with gst_buffer_unref() when it is no longer needed.
+given list or if it was #NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a buffer was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a GstBuffer pointer variable to store the result into</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_char" c:identifier="gst_tag_list_get_char">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_char_index" c:identifier="gst_tag_list_get_char_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date" c:identifier="gst_tag_list_get_date">
+ <doc xml:whitespace="preserve">Copies the first date for the given tag in the taglist into the variable
+pointed to by @value. Free the date with g_date_free() when it is no longer
+needed.
+given list or if it was #NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a date was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a GDate pointer variable to store the result into</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_index" c:identifier="gst_tag_list_get_date_index">
+ <doc xml:whitespace="preserve">Gets the date that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by @value. Free the date
+with g_date_free() when it is no longer needed.
+given list or if it was #NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time"
+ c:identifier="gst_tag_list_get_date_time"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Copies the first datetime for the given tag in the taglist into the variable
+pointed to by @value. Unref the date with gst_date_time_unref() when
+it is no longer needed.
+thegiven list or if it was #NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a datetime was copied, FALSE if the tag didn't exist in</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a #GstDateTime pointer variable to store the result into</doc>
+ <type name="DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time_index"
+ c:identifier="gst_tag_list_get_date_time_index"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Gets the datetime that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by @value. Unref the datetime
+with gst_date_time_unref() when it is no longer needed.
+given list or if it was #NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double" c:identifier="gst_tag_list_get_double">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double_index"
+ c:identifier="gst_tag_list_get_double_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float" c:identifier="gst_tag_list_get_float">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float_index"
+ c:identifier="gst_tag_list_get_float_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int" c:identifier="gst_tag_list_get_int">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64" c:identifier="gst_tag_list_get_int64">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64_index"
+ c:identifier="gst_tag_list_get_int64_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int_index" c:identifier="gst_tag_list_get_int_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_long" c:identifier="gst_tag_list_get_long">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="glong" c:type="glong*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_long_index" c:identifier="gst_tag_list_get_long_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="glong" c:type="glong*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pointer" c:identifier="gst_tag_list_get_pointer">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pointer_index"
+ c:identifier="gst_tag_list_get_pointer_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_string" c:identifier="gst_tag_list_get_string">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, possibly merging
+multiple values into one if multiple values are associated with the tag.
+Use gst_tag_list_get_string_index (list, tag, 0, value) if you want
+to retrieve the first string associated with this tag unmodified.
+The resulting string in @value will be in UTF-8 encoding and should be
+freed by the caller using g_free when no longer needed. Since 0.10.24 the
+returned string is also guaranteed to be non-NULL and non-empty.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_string_index"
+ c:identifier="gst_tag_list_get_string_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+The resulting string in @value will be in UTF-8 encoding and should be
+freed by the caller using g_free when no longer needed. Since 0.10.24 the
+returned string is also guaranteed to be non-NULL and non-empty.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tag_size" c:identifier="gst_tag_list_get_tag_size">
+ <doc xml:whitespace="preserve">Checks how many value are stored in this tag list for the given tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of tags stored</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the tag to query</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uchar" c:identifier="gst_tag_list_get_uchar">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uchar_index"
+ c:identifier="gst_tag_list_get_uchar_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint" c:identifier="gst_tag_list_get_uint">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64" c:identifier="gst_tag_list_get_uint64">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64_index"
+ c:identifier="gst_tag_list_get_uint64_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint_index" c:identifier="gst_tag_list_get_uint_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_ulong" c:identifier="gst_tag_list_get_ulong">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gulong" c:type="gulong*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_ulong_index"
+ c:identifier="gst_tag_list_get_ulong_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="gulong" c:type="gulong*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_index"
+ c:identifier="gst_tag_list_get_value_index">
+ <doc xml:whitespace="preserve">Gets the value that is at the given index for the given tag in the given
+list.
+tag wasn't available or the tag doesn't have as many entries</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The GValue for the specified entry or NULL if the</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert" c:identifier="gst_tag_list_insert">
+ <doc xml:whitespace="preserve">Inserts the tags of the @from list into the first list using the given mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list to merge from</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_empty"
+ c:identifier="gst_tag_list_is_empty"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Checks if the given taglist is empty.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the taglist is empty, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="merge" c:identifier="gst_tag_list_merge">
+ <doc xml:whitespace="preserve">Merges the two given lists into a new list. If one of the lists is NULL, a
+copy of the other is returned. If both lists are NULL, NULL is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new list</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="list2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">second list to merge</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_string_index"
+ c:identifier="gst_tag_list_peek_string_index">
+ <doc xml:whitespace="preserve">Peeks at the value that is at the given index for the given tag in the given
+list.
+The resulting string in @value will be in UTF-8 encoding and doesn't need
+to be freed by the caller. The returned string is also guaranteed to
+be non-NULL and non-empty.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was set, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_tag" c:identifier="gst_tag_list_remove_tag">
+ <doc xml:whitespace="preserve">Removes the given tag from the taglist.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to remove</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="TagMergeFunc" c:type="GstTagMergeFunc">
+ <doc xml:whitespace="preserve">A function for merging multiple values of a tag used when registering
+tags.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the destination #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="TagMergeMode" c:type="GstTagMergeMode">
+ <doc xml:whitespace="preserve">The different tag merging modes are basically replace, overwrite and append,
+already in the element and (B) the ones that are supplied to the element (
+e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a
+%GST_EVENT_TAG), how are these tags merged?
+In the table below this is shown for the cases that a tag exists in the list
+(A) or does not exists (!A) and combinations thereof.
+<table frame="all" colsep="1" rowsep="1">
+<title>merge mode</title>
+<tgroup cols='5' align='left'>
+<thead>
+<row>
+<entry>merge mode</entry>
+<entry>A + B</entry>
+<entry>A + !B</entry>
+<entry>!A + B</entry>
+<entry>!A + !B</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>REPLACE_ALL</entry>
+<entry>B</entry>
+<entry>-</entry>
+<entry>B</entry>
+<entry>-</entry>
+</row>
+<row>
+<entry>REPLACE</entry>
+<entry>B</entry>
+<entry>A</entry>
+<entry>B</entry>
+<entry>-</entry>
+</row>
+<row>
+<entry>APPEND</entry>
+<entry>A, B</entry>
+<entry>A</entry>
+<entry>B</entry>
+<entry>-</entry>
+</row>
+<row>
+<entry>PREPEND</entry>
+<entry>B, A</entry>
+<entry>A</entry>
+<entry>B</entry>
+<entry>-</entry>
+</row>
+<row>
+<entry>KEEP</entry>
+<entry>A</entry>
+<entry>A</entry>
+<entry>B</entry>
+<entry>-</entry>
+</row>
+<row>
+<entry>KEEP_ALL</entry>
+<entry>A</entry>
+<entry>A</entry>
+<entry>-</entry>
+<entry>-</entry>
+</row>
+</tbody>
+</tgroup>
+</table></doc>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_TAG_MERGE_UNDEFINED"/>
+ <member name="replace_all"
+ value="1"
+ c:identifier="GST_TAG_MERGE_REPLACE_ALL"/>
+ <member name="replace" value="2" c:identifier="GST_TAG_MERGE_REPLACE"/>
+ <member name="append" value="3" c:identifier="GST_TAG_MERGE_APPEND"/>
+ <member name="prepend" value="4" c:identifier="GST_TAG_MERGE_PREPEND"/>
+ <member name="keep" value="5" c:identifier="GST_TAG_MERGE_KEEP"/>
+ <member name="keep_all" value="6" c:identifier="GST_TAG_MERGE_KEEP_ALL"/>
+ <member name="count" value="7" c:identifier="GST_TAG_MERGE_COUNT"/>
+ </enumeration>
+ <interface name="TagSetter"
+ c:symbol-prefix="tag_setter"
+ c:type="GstTagSetter"
+ glib:type-name="GstTagSetter"
+ glib:get-type="gst_tag_setter_get_type">
+ <doc xml:whitespace="preserve">Opaque #GstTagSetter data structure.</doc>
+ <prerequisite name="Element"/>
+ <method name="add_tag_valist"
+ c:identifier="gst_tag_setter_add_tag_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds the given tag / value pairs on the setter using the given merge mode.
+The list must be terminated with NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag / value pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tag_valist_values"
+ c:identifier="gst_tag_setter_add_tag_valist_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds the given tag / GValue pairs on the setter using the given merge mode.
+The list must be terminated with NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag / GValue pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tag_value"
+ c:identifier="gst_tag_setter_add_tag_value"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Adds the given tag / GValue pair on the setter using the given merge mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GValue to set for the tag</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tag_values"
+ c:identifier="gst_tag_setter_add_tag_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds the given tag / GValue pairs on the setter using the given merge mode.
+The list must be terminated with NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tags"
+ c:identifier="gst_tag_setter_add_tags"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds the given tag / value pairs on the setter using the given merge mode.
+The list must be terminated with NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tag_list" c:identifier="gst_tag_setter_get_tag_list">
+ <doc xml:whitespace="preserve">Returns the current list of tags the setter uses. The list should not be
+modified or freed.
+This function is not thread-safe.
+setter or NULL if none is used.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a current snapshot of the taglist used in the</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ </method>
+ <method name="get_tag_merge_mode"
+ c:identifier="gst_tag_setter_get_tag_merge_mode">
+ <doc xml:whitespace="preserve">Queries the mode by which tags inside the setter are overwritten by tags
+from events</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the merge mode used inside the element.</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </return-value>
+ </method>
+ <method name="merge_tags" c:identifier="gst_tag_setter_merge_tags">
+ <doc xml:whitespace="preserve">Merges the given list into the setter's list using the given mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a tag list to merge from</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mode to merge with</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset_tags"
+ c:identifier="gst_tag_setter_reset_tags"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Reset the internal taglist. Elements should call this from within the
+state-change handler.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_tag_merge_mode"
+ c:identifier="gst_tag_setter_set_tag_merge_mode">
+ <doc xml:whitespace="preserve">Sets the given merge mode that is used for adding tags from events to tags
+specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps
+the tags set with this interface and discards tags from events.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The mode with which tags are added</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="TagSetterIFace" c:type="GstTagSetterIFace">
+ <doc xml:whitespace="preserve">#GstTagSetterIFace interface.</doc>
+ <field name="g_iface" writable="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <class name="Task"
+ c:symbol-prefix="task"
+ c:type="GstTask"
+ parent="Object"
+ glib:type-name="GstTask"
+ glib:get-type="gst_task_get_type"
+ glib:type-struct="TaskClass">
+ <doc xml:whitespace="preserve">The #GstTask object.</doc>
+ <function name="cleanup_all" c:identifier="gst_task_cleanup_all">
+ <doc xml:whitespace="preserve">Wait for all tasks to be stopped. This is mainly used internally
+to ensure proper cleanup of internal data structures in test suites.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="create"
+ c:identifier="gst_task_create"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new Task that will repeatedly call the provided @func
+with @data as a parameter. Typically the task will run in
+a new thread.
+The function cannot be changed after the task has been created. You
+must create a new #GstTask to change the function.
+This function will not yet create and start a thread. Use gst_task_start() or
+gst_task_pause() to create and start the GThread.
+Before the task can be used, a #GStaticRecMutex must be configured using the
+gst_task_set_lock() function. This lock will always be acquired while
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A new #GstTask.</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">The #GstTaskFunction to use</doc>
+ <type name="TaskFunction" c:type="GstTaskFunction"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">User data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_pool"
+ c:identifier="gst_task_get_pool"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the #GstTaskPool that this task will use for its streaming
+threads.
+MT safe.
+after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstTaskPool used by @task. gst_object_unref()</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </return-value>
+ </method>
+ <method name="get_state" c:identifier="gst_task_get_state">
+ <doc xml:whitespace="preserve">Get the current state of the task.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstTaskState of the task</doc>
+ <type name="TaskState" c:type="GstTaskState"/>
+ </return-value>
+ </method>
+ <method name="join" c:identifier="gst_task_join">
+ <doc xml:whitespace="preserve">Joins @task. After this call, it is safe to unref the task
+and clean up the lock set with gst_task_set_lock().
+The task will automatically be stopped with this call.
+This function cannot be called from within a task function as this
+would cause a deadlock. The function will detect this and print a
+g_warning.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the task could be joined.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="pause" c:identifier="gst_task_pause">
+ <doc xml:whitespace="preserve">Pauses @task. This method can also be called on a task in the
+stopped state, in which case a thread will be started and will remain
+in the paused state. This function does not wait for the task to complete
+the paused state.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the task could be paused.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="set_lock" c:identifier="gst_task_set_lock">
+ <doc xml:whitespace="preserve">Set the mutex used by the task. The mutex will be acquired before
+calling the #GstTaskFunction.
+This function has to be called before calling gst_task_pause() or
+gst_task_start().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mutex" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GMutex to use</doc>
+ <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pool"
+ c:identifier="gst_task_set_pool"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set @pool as the new GstTaskPool for @task. Any new streaming threads that
+will be created by @task will now use @pool.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_priority"
+ c:identifier="gst_task_set_priority"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Changes the priority of @task to @priority.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new priority for @task</doc>
+ <type name="GLib.ThreadPriority" c:type="GThreadPriority"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_state"
+ c:identifier="gst_task_set_state"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Sets the state of @task to @state.
+The @task must have a lock associated with it using
+gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or
+this function will return %FALSE.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the state could be changed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new task state</doc>
+ <type name="TaskState" c:type="GstTaskState"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_thread_callbacks"
+ c:identifier="gst_task_set_thread_callbacks"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set callbacks which will be executed when a new thread is needed, the thread
+function is entered and left and when the thread is joined.
+By default a thread for @task will be created from a default thread pool.
+Objects can use custom GThreads or can perform additional configuration of
+the threads (such as changing the thread priority) by installing callbacks.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callbacks" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstTaskThreadCallbacks pointer</doc>
+ <type name="TaskThreadCallbacks" c:type="GstTaskThreadCallbacks*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the callbacks</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">called when @user_data is no longer referenced</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_task_start">
+ <doc xml:whitespace="preserve">Starts @task. The @task must have a lock associated with it using
+gst_task_set_lock() or this function will return %FALSE.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the task could be started.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="stop" c:identifier="gst_task_stop">
+ <doc xml:whitespace="preserve">Stops @task. This method merely schedules the task to stop and
+will not wait for the task to have completely stopped. Use
+gst_task_join() to stop and wait for completion.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the task could be stopped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="state">
+ <type name="TaskState" c:type="GstTaskState"/>
+ </field>
+ <field name="cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="lock">
+ <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
+ </field>
+ <field name="func">
+ <type name="TaskFunction" c:type="GstTaskFunction"/>
+ </field>
+ <field name="data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="running">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="thread" writable="1">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <field name="priv">
+ <type name="TaskPrivate" c:type="GstTaskPrivate*"/>
+ </field>
+ </class>
+ <record name="TaskClass"
+ c:type="GstTaskClass"
+ glib:is-gtype-struct-for="Task">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="pool">
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="TaskFunction" c:type="GstTaskFunction">
+ <doc xml:whitespace="preserve">A function that will repeatedly be called in the thread created by
+a #GstTask.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the function</doc>
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="TaskPool"
+ c:symbol-prefix="task_pool"
+ c:type="GstTaskPool"
+ parent="Object"
+ glib:type-name="GstTaskPool"
+ glib:get-type="gst_task_pool_get_type"
+ glib:type-struct="TaskPoolClass">
+ <doc xml:whitespace="preserve">The #GstTaskPool object.</doc>
+ <constructor name="new"
+ c:identifier="gst_task_pool_new"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Create a new default task pool. The default task pool will use a regular
+GThreadPool for threads.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstTaskPool. gst_object_unref() after usage.</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="cleanup" invoker="cleanup" version="0.10.24">
+ <doc xml:whitespace="preserve">Wait for all tasks to be stopped. This is mainly used internally
+to ensure proper cleanup of internal data structures in test suites.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="join" invoker="join" version="0.10.24">
+ <doc xml:whitespace="preserve">Join a task and/or return it to the pool. @id is the id obtained from
+gst_task_pool_push().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare"
+ invoker="prepare"
+ version="0.10.24"
+ throws="1">
+ <doc xml:whitespace="preserve">Prepare the taskpool for accepting gst_task_pool_push() operations.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="push"
+ invoker="push"
+ version="0.10.24"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Start the execution of a new thread from @pool.
+function. This pointer can be NULL, you must check @error to detect
+errors.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a pointer that should be used for the gst_task_pool_join</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the function to call</doc>
+ <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="cleanup"
+ c:identifier="gst_task_pool_cleanup"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Wait for all tasks to be stopped. This is mainly used internally
+to ensure proper cleanup of internal data structures in test suites.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="join" c:identifier="gst_task_pool_join" version="0.10.24">
+ <doc xml:whitespace="preserve">Join a task and/or return it to the pool. @id is the id obtained from
+gst_task_pool_push().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prepare"
+ c:identifier="gst_task_pool_prepare"
+ version="0.10.24"
+ throws="1">
+ <doc xml:whitespace="preserve">Prepare the taskpool for accepting gst_task_pool_push() operations.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="push"
+ c:identifier="gst_task_pool_push"
+ version="0.10.24"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Start the execution of a new thread from @pool.
+function. This pointer can be NULL, you must check @error to detect
+errors.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a pointer that should be used for the gst_task_pool_join</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the function to call</doc>
+ <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="pool">
+ <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TaskPoolClass"
+ c:type="GstTaskPoolClass"
+ glib:is-gtype-struct-for="TaskPool">
+ <doc xml:whitespace="preserve">The #GstTaskPoolClass object.</doc>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="prepare">
+ <callback name="prepare" throws="1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="cleanup">
+ <callback name="cleanup">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="push" introspectable="0">
+ <callback name="push" introspectable="0" throws="1">
+ <return-value>
+ <doc xml:whitespace="preserve">a pointer that should be used for the gst_task_pool_join</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">the function to call</doc>
+ <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="join">
+ <callback name="join">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="TaskPoolFunction"
+ c:type="GstTaskPoolFunction"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Task function, see gst_task_pool_push().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data for the task function</doc>
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="TaskPrivate" c:type="GstTaskPrivate" disguised="1">
+ </record>
+ <enumeration name="TaskState" c:type="GstTaskState">
+ <doc xml:whitespace="preserve">The different states a task can be in</doc>
+ <member name="started" value="0" c:identifier="GST_TASK_STARTED"/>
+ <member name="stopped" value="1" c:identifier="GST_TASK_STOPPED"/>
+ <member name="paused" value="2" c:identifier="GST_TASK_PAUSED"/>
+ </enumeration>
+ <record name="TaskThreadCallbacks"
+ c:type="GstTaskThreadCallbacks"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Custom GstTask thread callback functions that can be installed.</doc>
+ <field name="enter_thread">
+ <callback name="enter_thread">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="task" transfer-ownership="none">
+ <type name="Task" c:type="GstTask*"/>
+ </parameter>
+ <parameter name="thread" transfer-ownership="none">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="leave_thread">
+ <callback name="leave_thread">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="task" transfer-ownership="none">
+ <type name="Task" c:type="GstTask*"/>
+ </parameter>
+ <parameter name="thread" transfer-ownership="none">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="Trace" c:type="GstTrace">
+ <doc xml:whitespace="preserve">Opaque #GstTrace structure.</doc>
+ <field name="filename" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="fd" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="buf" writable="1">
+ <type name="TraceEntry" c:type="GstTraceEntry*"/>
+ </field>
+ <field name="bufsize" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="bufoffset" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <method name="destroy" c:identifier="gst_trace_destroy">
+ <doc xml:whitespace="preserve">Flush an close the previously allocated @trace.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="flush" c:identifier="gst_trace_flush">
+ <doc xml:whitespace="preserve">Flush any pending trace entries in @trace to the trace file.
+flushed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_default" c:identifier="gst_trace_set_default">
+ <doc xml:whitespace="preserve">Set the default #GstTrace to @trace.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="text_flush" c:identifier="gst_trace_text_flush">
+ <doc xml:whitespace="preserve">Flush any pending trace entries in @trace to the trace file,
+formatted as a text line with timestamp and sequence numbers.
+flushed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="TraceEntry" c:type="GstTraceEntry">
+ <field name="timestamp" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="sequence" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="data" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="message" writable="1">
+ <array zero-terminated="0" c:type="gchar" fixed-size="112">
+ <type name="gchar" c:type="gchar"/>
+ </array>
+ </field>
+ </record>
+ <record name="TypeFind" c:type="GstTypeFind">
+ <doc xml:whitespace="preserve">Object that stores typefind callbacks. To use with #GstTypeFindFactory.</doc>
+ <field name="peek">
+ <callback name="peek">
+ <return-value transfer-ownership="none">
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="suggest">
+ <callback name="suggest">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="probability" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="data" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="get_length">
+ <callback name="get_length">
+ <return-value transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="get_length" c:identifier="gst_type_find_get_length">
+ <doc xml:whitespace="preserve">Get the length of the data stream.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the data stream, or 0 if it is not available.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ </method>
+ <method name="peek" c:identifier="gst_type_find_peek">
+ <doc xml:whitespace="preserve">Returns the @size bytes of the stream to identify beginning at offset. If
+offset is a positive number, the offset is relative to the beginning of the
+stream, if offset is a negative number the offset is relative to the end of
+the stream. The returned memory is valid until the typefinding function
+returns and must not be freed.
+if that data is not available.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the requested data, or NULL</doc>
+ <array length="1" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The offset</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">The number of bytes to return</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest" c:identifier="gst_type_find_suggest">
+ <doc xml:whitespace="preserve">If a #GstTypeFindFunction calls this function it suggests the caps with the
+given probability. A #GstTypeFindFunction may supply different suggestions
+in one call.
+It is up to the caller of the #GstTypeFindFunction to interpret these values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="probability" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The probability in percent that the suggestion is right</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The fixed #GstCaps to suggest</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest_simple"
+ c:identifier="gst_type_find_suggest_simple"
+ version="0.10.20"
+ introspectable="0">
+ <doc xml:whitespace="preserve">If a #GstTypeFindFunction calls this function it suggests the caps with the
+given probability. A #GstTypeFindFunction may supply different suggestions
+in one call. It is up to the caller of the #GstTypeFindFunction to interpret
+these values.
+This function is similar to gst_type_find_suggest(), only that instead of
+passing a #GstCaps argument you can create the caps on the fly in the same
+way as you can with gst_caps_new_simple().
+Make sure you terminate the list of arguments with a NULL argument and that
+the values passed have the correct type (in terms of width in bytes when
+passed to the vararg function - this applies particularly to gdouble and
+guint64 arguments).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="probability" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The probability in percent that the suggestion is right</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="media_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media type of the suggested caps</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">first field of the suggested caps, or NULL</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="TypeFindFactory"
+ c:symbol-prefix="type_find_factory"
+ c:type="GstTypeFindFactory"
+ parent="PluginFeature"
+ glib:type-name="GstTypeFindFactory"
+ glib:get-type="gst_type_find_factory_get_type"
+ glib:type-struct="TypeFindFactoryClass">
+ <doc xml:whitespace="preserve">Object that stores information about a typefind function.</doc>
+ <function name="get_list" c:identifier="gst_type_find_factory_get_list">
+ <doc xml:whitespace="preserve">Gets the list of all registered typefind factories. You must free the
+list using gst_plugin_feature_list_free().
+The returned factories are sorted by highest rank first, and then by
+factory name. (behaviour change since 0.10.26)
+registered #GstTypeFindFactory.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the list of all</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TypeFindFactory"/>
+ </type>
+ </return-value>
+ </function>
+ <method name="call_function"
+ c:identifier="gst_type_find_factory_call_function">
+ <doc xml:whitespace="preserve">Calls the #GstTypeFindFunction associated with this factory.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="find" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a properly setup #GstTypeFind entry. The get_data and suggest_type members must be set.</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_type_find_factory_get_caps">
+ <doc xml:whitespace="preserve">Gets the #GstCaps associated with a typefind factory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps associated with this factory</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_extensions"
+ c:identifier="gst_type_find_factory_get_extensions">
+ <doc xml:whitespace="preserve">Gets the extensions associated with a #GstTypeFindFactory. The returned
+array should not be changed. If you need to change stuff in it, you should
+copy it using g_strdupv(). This function may return NULL to indicate
+a 0-length list.
+NULL-terminated array of extensions associated with this factory</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <field name="feature">
+ <type name="PluginFeature" c:type="GstPluginFeature"/>
+ </field>
+ <field name="function" readable="0" private="1">
+ <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
+ </field>
+ <field name="extensions" readable="0" private="1">
+ <type name="utf8" c:type="gchar**"/>
+ </field>
+ <field name="caps" readable="0" private="1">
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="user_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="user_data_notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TypeFindFactoryClass"
+ c:type="GstTypeFindFactoryClass"
+ glib:is-gtype-struct-for="TypeFindFactory">
+ <field name="parent">
+ <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="TypeFindFunction" c:type="GstTypeFindFunction">
+ <doc xml:whitespace="preserve">A function that will be called by typefinding.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="find" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstTypeFind structure</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">optionnal data to pass to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="TypeFindProbability" c:type="GstTypeFindProbability">
+ <doc xml:whitespace="preserve">The probability of the typefind function. Higher values have more certainty
+in doing a reliable typefind.</doc>
+ <member name="minimum" value="1" c:identifier="GST_TYPE_FIND_MINIMUM"/>
+ <member name="possible"
+ value="50"
+ c:identifier="GST_TYPE_FIND_POSSIBLE"/>
+ <member name="likely" value="80" c:identifier="GST_TYPE_FIND_LIKELY"/>
+ <member name="nearly_certain"
+ value="99"
+ c:identifier="GST_TYPE_FIND_NEARLY_CERTAIN"/>
+ <member name="maximum" value="100" c:identifier="GST_TYPE_FIND_MAXIMUM"/>
+ </enumeration>
+ <record name="TypeNameData" c:type="GstTypeNameData">
+ <doc xml:whitespace="preserve">Structure used for filtering based on @name and @type.</doc>
+ <field name="name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ </record>
+ <interface name="URIHandler"
+ c:symbol-prefix="uri_handler"
+ c:type="GstURIHandler"
+ glib:type-name="GstURIHandler"
+ glib:get-type="gst_uri_handler_get_type"
+ glib:type-struct="URIHandlerInterface">
+ <doc xml:whitespace="preserve">Opaque #GstURIHandler structure.</doc>
+ <virtual-method name="get_uri" invoker="get_uri">
+ <doc xml:whitespace="preserve">Gets the currently handled URI.
+Returns NULL if there are no URI currently handled. The
+returned string must not be modified or freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI currently handled by the @handler.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="set_uri" invoker="set_uri">
+ <doc xml:whitespace="preserve">Tries to set the URI of the given handler.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the URI was set successfully, else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">URI to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_protocols"
+ c:identifier="gst_uri_handler_get_protocols">
+ <doc xml:whitespace="preserve">Gets the list of protocols supported by @handler. This list may not be
+modified.
+supported protocols. Returns NULL if the @handler isn't implemented
+properly, or the @handler doesn't support any protocols.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="get_uri" c:identifier="gst_uri_handler_get_uri">
+ <doc xml:whitespace="preserve">Gets the currently handled URI.
+Returns NULL if there are no URI currently handled. The
+returned string must not be modified or freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI currently handled by the @handler.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_uri_type" c:identifier="gst_uri_handler_get_uri_type">
+ <doc xml:whitespace="preserve">Gets the type of the given URI handler
+Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstURIType of the URI handler.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="new_uri" c:identifier="gst_uri_handler_new_uri">
+ <doc xml:whitespace="preserve">Emits the new-uri signal for a given handler, when that handler has a new URI.
+This function should only be called by URI handlers themselves.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new URI or NULL if it was unset</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri" c:identifier="gst_uri_handler_set_uri">
+ <doc xml:whitespace="preserve">Tries to set the URI of the given handler.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the URI was set successfully, else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">URI to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="new-uri">
+ <doc xml:whitespace="preserve">The URI of the given @handler has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new URI, or NULL if the URI was removed</doc>
+ <type name="utf8"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="URIHandlerInterface"
+ c:type="GstURIHandlerInterface"
+ glib:is-gtype-struct-for="URIHandler">
+ <doc xml:whitespace="preserve">Any #GstElement using this interface should implement these methods.</doc>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="new_uri">
+ <callback name="new_uri">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none">
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_type">
+ <callback name="get_type">
+ <return-value transfer-ownership="none">
+ <type name="URIType" c:type="GstURIType"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="get_protocols" introspectable="0">
+ <callback name="get_protocols" introspectable="0">
+ <return-value>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </callback>
+ </field>
+ <field name="get_uri">
+ <callback name="get_uri">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI currently handled by the @handler.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none">
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_uri">
+ <callback name="set_uri">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the URI was set successfully, else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none">
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">URI to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_type_full">
+ <callback name="get_type_full">
+ <return-value transfer-ownership="none">
+ <type name="URIType" c:type="GstURIType"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_protocols_full" introspectable="0">
+ <callback name="get_protocols_full" introspectable="0">
+ <return-value>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="URIType" c:type="GstURIType">
+ <doc xml:whitespace="preserve">The different types of URI direction.</doc>
+ </enumeration>
+ <constant name="USECOND" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VALUE_EQUAL" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VALUE_GREATER_THAN" value="1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VALUE_LESS_THAN" value="-1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VALUE_UNORDERED" value="2">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <callback name="ValueCompareFunc" c:type="GstValueCompareFunc">
+ <doc xml:whitespace="preserve">Used together with gst_value_compare() to compare #GValue items.
+or GST_VALUE_UNORDERED</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">first value for comparison</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">second value for comparison</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc">
+ <doc xml:whitespace="preserve">Used by gst_value_deserialize() to parse a non-binary form into the #GValue.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE for success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ValueIntersectFunc" c:type="GstValueIntersectFunc">
+ <doc xml:whitespace="preserve">Used by gst_value_intersect() to perform intersection for a specific #GValue
+type. If the intersection is non-empty, the result is
+placed in @dest and TRUE is returned. If the intersection is
+empty, @dest is unmodified and FALSE is returned.
+Register a new implementation with gst_value_register_intersect_func().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the values can intersect</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue for the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue operand</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue operand</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ValueSerializeFunc" c:type="GstValueSerializeFunc">
+ <doc xml:whitespace="preserve">Used by gst_value_serialize() to obtain a non-binary form of the #GValue.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the string representation of the value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ValueSubtractFunc" c:type="GstValueSubtractFunc">
+ <doc xml:whitespace="preserve">Used by gst_value_subtract() to perform subtraction for a specific #GValue
+type. Register a new implementation with gst_value_register_subtract_func().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the subtraction is not empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue for the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue operand</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue operand</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ValueTable" c:type="GstValueTable">
+ <doc xml:whitespace="preserve">VTable for the #GValue @type.</doc>
+ <field name="type" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="compare" writable="1">
+ <type name="ValueCompareFunc" c:type="GstValueCompareFunc"/>
+ </field>
+ <field name="serialize" writable="1">
+ <type name="ValueSerializeFunc" c:type="GstValueSerializeFunc"/>
+ </field>
+ <field name="deserialize" writable="1">
+ <type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="void*"/>
+ </array>
+ </field>
+ </record>
+ <callback name="ValueUnionFunc" c:type="GstValueUnionFunc">
+ <doc xml:whitespace="preserve">Used by gst_value_union() to perform unification for a specific #GValue
+type. Register a new implementation with gst_value_register_union_func().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a union was successful</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue for the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue operand</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue operand</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="XML"
+ c:symbol-prefix="xml"
+ c:type="GstXML"
+ parent="Object"
+ glib:type-name="GstXML"
+ glib:get-type="gst_xml_get_type"
+ glib:type-struct="XMLClass">
+ <doc xml:whitespace="preserve">XML parser object</doc>
+ <constructor name="new" c:identifier="gst_xml_new">
+ <doc xml:whitespace="preserve">Create a new GstXML parser object.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to a new GstXML object.</doc>
+ <type name="XML" c:type="GstXML*"/>
+ </return-value>
+ </constructor>
+ <function name="make_element"
+ c:identifier="gst_xml_make_element"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Load the element from the XML description</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the new element</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="cur" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the xml node</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent of this object when it's loaded</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="write" c:identifier="gst_xml_write" introspectable="0">
+ <doc xml:whitespace="preserve">Converts the given element into an XML presentation.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a pointer to an XML document</doc>
+ <type name="libxml2.DocPtr" c:type="xmlDocPtr"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The element to write out</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="write_file" c:identifier="gst_xml_write_file">
+ <doc xml:whitespace="preserve">Converts the given element into XML and writes the formatted XML to an open
+file.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes written on success, -1 otherwise.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The element to write out</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="out" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an open file, like stdout</doc>
+ <type name="gpointer" c:type="FILE*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="object_saved">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="self" transfer-ownership="none">
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_element"
+ c:identifier="gst_xml_get_element"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This function is used to get a pointer to the GstElement corresponding
+to name in the pipeline description. You would use this if you have
+to do anything to the element after loading.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a pointer to a new GstElement, caller owns returned reference.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of element to retrieve</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_topelements"
+ c:identifier="gst_xml_get_topelements"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Retrieve a list of toplevel elements.
+of the list and must not free or modify the list. The caller also does not
+own a reference to any of the elements in the list and should obtain its own
+reference using gst_object_ref() if necessary.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a GList of top-level elements. The caller does not own a copy</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="parse_doc" c:identifier="gst_xml_parse_doc">
+ <doc xml:whitespace="preserve">Fills the GstXML object with the elements from the
+xmlDocPtr.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="doc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to an xml document to parse</doc>
+ <type name="libxml2.DocPtr" c:type="xmlDocPtr"/>
+ </parameter>
+ <parameter name="root" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the root object to build</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_file" c:identifier="gst_xml_parse_file">
+ <doc xml:whitespace="preserve">Fills the GstXML object with the corresponding elements from
+the XML file fname. Optionally it will only build the element from
+the element node root (if it is not NULL). This feature is useful
+if you only want to build a specific element from an XML file
+but not the pipeline it is embedded in.
+Pass "-" as fname to read from stdin. You can also pass a URI
+of any format that libxml supports, including http.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="fname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The filename with the xml description</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="root" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the root object to build</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_memory" c:identifier="gst_xml_parse_memory">
+ <doc xml:whitespace="preserve">Fills the GstXML object with the corresponding elements from
+an in memory XML buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the in memory XML buffer</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="root" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the root objects to build</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="topelements">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="ns">
+ <type name="libxml2.NsPtr" c:type="xmlNsPtr"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="object-loaded">
+ <doc xml:whitespace="preserve">Signals that a new object has been deserialized.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has been loaded</doc>
+ <type name="Object"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the related xml_node pointer to the document tree</doc>
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="XMLClass"
+ c:type="GstXMLClass"
+ glib:is-gtype-struct-for="XML">
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="object_loaded">
+ <callback name="object_loaded">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="xml" transfer-ownership="none">
+ <type name="XML" c:type="GstXML*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="self" transfer-ownership="none">
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="object_saved">
+ <callback name="object_saved">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="xml" transfer-ownership="none">
+ <type name="XML" c:type="GstXML*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="self" transfer-ownership="none">
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function name="alloc_trace_available"
+ c:identifier="gst_alloc_trace_available">
+ <doc xml:whitespace="preserve">Check if alloc tracing was compiled into the core
+tracing enabled.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the core was compiled with alloc</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="alloc_trace_get"
+ c:identifier="gst_alloc_trace_get"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the named alloc trace object.
+no alloc tracer was registered with that name.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a GstAllocTrace with the given name or NULL when</doc>
+ <type name="AllocTrace" c:type="GstAllocTrace*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the alloc trace object</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="alloc_trace_list" c:identifier="gst_alloc_trace_list">
+ <doc xml:whitespace="preserve">Get a list of all registered alloc trace objects.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GList of GstAllocTrace objects.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </function>
+ <function name="alloc_trace_live_all"
+ c:identifier="gst_alloc_trace_live_all">
+ <doc xml:whitespace="preserve">Get the total number of live registered alloc trace objects.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the total number of live registered alloc trace objects.</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ </function>
+ <function name="alloc_trace_print_all"
+ c:identifier="gst_alloc_trace_print_all">
+ <doc xml:whitespace="preserve">Print the status of all registered alloc trace objects.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="alloc_trace_print_live"
+ c:identifier="gst_alloc_trace_print_live">
+ <doc xml:whitespace="preserve">Print the status of all registered alloc trace objects, ignoring those
+without live objects.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="alloc_trace_set_flags_all"
+ c:identifier="gst_alloc_trace_set_flags_all">
+ <doc xml:whitespace="preserve">Enable the specified options on all registered alloc trace
+objects.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the options to enable</doc>
+ <type name="AllocTraceFlags" c:type="GstAllocTraceFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="atomic_int_set"
+ c:identifier="gst_atomic_int_set"
+ deprecated="Use g_atomic_int_set().">
+ <doc xml:whitespace="preserve">Unconditionally sets the atomic integer to @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="atomic_int"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to an atomic integer</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="caps_from_string" c:identifier="gst_caps_from_string">
+ <doc xml:whitespace="preserve">Converts @caps from a string representation.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string to convert to #GstCaps</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="caps_load_thyself" c:identifier="gst_caps_load_thyself">
+ <doc xml:whitespace="preserve">Creates a #GstCaps from its XML serialization.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstCaps structure</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a XML node</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="caps_replace" c:identifier="gst_caps_replace">
+ <doc xml:whitespace="preserve">Replaces *caps with @newcaps. Unrefs the #GstCaps in the location
+pointed to by @caps, if applicable, then modifies @caps to point to
+This function does not take any locks so you might want to lock
+the object owning @caps pointer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="newcaps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps to replace *caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_child_added"
+ c:identifier="gst_child_proxy_child_added">
+ <doc xml:whitespace="preserve">Emits the "child-added" signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the newly added child</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_child_removed"
+ c:identifier="gst_child_proxy_child_removed">
+ <doc xml:whitespace="preserve">Emits the "child-removed" signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the removed child</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_get"
+ c:identifier="gst_child_proxy_get"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets properties of the parent object and its children.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the first property to get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_get_property"
+ c:identifier="gst_child_proxy_get_property">
+ <doc xml:whitespace="preserve">Gets a single property using the GstChildProxy mechanism.
+You are responsible for for freeing it by calling g_value_unset()</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">object to query</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue that should take the result.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_get_valist"
+ c:identifier="gst_child_proxy_get_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets properties of the parent object and its children.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object to query</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the first property to get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the first property, followed optionally by more name/return location pairs, followed by NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_lookup" c:identifier="gst_child_proxy_lookup">
+ <doc xml:whitespace="preserve">Looks up which object and #GParamSpec would be effected by the given @name.
+case the values for @pspec and @target are not modified. Unref @target after
+usage.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @target and @pspec could be found. FALSE otherwise. In that</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">object to lookup the property in</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property to look up</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="target"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to a #GstObject that takes the real object to set property on</doc>
+ <type name="Object" c:type="GstObject**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to take the #GParamSpec describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_set"
+ c:identifier="gst_child_proxy_set"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets properties of the parent object and its children.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the first property to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_set_property"
+ c:identifier="gst_child_proxy_set_property">
+ <doc xml:whitespace="preserve">Sets a single property using the GstChildProxy mechanism.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new #GValue for the property</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="child_proxy_set_valist"
+ c:identifier="gst_child_proxy_set_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets properties of the parent object and its children.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the parent object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the first property to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value for the first property, followed optionally by more name/value pairs, followed by NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="class_signal_connect"
+ c:identifier="gst_class_signal_connect">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="klass" transfer-ownership="none">
+ <type name="ObjectClass" c:type="GstObjectClass*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="func_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="class_signal_emit_by_name"
+ c:identifier="gst_class_signal_emit_by_name">
+ <doc xml:whitespace="preserve">emits the named class signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject that emits the signal</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the signal to emit</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data for the signal</doc>
+ <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="core_error_quark" c:identifier="gst_core_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="debug_add_log_function"
+ c:identifier="gst_debug_add_log_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Adds the logging function to the list of logging functions.
+Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the function to use</doc>
+ <type name="LogFunction" c:type="GstLogFunction"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_construct_term_color"
+ c:identifier="gst_debug_construct_term_color">
+ <doc xml:whitespace="preserve">Constructs a string that can be used for getting the desired color in color
+terminals.
+You need to free the string after use.
+definition</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a string containing the color</doc>
+ <type name="utf8"/>
+ </return-value>
+ <parameters>
+ <parameter name="colorinfo" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the color info</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_construct_win_color"
+ c:identifier="gst_debug_construct_win_color"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Constructs an integer that can be used for getting the desired color in
+windows' terminals (cmd.exe). As there is no mean to underline, we simply
+ignore this attribute.
+This function returns 0 on non-windows machines.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an integer containing the color definition</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="colorinfo" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the color info</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_get_all_categories"
+ c:identifier="gst_debug_get_all_categories">
+ <doc xml:whitespace="preserve">Returns a snapshot of a all categories that are currently in use . This list
+may change anytime.
+The caller has to free the list after use.
+debug categories</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">the list of</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="DebugCategory"/>
+ </type>
+ </return-value>
+ </function>
+ <function name="debug_get_default_threshold"
+ c:identifier="gst_debug_get_default_threshold">
+ <doc xml:whitespace="preserve">Returns the default threshold that is used for new categories.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the default threshold level</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </return-value>
+ </function>
+ <function name="debug_is_active" c:identifier="gst_debug_is_active">
+ <doc xml:whitespace="preserve">Checks if debugging output is activated.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if debugging is activated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="debug_is_colored" c:identifier="gst_debug_is_colored">
+ <doc xml:whitespace="preserve">Checks if the debugging output should be colored.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the debug output should be colored.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="debug_level_get_name"
+ c:identifier="gst_debug_level_get_name">
+ <doc xml:whitespace="preserve">Get the string representation of a debugging level</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the level to get the name for</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log" c:identifier="gst_debug_log" introspectable="0">
+ <doc xml:whitespace="preserve">Logs the given message using the currently registered debugging handlers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:whitespace="preserve">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">level of the message is in</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the function that emitted the message</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the object this message relates to, or NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a printf style format string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log_default" c:identifier="gst_debug_log_default">
+ <doc xml:whitespace="preserve">The default logging handler used by GStreamer. Logging functions get called
+whenever a macro like GST_DEBUG or similar is used. This function outputs the
+message and additional info to stderr (or the log file specified via the
+GST_DEBUG_FILE environment variable).
+You can add other handlers by using gst_debug_add_log_function().
+And you can remove this handler by calling
+gst_debug_remove_log_function(gst_debug_log_default);</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:whitespace="preserve">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">level of the message</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the function that emitted the message</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the object this message relates to, or NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the actual message</doc>
+ <type name="DebugMessage" c:type="GstDebugMessage*"/>
+ </parameter>
+ <parameter name="unused" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an unused variable, reserved for some user_data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log_valist"
+ c:identifier="gst_debug_log_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Logs the given message using the currently registered debugging handlers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:whitespace="preserve">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">level of the message is in</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the function that emitted the message</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the object this message relates to, or NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a printf style format string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">optional arguments for the format</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_print_stack_trace"
+ c:identifier="gst_debug_print_stack_trace">
+ <doc xml:whitespace="preserve">If GST_ENABLE_FUNC_INSTRUMENTATION is defined a stacktrace is available for
+gstreamer code, which can be printed with this function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="debug_remove_log_function"
+ c:identifier="gst_debug_remove_log_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Removes all registered instances of the given logging functions.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">How many instances of the function were removed</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the log function to remove</doc>
+ <type name="LogFunction" c:type="GstLogFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_remove_log_function_by_data"
+ c:identifier="gst_debug_remove_log_function_by_data">
+ <doc xml:whitespace="preserve">Removes all registered instances of log functions with the given user data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">How many instances of the function were removed</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data of the log function to remove</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_active" c:identifier="gst_debug_set_active">
+ <doc xml:whitespace="preserve">If activated, debugging messages are sent to the debugging
+handlers.
+It makes sense to deactivate it for speed issues.
+<note><para>This function is not threadsafe. It makes sense to only call it
+during initialization.</para></note></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether to use debugging output or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_colored" c:identifier="gst_debug_set_colored">
+ <doc xml:whitespace="preserve">Sets or unsets the use of coloured debugging output.
+This function may be called before gst_init().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="colored" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether to use colored output or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_default_threshold"
+ c:identifier="gst_debug_set_default_threshold">
+ <doc xml:whitespace="preserve">Sets the default threshold to the given level and updates all categories to
+use this threshold.
+This function may be called before gst_init().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">level to set</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_threshold_for_name"
+ c:identifier="gst_debug_set_threshold_for_name">
+ <doc xml:whitespace="preserve">Sets all categories which match the given glob style pattern to the given
+level.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the categories to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">level to set them to</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_unset_threshold_for_name"
+ c:identifier="gst_debug_unset_threshold_for_name">
+ <doc xml:whitespace="preserve">Resets all categories with the given name back to the default level.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the categories to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="default_registry_check_feature_version"
+ c:identifier="gst_default_registry_check_feature_version">
+ <doc xml:whitespace="preserve">Checks whether a plugin feature by the given name exists in the
+default registry and whether its version is at least the
+version required.
+the same as the required version or newer, and #FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the feature could be found and the version is</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the feature (e.g. "oggdemux")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="min_major" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum major version number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_minor" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum minor version number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_micro" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum micro version number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="deinit" c:identifier="gst_deinit">
+ <doc xml:whitespace="preserve">Clean up any resources created by GStreamer in gst_init().
+It is normally not needed to call this function in a normal application
+as the resources will automatically be freed when the program terminates.
+This function is therefore mostly used by testsuites and other memory
+profiling tools.
+After this call GStreamer (including this method) should not be used anymore.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="double_range_get_type"
+ c:identifier="gst_double_range_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="error_get_message" c:identifier="gst_error_get_message">
+ <doc xml:whitespace="preserve">Get a string describing the error message in the current locale.
+the error message (in UTF-8 encoding)</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated string describing</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GStreamer error domain this error belongs to.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the error code belonging to the domain.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="filter_run"
+ c:identifier="gst_filter_run"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Iterates over the elements in @list, calling @func with the
+list item data for each item. If @func returns TRUE, @data is
+prepended to the list of results returned. If @first is true,
+the search is halted after the first result is found.
+Since gst_filter_run() knows nothing about the type of @data, no
+reference will be taken (if @data refers to an object) and no copy of
+results.
+when no longer needed (the data contained in the list is a flat copy
+and does need to be unreferenced or freed).</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:whitespace="preserve">the list of results. Free with g_list_free()</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a linked list</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="3">
+ <doc xml:whitespace="preserve">the function to execute for each item</doc>
+ <type name="FilterFunc" c:type="GstFilterFunc"/>
+ </parameter>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:whitespace="preserve">flag to stop execution after a successful item</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="flow_get_name" c:identifier="gst_flow_get_name">
+ <doc xml:whitespace="preserve">Gets a string representing the given flow return.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a static string with the name of the flow return.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn to get the name of.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="flow_to_quark" c:identifier="gst_flow_to_quark">
+ <doc xml:whitespace="preserve">Get the unique quark for the given GstFlowReturn.
+invalid return was specified.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark associated with the flow return or 0 if an</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn to get the quark of.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_get_by_nick" c:identifier="gst_format_get_by_nick">
+ <doc xml:whitespace="preserve">Return the format registered with the given nick.
+if the format was not registered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format with @nick or GST_FORMAT_UNDEFINED</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The nick of the format</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_get_details" c:identifier="gst_format_get_details">
+ <doc xml:whitespace="preserve">Get details about the given format.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstFormatDefinition for @format or NULL on failure.</doc>
+ <type name="FormatDefinition" c:type="GstFormatDefinition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format to get details of</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_get_name" c:identifier="gst_format_get_name">
+ <doc xml:whitespace="preserve">Get a printable name for the given format. Do not modify or free.
+the format is unknown.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a reference to the static name of the format or NULL if</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_iterate_definitions"
+ c:identifier="gst_format_iterate_definitions"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Iterate all the registered formats. The format definition is read
+only.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a GstIterator of #GstFormatDefinition.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </function>
+ <function name="format_register" c:identifier="gst_format_register">
+ <doc xml:whitespace="preserve">Create a new GstFormat based on the nick or return an
+already registered format with that nick.
+with the same nick.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A new GstFormat or an already registered format</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The nick of the new format</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The description of the new format</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_to_quark" c:identifier="gst_format_to_quark">
+ <doc xml:whitespace="preserve">Get the unique quark for the given format.
+is unknown.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark associated with the format or 0 if the format</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="formats_contains" c:identifier="gst_formats_contains">
+ <doc xml:whitespace="preserve">See if the given format is inside the format array.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the format is found inside the array</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="formats" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format array to search</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format to find</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="fourcc_get_type" c:identifier="gst_fourcc_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="fraction_get_type" c:identifier="gst_fraction_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="fraction_range_get_type"
+ c:identifier="gst_fraction_range_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="implements_interface_cast"
+ c:identifier="gst_implements_interface_cast"
+ introspectable="0">
+ <doc xml:whitespace="preserve">cast a given object to an interface type, and check whether this
+interface is supported for this specific instance.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a gpointer to the interface type</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object (any sort) from which to cast to the interface</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the interface type to cast to</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="implements_interface_check"
+ c:identifier="gst_implements_interface_check">
+ <doc xml:whitespace="preserve">check a given object for an interface implementation, and check
+whether this interface is supported for this specific instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether or not the object implements the given interface</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object (any sort) from which to check from for the interface</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the interface type to check for</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="gst_init">
+ <doc xml:whitespace="preserve">Initializes the GStreamer library, setting up internal path lists,
+registering built-in elements, and loading standard plugins.
+Unless the plugin registry is disabled at compile time, the registry will be
+loaded. By default this will also check if the registry cache needs to be
+updated and rescan all plugins if needed. See gst_update_registry() for
+details and section
+<link linkend="gst-running">Running GStreamer Applications</link>
+for how to disable automatic registry updates.
+This function should be called before calling any other GLib functions. If
+this is not an option, your program must initialise the GLib thread system
+using g_thread_init() before any other GLib functions are called.
+<note><para>
+This function will terminate your program if it was unable to initialize
+GStreamer for some reason. If you want your program to fall back,
+use gst_init_check() instead.
+</para></note>
+functions in other glib-style libraries, such as gtk_init(). In
+particular, unknown command line options cause this function to
+abort program execution.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to application's argc</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to application's argv</doc>
+ <array length="0" c:type="char**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_check" c:identifier="gst_init_check" throws="1">
+ <doc xml:whitespace="preserve">Initializes the GStreamer library, setting up internal path lists,
+registering built-in elements, and loading standard plugins.
+This function will return %FALSE if GStreamer could not be initialized
+for some reason. If you want your program to fail fatally,
+use gst_init() instead.
+This function should be called before calling any other GLib functions. If
+this is not an option, your program must initialise the GLib thread system
+using g_thread_init() before any other GLib functions are called.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if GStreamer could be initialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to application's argc</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to application's argv</doc>
+ <array length="0" c:type="char**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_get_option_group"
+ c:identifier="gst_init_get_option_group"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Returns a #GOptionGroup with GStreamer's argument specifications. The
+group is set up to use standard GOption callbacks, so when using this
+group in combination with GOption parsing methods, all argument parsing
+and initialization is automated.
+This function is useful if you want to integrate GStreamer with other
+libraries that use GOption (see g_option_context_add_group() ).
+If you use this function, you should make sure you initialise the GLib
+threading system as one of the very first things in your program
+(see the example at the beginning of this section).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a pointer to GStreamer's option group.</doc>
+ <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
+ </return-value>
+ </function>
+ <function name="int64_range_get_type"
+ c:identifier="gst_int64_range_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="int_range_get_type" c:identifier="gst_int_range_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="is_initialized"
+ c:identifier="gst_is_initialized"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Use this function to check if GStreamer has been initialized with gst_init()
+or gst_init_check().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if initialization has been done, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="is_tag_list" c:identifier="gst_is_tag_list">
+ <doc xml:whitespace="preserve">Checks if the given pointer is a taglist.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the given pointer is a taglist</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="p" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Object that might be a taglist</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="iterator_new"
+ c:identifier="gst_iterator_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new iterator. This function is mainly used for objects
+implementing the next/resync/free function to iterate a data structure.
+For each item retrieved, the @item function is called with the lock
+held. The @free function is called when the iterator is freed.
+MT safe.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the new #GstIterator.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the iterator structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GType of children</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="lock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #GMutex.</doc>
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </parameter>
+ <parameter name="master_cookie" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a guint32 that is changed when the items in the iterator changed.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="next" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to get next item</doc>
+ <type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to call on each item retrieved</doc>
+ <type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
+ </parameter>
+ <parameter name="resync" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to resync the iterator</doc>
+ <type name="IteratorResyncFunction"
+ c:type="GstIteratorResyncFunction"/>
+ </parameter>
+ <parameter name="free" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to free the iterator</doc>
+ <type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="iterator_new_list"
+ c:identifier="gst_iterator_new_list"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new iterator designed for iterating @list.
+The list you iterate is usually part of a data structure @owner and is
+protected with @lock.
+The iterator will use @lock to retrieve the next item of the list and it
+will then call the @item function before releasing @lock again.
+The @item function usualy makes sure that the item remains alive while
+responsible for freeing/unreffing the item after usage as explained in
+gst_iterator_next().
+When a concurrent update to the list is performed, usually by @owner while
+holding @lock, @master_cookie will be updated. The iterator implementation
+will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to
+the user of the iterator in the next call to gst_iterator_next().
+MT safe.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the new #GstIterator for @list.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GType of elements</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="lock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #GMutex protecting the list.</doc>
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </parameter>
+ <parameter name="master_cookie" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a guint32 that is incremented when the list is changed.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to the list</doc>
+ <type name="GLib.List" c:type="GList**">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:whitespace="preserve">object owning the list</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to call for each item</doc>
+ <type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
+ </parameter>
+ <parameter name="free" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to call when the iterator is freed</doc>
+ <type name="IteratorDisposeFunction"
+ c:type="GstIteratorDisposeFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="iterator_new_single"
+ c:identifier="gst_iterator_new_single"
+ version="0.10.25"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This #GstIterator is a convenient iterator for the common
+case where a #GstIterator needs to be returned but only
+a single object has to be considered. This happens often
+for the #GstPadIterIntLinkFunction.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the new #GstIterator for @object.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GType of the passed object</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">object that this iterator should return</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Function that returns a copy of @object or increases its refcount</doc>
+ <type name="CopyFunction" c:type="GstCopyFunction"/>
+ </parameter>
+ <parameter name="free" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Function to be called for freeing @object</doc>
+ <type name="GLib.FreeFunc" c:type="GFreeFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="library_error_quark"
+ c:identifier="gst_library_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="param_spec_mini_object"
+ c:identifier="gst_param_spec_mini_object"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GParamSpec instance that hold #GstMiniObject references.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated #GParamSpec instance</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the canonical name of the property</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the nickname of the property</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a short description of the property</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="object_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMiniObject #GType for the property</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a combination of #GParamFlags</doc>
+ <type name="GObject.ParamFlags" c:type="GParamFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="param_spec_mini_object_get_type"
+ c:identifier="gst_param_spec_mini_object_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="parse_bin_from_description"
+ c:identifier="gst_parse_bin_from_description"
+ version="0.10.3"
+ throws="1">
+ <doc xml:whitespace="preserve">This is a convenience wrapper around gst_parse_launch() to create a
+#GstBin from a gst-launch-style pipeline description. See
+gst_parse_launch() and the gst-launch man page for details about the
+syntax. Ghost pads on the bin for unlinked source or sink pads
+within the bin can automatically be created (but only a maximum of
+one ghost pad for each direction will be created; if you expect
+multiple unlinked source pads or multiple unlinked sink pads
+and want them all ghosted, you will have to create the ghost pads
+yourself).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-created bin, or NULL if an error occurred.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin_description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">command line describing the bin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ghost_unlinked_pads" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to automatically create ghost pads for unlinked source or sink pads within the bin</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_bin_from_description_full"
+ c:identifier="gst_parse_bin_from_description_full"
+ version="0.10.20"
+ throws="1">
+ <doc xml:whitespace="preserve">This is a convenience wrapper around gst_parse_launch() to create a
+#GstBin from a gst-launch-style pipeline description. See
+gst_parse_launch() and the gst-launch man page for details about the
+syntax. Ghost pads on the bin for unlinked source or sink pads
+within the bin can automatically be created (but only a maximum of
+one ghost pad for each direction will be created; if you expect
+multiple unlinked source pads or multiple unlinked sink pads
+and want them all ghosted, you will have to create the ghost pads
+yourself).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-created bin, or NULL if an error occurred.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin_description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">command line describing the bin</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ghost_unlinked_pads" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to automatically create ghost pads for unlinked source or sink pads within the bin</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a parse context allocated with gst_parse_context_new(), or %NULL</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">parsing options, or #GST_PARSE_FLAG_NONE</doc>
+ <type name="ParseFlags" c:type="GstParseFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_context_new"
+ c:identifier="gst_parse_context_new"
+ version="0.10.20"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Allocates a parse context for use with gst_parse_launch_full() or
+gst_parse_launchv_full().
+gst_parse_context_free() when no longer needed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated parse context. Free with</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </return-value>
+ </function>
+ <function name="parse_error_quark" c:identifier="gst_parse_error_quark">
+ <doc xml:whitespace="preserve">Get the error quark used by the parsing subsystem.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the quark of the parse errors.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="parse_launch" c:identifier="gst_parse_launch" throws="1">
+ <doc xml:whitespace="preserve">Create a new pipeline based on command line syntax.
+Please note that you might get a return value that is not %NULL even though
+the @error is set. In this case there was a recoverable parsing error and you
+can try to play the pipeline.
+more than one toplevel element is specified by the @pipeline_description,
+all elements are put into a #GstPipeline, which than is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new element on success, %NULL on failure. If</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pipeline_description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the command line describing the pipeline</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_launch_full"
+ c:identifier="gst_parse_launch_full"
+ version="0.10.20"
+ throws="1">
+ <doc xml:whitespace="preserve">Create a new pipeline based on command line syntax.
+Please note that you might get a return value that is not %NULL even though
+the @error is set. In this case there was a recoverable parsing error and you
+can try to play the pipeline.
+more than one toplevel element is specified by the @pipeline_description,
+all elements are put into a #GstPipeline, which then is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new element on success, %NULL on failure. If</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pipeline_description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the command line describing the pipeline</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a parse context allocated with gst_parse_context_new(), or %NULL</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">parsing options, or #GST_PARSE_FLAG_NONE</doc>
+ <type name="ParseFlags" c:type="GstParseFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_launchv" c:identifier="gst_parse_launchv" throws="1">
+ <doc xml:whitespace="preserve">Create a new element based on command line syntax.
+An error does not mean that the pipeline could not be constructed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new element on success and %NULL on failure.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="argv" transfer-ownership="none">
+ <doc xml:whitespace="preserve">null-terminated array of arguments</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_launchv_full"
+ c:identifier="gst_parse_launchv_full"
+ version="0.10.20"
+ throws="1">
+ <doc xml:whitespace="preserve">Create a new element based on command line syntax.
+An error does not mean that the pipeline could not be constructed.
+or a partially-constructed bin or element will be returned and @error will
+be set (unless you passed #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then
+%NULL will always be returned on failure)</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new element on success; on failure, either %NULL</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="argv" transfer-ownership="none">
+ <doc xml:whitespace="preserve">null-terminated array of arguments</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ <parameter name="context" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">a parse context allocated with gst_parse_context_new(), or %NULL</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">parsing options, or #GST_PARSE_FLAG_NONE</doc>
+ <type name="ParseFlags" c:type="GstParseFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="poll_new"
+ c:identifier="gst_poll_new"
+ version="0.10.18"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new file descriptor set. If @controllable, it
+is possible to restart or flush a call to gst_poll_wait() with
+gst_poll_restart() and gst_poll_set_flushing() respectively.
+Free with gst_poll_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPoll, or %NULL in case of an error.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </return-value>
+ <parameters>
+ <parameter name="controllable" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether it should be possible to control a wait.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="poll_new_timer"
+ c:identifier="gst_poll_new_timer"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new poll object that can be used for scheduling cancellable
+timeouts.
+A timeout is performed with gst_poll_wait(). Multiple timeouts can be
+performed from different threads.
+Free with gst_poll_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstPoll, or %NULL in case of an error.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </return-value>
+ </function>
+ <function name="print_element_args" c:identifier="gst_print_element_args">
+ <doc xml:whitespace="preserve">Print the element argument in a human readable format in the given
+GString.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer to print the args in</doc>
+ <type name="GLib.String" c:type="GString*"/>
+ </parameter>
+ <parameter name="indent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">initial indentation</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element to print the args of</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="print_pad_caps" c:identifier="gst_print_pad_caps">
+ <doc xml:whitespace="preserve">Write the pad capabilities in a human readable format into
+the given GString.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer to print the caps in</doc>
+ <type name="GLib.String" c:type="GString*"/>
+ </parameter>
+ <parameter name="indent" transfer-ownership="none">
+ <doc xml:whitespace="preserve">initial indentation</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to print the caps from</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="resource_error_quark"
+ c:identifier="gst_resource_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="segtrap_is_enabled"
+ c:identifier="gst_segtrap_is_enabled"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Some functions in the GStreamer core might install a custom SIGSEGV handler
+to better catch and report errors to the application. Currently this feature
+is enabled by default when loading plugins.
+Applications might want to disable this behaviour with the
+gst_segtrap_set_enabled() function. This is typically done if the application
+wants to install its own handler without GStreamer interfering.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if GStreamer is allowed to install a custom SIGSEGV handler.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="segtrap_set_enabled"
+ c:identifier="gst_segtrap_set_enabled"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Applications might want to disable/enable the SIGSEGV handling of
+the GStreamer core. See gst_segtrap_is_enabled() for more information.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether a custom SIGSEGV handler should be installed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="static_caps_get_type"
+ c:identifier="gst_static_caps_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="static_pad_template_get_type"
+ c:identifier="gst_static_pad_template_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="stream_error_quark" c:identifier="gst_stream_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="structure_from_string"
+ c:identifier="gst_structure_from_string">
+ <doc xml:whitespace="preserve">Creates a #GstStructure from a string representation.
+If end is not NULL, a pointer to the place inside the given string
+where parsing ended will be returned.
+not be parsed. Free with gst_structure_free() after use.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstStructure or NULL when the string could</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string representation of a #GstStructure.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="end"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to store the end of the string in.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_exists" c:identifier="gst_tag_exists">
+ <doc xml:whitespace="preserve">Checks if the given type is already registered.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the type is already registered</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_description"
+ c:identifier="gst_tag_get_description">
+ <doc xml:whitespace="preserve">Returns the human-readable description of this tag, You must not change or
+free this string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the human-readable description of this tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_flag" c:identifier="gst_tag_get_flag">
+ <doc xml:whitespace="preserve">Gets the flag of @tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the flag of this tag.</doc>
+ <type name="TagFlag" c:type="GstTagFlag"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_nick" c:identifier="gst_tag_get_nick">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_type" c:identifier="gst_tag_get_type">
+ <doc xml:whitespace="preserve">Gets the #GType used for this tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GType of this tag</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_is_fixed" c:identifier="gst_tag_is_fixed">
+ <doc xml:whitespace="preserve">Checks if the given tag is fixed. A fixed tag can only contain one value.
+Unfixed tags can contain lists of values.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if the given tag is fixed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to check</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_copy_value"
+ c:identifier="gst_tag_list_copy_value">
+ <doc xml:whitespace="preserve">Copies the contents for the given tag into the value,
+merging multiple values into one if multiple values are associated
+with the tag.
+You must g_value_unset() the value after use.
+given list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE, if a value was copied, FALSE if the tag didn't exist in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">uninitialized #GValue to copy into</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list to get the tag from</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag to read out</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_merge_strings_with_comma"
+ c:identifier="gst_tag_merge_strings_with_comma">
+ <doc xml:whitespace="preserve">This is a convenience function for the func argument of gst_tag_register().
+It concatenates all given strings using a comma. The tag must be registered
+as a G_TYPE_STRING or this function will fail.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">uninitialized GValue to store result in</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GValue to copy from</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_merge_use_first"
+ c:identifier="gst_tag_merge_use_first">
+ <doc xml:whitespace="preserve">This is a convenience function for the func argument of gst_tag_register().
+It creates a copy of the first value from the list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">uninitialized GValue to store result in</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GValue to copy from</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_register"
+ c:identifier="gst_tag_register"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Registers a new tag type for the use with GStreamer's type system. If a type
+with that name is already registered, that one is used.
+The old registration may have used a different type however. So don't rely
+on your supplied values.
+that there can only be one single value for this tag in a tag list and
+any additional values will silenty be discarded when being added (unless
+#GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or
+#GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new
+value will replace the old one in the list).
+The merge function will be called from gst_tag_list_copy_value() when
+it is required that one or more values for a tag be condensed into
+one single value. This may happen from gst_tag_list_get_string(),
+gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen
+exactly in that case depends on how the tag was registered and if a
+merge function was supplied and if so which one.
+gst_tag_merge_strings_with_comma().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name or identifier string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="flag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a flag describing the type of tag info</doc>
+ <type name="TagFlag" c:type="GstTagFlag"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type this data is in</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:whitespace="preserve">human-readable name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a human-readable description about this tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function for merging multiple values of this tag, or NULL</doc>
+ <type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="trace_new" c:identifier="gst_trace_new" introspectable="0">
+ <doc xml:whitespace="preserve">Create a ringbuffer of @size in the file with @filename to
+store trace results in.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstTrace.</doc>
+ <type name="Trace" c:type="GstTrace*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a filename</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the max size of the file</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="trace_read_tsc" c:identifier="gst_trace_read_tsc">
+ <doc xml:whitespace="preserve">Read a platform independent timer value that can be used in
+benchmarks.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dst" transfer-ownership="none">
+ <doc xml:whitespace="preserve">(out) pointer to hold the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_get_type" c:identifier="gst_type_find_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="type_find_register" c:identifier="gst_type_find_register">
+ <doc xml:whitespace="preserve">Registers a new typefind function to be used for typefinding. After
+registering this function will be available for typefinding.
+This function is typically called during an element's plugin initialization.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstPlugin, or NULL for a static typefind function (note that passing NULL only works in GStreamer 0.10.16 and later)</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name for registering</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The rank (or importance) of this typefind function</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="6"
+ destroy="7">
+ <doc xml:whitespace="preserve">The #GstTypeFindFunction to use</doc>
+ <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
+ </parameter>
+ <parameter name="extensions" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Optional extensions that could belong to this type</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ <parameter name="possible_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Optionally the caps that could be returned when typefinding succeeds</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Optional user data. This user data must be available until the plugin is unloaded.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="data_notify" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">a #GDestroyNotify that will be called on @data when the plugin is unloaded.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_register_static_full"
+ c:identifier="gst_type_register_static_full"
+ version="0.10.14"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Helper function which constructs a #GTypeInfo structure and registers a
+GType, but which generates less linker overhead than a static const
+#GTypeInfo structure. For further details of the parameters, please see
+#GTypeInfo in the GLib documentation.
+Registers type_name as the name of a new static type derived from
+parent_type. The value of flags determines the nature (e.g. abstract or
+not) of the type. It works by filling a GTypeInfo struct and calling
+g_type_register_static().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GType for the newly-registered type.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The GType of the parent type the newly registered type will derive from</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="type_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated string used as the name of the new type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="class_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of the class structure.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="base_init" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Location of the base initialization function (optional).</doc>
+ <type name="GObject.BaseInitFunc" c:type="GBaseInitFunc"/>
+ </parameter>
+ <parameter name="base_finalize" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Location of the base finalization function (optional).</doc>
+ <type name="GObject.BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
+ </parameter>
+ <parameter name="class_init" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Location of the class initialization function for class types Location of the default vtable inititalization function for interface types. (optional)</doc>
+ <type name="GObject.ClassInitFunc" c:type="GClassInitFunc"/>
+ </parameter>
+ <parameter name="class_finalize" transfer-ownership="none" closure="7">
+ <doc xml:whitespace="preserve">Location of the class finalization function for class types. Location of the default vtable finalization function for interface types. (optional)</doc>
+ <type name="GObject.ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
+ </parameter>
+ <parameter name="class_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">User-supplied data passed to the class init/finalize functions.</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="instance_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of the instance (object) structure (required for instantiatable types only).</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_preallocs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Ignored on recent GLib's.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="instance_init" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Location of the instance initialization function (optional, for instantiatable types only).</doc>
+ <type name="GObject.InstanceInitFunc" c:type="GInstanceInitFunc"/>
+ </parameter>
+ <parameter name="value_table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A GTypeValueTable function table for generic handling of GValues of this type (usually only useful for fundamental types).</doc>
+ <type name="GObject.TypeValueTable" c:type="GTypeValueTable*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GTypeFlags for this GType. E.g: G_TYPE_FLAG_ABSTRACT</doc>
+ <type name="GObject.TypeFlags" c:type="GTypeFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="update_registry"
+ c:identifier="gst_update_registry"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Forces GStreamer to re-scan its plugin paths and update the default
+plugin registry.
+Applications will almost never need to call this function, it is only
+useful if the application knows new plugins have been installed (or old
+ones removed) since the start of the application (or, to be precise, the
+first call to gst_init()) and the application wants to make use of any
+newly-installed plugins without restarting the application.
+Applications should assume that the registry update is neither atomic nor
+thread-safe and should therefore not have any dynamic pipelines running
+(including the playbin and decodebin elements) and should also not create
+any elements or access the GStreamer registry while the update is in
+progress.
+Note that this function may block for a significant amount of time.
+imply that there were changes), otherwise %FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the registry has been updated successfully (does not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="uri_construct" c:identifier="gst_uri_construct">
+ <doc xml:whitespace="preserve">Constructs a URI for a given valid protocol and location.
+URI. Returns NULL if the given URI protocol is not valid, or the given
+location is NULL.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string for this</doc>
+ <array c:type="gchar*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Protocol for URI</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Location for URI</doc>
+ <array c:type="gchar*">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_get_location" c:identifier="gst_uri_get_location">
+ <doc xml:whitespace="preserve">Extracts the location out of a given valid URI, ie. the protocol and "://"
+are stripped from the URI, which means that the location returned includes
+the hostname if one is specified. The returned string must be freed using
+g_free().
+URI. Returns NULL if the URI isn't valid. If the URI does not contain
+a location, an empty string is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the location for this</doc>
+ <array c:type="gchar*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A URI string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_get_protocol" c:identifier="gst_uri_get_protocol">
+ <doc xml:whitespace="preserve">Extracts the protocol out of a given valid URI. The returned string must be
+freed using g_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The protocol for this URI.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A URI string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_has_protocol"
+ c:identifier="gst_uri_has_protocol"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Checks if the protocol of a given valid URI matches @protocol.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the protocol matches.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a URI string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a protocol string (e.g. "http")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_is_valid" c:identifier="gst_uri_is_valid">
+ <doc xml:whitespace="preserve">Tests if the given string is a valid URI identifier. URIs start with a valid
+scheme followed by ":" and maybe a string identifying the location.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the string is a valid URI</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A URI string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_protocol_is_supported"
+ c:identifier="gst_uri_protocol_is_supported"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Checks if an element exists that supports the given URI protocol. Note
+that a positive return value does not imply that a subsequent call to
+gst_element_make_from_uri() is guaranteed to work.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether to check for a source or a sink</doc>
+ <type name="URIType" c:type="GstURIType"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Protocol that should be checked for (e.g. "http" or "smb")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_protocol_is_valid"
+ c:identifier="gst_uri_protocol_is_valid">
+ <doc xml:whitespace="preserve">Tests if the given string is a valid protocol identifier. Protocols
+must consist of alphanumeric characters, '+', '-' and '.' and must
+start with a alphabetic character. See RFC 3986 Section 3.1.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the string is a valid protocol identifier, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_array_binary_search"
+ c:identifier="gst_util_array_binary_search"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Searches inside @array for @search_data by using the comparison function
+As @search_data is always passed as second argument to @search_func it's
+not required that @search_data has the same type as the array elements.
+The complexity of this search function is O(log (num_elements)).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The address of the found element or %NULL if nothing was found</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sorted input array</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="num_elements" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of elements in the array</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="element_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">size of every element in bytes</doc>
+ <type name="gulong" c:type="gsize"/>
+ </parameter>
+ <parameter name="search_func" transfer-ownership="none" closure="6">
+ <doc xml:whitespace="preserve">function to compare two elements, @search_data will always be passed as second argument</doc>
+ <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">search mode that should be used</doc>
+ <type name="SearchMode" c:type="GstSearchMode"/>
+ </parameter>
+ <parameter name="search_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">element that should be found</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to pass to @search_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_double_to_fraction"
+ c:identifier="gst_util_double_to_fraction"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Transforms a #gdouble to a fraction and simplifies
+the result.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#gdouble to transform</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="dest_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a #gint to hold the result numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="dest_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a #gint to hold the result denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_dump_mem" c:identifier="gst_util_dump_mem">
+ <doc xml:whitespace="preserve">Dumps the memory block into a hex representation. Useful for debugging.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the memory to dump</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the memory block to dump</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_add"
+ c:identifier="gst_util_fraction_add"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Adds the fractions @a_n/@a_d and @b_n/@b_d and stores
+the result in @res_n and @res_d.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE on overflow, %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="res_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Pointer to #gint to hold the result numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="res_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Pointer to #gint to hold the result denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_compare"
+ c:identifier="gst_util_fraction_compare"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Compares the fractions @a_n/@a_d and @b_n/@b_d and returns
+-1 if a < b, 0 if a = b and 1 if a > b.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">-1 if a < b; 0 if a = b; 1 if a > b.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_multiply"
+ c:identifier="gst_util_fraction_multiply"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores
+the result in @res_n and @res_d.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE on overflow, %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="res_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Pointer to #gint to hold the result numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="res_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Pointer to #gint to hold the result denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_to_double"
+ c:identifier="gst_util_fraction_to_double"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Transforms a #gdouble to a fraction and simplifies the result.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Fraction numerator as #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="src_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Fraction denominator #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a #gdouble for the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_gdouble_to_guint64"
+ c:identifier="gst_util_gdouble_to_guint64">
+ <return-value transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_get_timestamp"
+ c:identifier="gst_util_get_timestamp"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Get a timestamp as GstClockTime to be used for interval meassurements.
+The timestamp should not be interpreted in any other way.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the timestamp</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </function>
+ <function name="util_greatest_common_divisor"
+ c:identifier="gst_util_greatest_common_divisor"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Calculates the greatest common divisor of @a
+and @b.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Greatest common divisor of @a and @b</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none">
+ <doc xml:whitespace="preserve">First value as #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Second value as #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_guint64_to_gdouble"
+ c:identifier="gst_util_guint64_to_gdouble">
+ <return-value transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_seqnum_compare"
+ c:identifier="gst_util_seqnum_compare"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Compare two sequence numbers, handling wraparound.
+The current implementation just returns (gint32)(@s1 - @s2).
+positive number if @s1 is after @s2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A negative number if @s1 is before @s2, 0 if they are equal, or a</doc>
+ <type name="gint32" c:type="gint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="s1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="s2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Another sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_seqnum_next"
+ c:identifier="gst_util_seqnum_next"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Return a constantly incrementing sequence number.
+This function is used internally to GStreamer to be able to determine which
+events and messages are "the same". For example, elements may set the seqnum
+on a segment-done message to be the same as that of the last seek event, to
+indicate that event and the message correspond to the same segment.
+overflow back to 0 at some point. Use gst_util_seqnum_compare() to make sure
+you handle wraparound correctly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A constantly incrementing 32-bit unsigned integer, which might</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </function>
+ <function name="util_set_object_arg"
+ c:identifier="gst_util_set_object_arg">
+ <doc xml:whitespace="preserve">Convertes the string value to the type of the objects argument and
+sets the argument with it.
+Note that this function silently returns if @object has no property named</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object to set the argument of</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the argument to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the string value to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_set_value_from_string"
+ c:identifier="gst_util_set_value_from_string">
+ <doc xml:whitespace="preserve">Converts the string to the type of the value and
+sets the value with it.
+Note that this function is dangerous as it does not return any indication
+if the conversion worked or not.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to set</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value_str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the string to get the value from</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale" c:identifier="gst_util_uint64_scale">
+ <doc xml:whitespace="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision.
+This function can potentially be very slow if val and num are both
+greater than G_MAXUINT32.
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer it is truncated. See also
+gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(),
+gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
+gst_util_uint64_scale_int_ceil().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@val * @num / @denom. In the case of an overflow, this</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number to scale</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_ceil"
+ c:identifier="gst_util_uint64_scale_ceil">
+ <doc xml:whitespace="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision.
+This function can potentially be very slow if val and num are both
+greater than G_MAXUINT32.
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded up. See also
+gst_util_uint64_scale(), gst_util_uint64_scale_round(),
+gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
+gst_util_uint64_scale_int_ceil().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@val * @num / @denom. In the case of an overflow, this</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number to scale</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_int"
+ c:identifier="gst_util_uint64_scale_int">
+ <doc xml:whitespace="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision. @num must be non-negative and
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is truncated. See also
+gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(),
+gst_util_uint64_scale(), gst_util_uint64_scale_round(),
+gst_util_uint64_scale_ceil().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@val * @num / @denom. In the case of an overflow, this</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">guint64 (such as a #GstClockTime) to scale.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_int_ceil"
+ c:identifier="gst_util_uint64_scale_int_ceil">
+ <doc xml:whitespace="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision. @num must be non-negative and
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded up. See also
+gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
+gst_util_uint64_scale(), gst_util_uint64_scale_round(),
+gst_util_uint64_scale_ceil().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@val * @num / @denom. In the case of an overflow, this</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">guint64 (such as a #GstClockTime) to scale.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_int_round"
+ c:identifier="gst_util_uint64_scale_int_round">
+ <doc xml:whitespace="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision. @num must be non-negative and
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded to the nearest integer
+(half-way cases are rounded up). See also gst_util_uint64_scale_int(),
+gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(),
+gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@val * @num / @denom. In the case of an overflow, this</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">guint64 (such as a #GstClockTime) to scale.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_round"
+ c:identifier="gst_util_uint64_scale_round">
+ <doc xml:whitespace="preserve">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision.
+This function can potentially be very slow if val and num are both
+greater than G_MAXUINT32.
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded to the nearest integer
+(half-way cases are rounded up). See also gst_util_uint64_scale(),
+gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(),
+gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@val * @num / @denom. In the case of an overflow, this</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number to scale</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_array_append_value"
+ c:identifier="gst_value_array_append_value">
+ <doc xml:whitespace="preserve">Appends @append_value to the GstValueArray in @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="append_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to append</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_array_get_size"
+ c:identifier="gst_value_array_get_size">
+ <doc xml:whitespace="preserve">Gets the number of values contained in @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_array_get_type"
+ c:identifier="gst_value_array_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="value_array_get_value"
+ c:identifier="gst_value_array_get_value">
+ <doc xml:whitespace="preserve">Gets the value that is a member of the array contained in @value and
+has the index @index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value at the given index</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">index of value to get from the array</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_array_prepend_value"
+ c:identifier="gst_value_array_prepend_value">
+ <doc xml:whitespace="preserve">Prepends @prepend_value to the GstValueArray in @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="prepend_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to prepend</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_compare" c:identifier="gst_value_can_compare">
+ <doc xml:whitespace="preserve">Determines if @value1 and @value2 can be compared.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the values can be compared</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to compare</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another value to compare</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_intersect"
+ c:identifier="gst_value_can_intersect">
+ <doc xml:whitespace="preserve">Determines if intersecting two values will produce a valid result.
+Two values will produce a valid intersection if they have the same
+type, or if there is a method (registered by
+gst_value_register_intersect_func()) to calculate the intersection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the values can intersect</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to intersect</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another value to intersect</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_subtract" c:identifier="gst_value_can_subtract">
+ <doc xml:whitespace="preserve">Checks if it's possible to subtract @subtrahend from @minuend.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if a subtraction is possible</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to subtract from</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to subtract</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_union" c:identifier="gst_value_can_union">
+ <doc xml:whitespace="preserve">Determines if @value1 and @value2 can be non-trivially unioned.
+Any two values can be trivially unioned by adding both of them
+to a GstValueList. However, certain types have the possibility
+to be unioned in a simpler way. For example, an integer range
+and an integer can be unioned if the integer is a subset of the
+integer range. If there is the possibility that two values can
+be unioned, this function returns TRUE.
+be unioned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if there is a function allowing the two values to</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to union</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another value to union</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_compare" c:identifier="gst_value_compare">
+ <doc xml:whitespace="preserve">Compares @value1 and @value2. If @value1 and @value2 cannot be
+compared, the function returns GST_VALUE_UNORDERED. Otherwise,
+if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned.
+If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned.
+If the values are equal, GST_VALUE_EQUAL is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">comparison result</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to compare</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another value to compare</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_deserialize" c:identifier="gst_value_deserialize">
+ <doc xml:whitespace="preserve">Tries to deserialize a string into the type specified by the given GValue.
+If the operation succeeds, TRUE is returned, FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GValue to fill with contents of deserialization</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string to deserialize</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_dup_mini_object"
+ c:identifier="gst_value_dup_mini_object"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue,
+increasing its reference count.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">mini object contents of @value</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid #GValue of %GST_TYPE_MINI_OBJECT derived type</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_fraction_multiply"
+ c:identifier="gst_value_fraction_multiply">
+ <doc xml:whitespace="preserve">Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE in case of an error (like integer overflow), TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="product" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="factor1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="factor2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_fraction_subtract"
+ c:identifier="gst_value_fraction_subtract">
+ <doc xml:whitespace="preserve">Subtracts the @subtrahend from the @minuend and sets @dest to the result.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE in case of an error (like integer overflow), TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_caps" c:identifier="gst_value_get_caps">
+ <doc xml:whitespace="preserve">Gets the contents of @value. The reference count of the returned
+#GstCaps will not be modified, therefore the caller must take one
+before getting rid of the @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the contents of @value</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_CAPS</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_date" c:identifier="gst_value_get_date">
+ <doc xml:whitespace="preserve">Gets the contents of @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the contents of @value</doc>
+ <type name="GLib.Date" c:type="GDate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_DATE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_double_range_max"
+ c:identifier="gst_value_get_double_range_max">
+ <doc xml:whitespace="preserve">Gets the maximum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maxumum of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_double_range_min"
+ c:identifier="gst_value_get_double_range_min">
+ <doc xml:whitespace="preserve">Gets the minimum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fourcc" c:identifier="gst_value_get_fourcc">
+ <doc xml:whitespace="preserve">Gets the #guint32 fourcc contained in @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #guint32 fourcc contained in @value.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FOURCC</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_denominator"
+ c:identifier="gst_value_get_fraction_denominator">
+ <doc xml:whitespace="preserve">Gets the denominator of the fraction specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator of the fraction.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_numerator"
+ c:identifier="gst_value_get_fraction_numerator">
+ <doc xml:whitespace="preserve">Gets the numerator of the fraction specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator of the fraction.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_range_max"
+ c:identifier="gst_value_get_fraction_range_max">
+ <doc xml:whitespace="preserve">Gets the maximum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum of the range</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_range_min"
+ c:identifier="gst_value_get_fraction_range_min">
+ <doc xml:whitespace="preserve">Gets the minimum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum of the range</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int64_range_max"
+ c:identifier="gst_value_get_int64_range_max"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Gets the maximum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maxumum of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int64_range_min"
+ c:identifier="gst_value_get_int64_range_min"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Gets the minimum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int_range_max"
+ c:identifier="gst_value_get_int_range_max">
+ <doc xml:whitespace="preserve">Gets the maximum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maxumum of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int_range_min"
+ c:identifier="gst_value_get_int_range_min">
+ <doc xml:whitespace="preserve">Gets the minimum of the range specified by @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the minimum of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_mini_object"
+ c:identifier="gst_value_get_mini_object">
+ <doc xml:whitespace="preserve">Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue.
+Does not increase the refcount of the returned object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">mini object contents of @value</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid #GValue of %GST_TYPE_MINI_OBJECT derived type</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_structure"
+ c:identifier="gst_value_get_structure"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Gets the contents of @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the contents of @value</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_STRUCTURE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_init_and_copy"
+ c:identifier="gst_value_init_and_copy">
+ <doc xml:whitespace="preserve">Initialises the target value to be of the same type as source and then copies
+the contents from source to target.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">the target value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_intersect" c:identifier="gst_value_intersect">
+ <doc xml:whitespace="preserve">Calculates the intersection of two values. If the values have
+a non-empty intersection, the value representing the intersection
+is placed in @dest. If the intersection is non-empty, @dest is
+not modified.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the intersection is non-empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a uninitialized #GValue that will hold the calculated intersection value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to intersect</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another value to intersect</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_is_fixed" c:identifier="gst_value_is_fixed">
+ <doc xml:whitespace="preserve">Tests if the given GValue, if available in a GstStructure (or any other
+(which means: multiple possible values, such as data lists or data
+ranges) value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">true if the value is "fixed".</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GValue to check</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_list_append_value"
+ c:identifier="gst_value_list_append_value">
+ <doc xml:whitespace="preserve">Appends @append_value to the GstValueList in @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="append_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to append</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_list_concat" c:identifier="gst_value_list_concat">
+ <doc xml:whitespace="preserve">Concatenates copies of @value1 and @value2 into a list. Values that are not
+of type #GST_TYPE_LIST are treated as if they were lists of length 1.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">an uninitialized #GValue to take the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_list_get_size"
+ c:identifier="gst_value_list_get_size">
+ <doc xml:whitespace="preserve">Gets the number of values contained in @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_list_get_type"
+ c:identifier="gst_value_list_get_type">
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="value_list_get_value"
+ c:identifier="gst_value_list_get_value">
+ <doc xml:whitespace="preserve">Gets the value that is a member of the list contained in @value and
+has the index @index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value at the given index</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:whitespace="preserve">index of value to get from the list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_list_merge"
+ c:identifier="gst_value_list_merge"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Merges copies of @value1 and @value2. Values that are not
+of type #GST_TYPE_LIST are treated as if they were lists of length 1.
+The result will be put into @dest and will either be a list that will not
+contain any duplicates, or a non-list type (if @value1 and @value2
+were equal).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">an uninitialized #GValue to take the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_list_prepend_value"
+ c:identifier="gst_value_list_prepend_value">
+ <doc xml:whitespace="preserve">Prepends @prepend_value to the GstValueList in @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="prepend_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to prepend</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_register" c:identifier="gst_value_register">
+ <doc xml:whitespace="preserve">Registers functions to perform calculations on #GValue items of a given
+type. Each type can only be added once.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:whitespace="preserve">structure containing functions to register</doc>
+ <type name="ValueTable" c:type="GstValueTable*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_register_intersect_func"
+ c:identifier="gst_value_register_intersect_func"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Registers a function that is called to calculate the intersection
+of the values having the types @type1 and @type2.
+Intersect functions should be registered at startup before any pipelines are
+started, as gst_value_register_intersect_func() is not thread-safe and
+cannot be used at the same time as gst_value_intersect() or
+gst_value_can_intersect().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first type to intersect</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="type2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the second type to intersect</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the intersection function</doc>
+ <type name="ValueIntersectFunc" c:type="GstValueIntersectFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_register_subtract_func"
+ c:identifier="gst_value_register_subtract_func"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Registers @func as a function capable of subtracting the values of
+Subtract functions should be registered at startup before any pipelines are
+started, as gst_value_register_subtract_func() is not thread-safe and
+cannot be used at the same time as gst_value_subtract().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="minuend_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of the minuend</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="subtrahend_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of the subtrahend</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to use</doc>
+ <type name="ValueSubtractFunc" c:type="GstValueSubtractFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_register_union_func"
+ c:identifier="gst_value_register_union_func"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Registers a union function that can create a union between #GValue items
+of the type @type1 and @type2.
+Union functions should be registered at startup before any pipelines are
+started, as gst_value_register_union_func() is not thread-safe and cannot
+be used at the same time as gst_value_union() or gst_value_can_union().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a type to union</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="type2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another type to union</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a function that implments creating a union between the two types</doc>
+ <type name="ValueUnionFunc" c:type="GstValueUnionFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_serialize" c:identifier="gst_value_serialize">
+ <doc xml:whitespace="preserve">tries to transform the given @value into a string representation that allows
+getting back this string later on using gst_value_deserialize().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the serialization for @value or NULL if none exists</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GValue to serialize</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_caps" c:identifier="gst_value_set_caps">
+ <doc xml:whitespace="preserve">Sets the contents of @value to @caps. A reference to the
+provided @caps will be taken by the @value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_CAPS</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the caps to set the value to</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_date" c:identifier="gst_value_set_date">
+ <doc xml:whitespace="preserve">Sets the contents of @value to coorespond to @date. The actual
+#GDate structure is copied before it is used.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_DATE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="date" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the date to set the value to</doc>
+ <type name="GLib.Date" c:type="GDate*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_double_range"
+ c:identifier="gst_value_set_double_range">
+ <doc xml:whitespace="preserve">Sets @value to the range specified by @start and @end.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the end of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fourcc" c:identifier="gst_value_set_fourcc">
+ <doc xml:whitespace="preserve">Sets @value to @fourcc.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FOURCC</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="fourcc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #guint32 fourcc to set</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fraction" c:identifier="gst_value_set_fraction">
+ <doc xml:whitespace="preserve">Sets @value to the fraction specified by @numerator over @denominator.
+The fraction gets reduced to the smallest numerator and denominator,
+and if necessary the sign is moved to the numerator.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="numerator" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator of the fraction</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denominator" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator of the fraction</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fraction_range"
+ c:identifier="gst_value_set_fraction_range">
+ <doc xml:whitespace="preserve">Sets @value to the range specified by @start and @end.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start of the range (a GST_TYPE_FRACTION GValue)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the end of the range (a GST_TYPE_FRACTION GValue)</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fraction_range_full"
+ c:identifier="gst_value_set_fraction_range_full">
+ <doc xml:whitespace="preserve">Sets @value to the range specified by @numerator_start/@denominator_start
+and @numerator_end/@denominator_end.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="numerator_start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denominator_start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="numerator_end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the numerator end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denominator_end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the denominator end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_int64_range"
+ c:identifier="gst_value_set_int64_range"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Sets @value to the range specified by @start and @end.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the end of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_int_range"
+ c:identifier="gst_value_set_int_range">
+ <doc xml:whitespace="preserve">Sets @value to the range specified by @start and @end.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_mini_object"
+ c:identifier="gst_value_set_mini_object">
+ <doc xml:whitespace="preserve">Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to
+The caller retains ownership of the reference.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid #GValue of %GST_TYPE_MINI_OBJECT derived type</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="mini_object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">mini object value to set</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_structure"
+ c:identifier="gst_value_set_structure"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Sets the contents of @value to @structure. The actual</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GValue initialized to GST_TYPE_STRUCTURE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the structure to set the value to</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_subtract" c:identifier="gst_value_subtract">
+ <doc xml:whitespace="preserve">Subtracts @subtrahend from @minuend and stores the result in @dest.
+Note that this means subtraction as in sets, not as in mathematics.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the subtraction is not empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">the destination value for the result if the subtraction is not empty</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to subtract from</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value to subtract</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_take_mini_object"
+ c:identifier="gst_value_take_mini_object">
+ <doc xml:whitespace="preserve">Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to
+Takes over the ownership of the caller's reference to @mini_object;
+the caller doesn't have to unref it any more.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid #GValue of %GST_TYPE_MINI_OBJECT derived type</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="mini_object" transfer-ownership="full">
+ <doc xml:whitespace="preserve">mini object value to take</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_union" c:identifier="gst_value_union">
+ <doc xml:whitespace="preserve">Creates a GValue corresponding to the union of @value1 and @value2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">always returns %TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">the destination value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value to union</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">another value to union</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="version" c:identifier="gst_version">
+ <doc xml:whitespace="preserve">Gets the version number of the GStreamer library.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="major"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the major version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the minor version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="micro"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the micro version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="nano"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the nano version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="version_string" c:identifier="gst_version_string">
+ <doc xml:whitespace="preserve">This function returns a string that is useful for describing this version
+of GStreamer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated string describing this version</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+Anton Gorenko
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-base-0.10"/>
+ <c:include name="gst/base/gstadapter.h"/>
+ <c:include name="gst/base/gstbasesink.h"/>
+ <c:include name="gst/base/gstbasesrc.h"/>
+ <c:include name="gst/base/gstbasetransform.h"/>
+ <c:include name="gst/base/gstbitreader.h"/>
+ <c:include name="gst/base/gstbytereader.h"/>
+ <c:include name="gst/base/gstbytewriter.h"/>
+ <c:include name="gst/base/gstcollectpads.h"/>
+ <c:include name="gst/base/gstdataqueue.h"/>
+ <c:include name="gst/base/gstpushsrc.h"/>
+ <c:include name="gst/base/gsttypefindhelper.h"/>
+ <namespace name="GstBase"
+ version="0.10"
+ shared-library="libgstreamer-0.10.so.0,libgstbase-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <class name="Adapter"
+ c:symbol-prefix="adapter"
+ c:type="GstAdapter"
+ parent="GObject.Object"
+ glib:type-name="GstAdapter"
+ glib:get-type="gst_adapter_get_type"
+ glib:type-struct="AdapterClass">
+ <doc xml:whitespace="preserve">The opaque #GstAdapter data structure.</doc>
+ <constructor name="new" c:identifier="gst_adapter_new">
+ <doc xml:whitespace="preserve">Creates a new #GstAdapter. Free with g_object_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </return-value>
+ </constructor>
+ <method name="available" c:identifier="gst_adapter_available">
+ <doc xml:whitespace="preserve">Gets the maximum amount of bytes available, that is it returns the maximum
+value that can be supplied to gst_adapter_peek() without that function
+returning NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes available in @adapter</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="available_fast" c:identifier="gst_adapter_available_fast">
+ <doc xml:whitespace="preserve">Gets the maximum number of bytes that are immediately available without
+requiring any expensive operations (like copying the data into a
+temporary buffer).
+operations</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes that are available in @adapter without expensive</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="clear" c:identifier="gst_adapter_clear">
+ <doc xml:whitespace="preserve">Removes all buffers from @adapter.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="copy" c:identifier="gst_adapter_copy" version="0.10.12">
+ <doc xml:whitespace="preserve">Copies @size bytes of data starting at @offset out of the buffers
+contained in @GstAdapter into an array @dest provided by the caller.
+The array @dest should be large enough to contain @size bytes.
+The user should check that the adapter has (@offset + @size) bytes
+available before calling this function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">the memory to copy into</doc>
+ <array length="2" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bytes offset in the adapter to start from</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the number of bytes to copy</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush" c:identifier="gst_adapter_flush">
+ <doc xml:whitespace="preserve">Flushes the first @flush bytes in the @adapter. The caller must ensure that
+at least this many bytes are available.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to flush</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32"
+ c:identifier="gst_adapter_masked_scan_uint32"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Scan for pattern @pattern with applied mask @mask in the adapter data,
+starting from offset @offset.
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+adapter for it to match, even if the first or last bytes are masked out.
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the adapter.
+This function calls gst_adapter_masked_scan_uint32_peek() passing NULL
+for value.
+Example:
+<programlisting>
+// Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff
+gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256);
+// -> returns 0
+gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255);
+// -> returns -1
+gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255);
+// -> returns 1
+gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256);
+// -> returns -1
+gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256);
+// -> returns 0
+gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256);
+// -> returns 2
+gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);
+// -> returns -1
+</programlisting></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset of the first match, or -1 if no match was found.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:whitespace="preserve">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset into the adapter data from which to start scanning, returns the last scanned position.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes to scan from offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32_peek"
+ c:identifier="gst_adapter_masked_scan_uint32_peek"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Scan for pattern @pattern with applied mask @mask in the adapter data,
+starting from offset @offset. If a match is found, the value that matched
+is returned through @value, otherwise @value is left untouched.
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+adapter for it to match, even if the first or last bytes are masked out.
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the adapter.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset of the first match, or -1 if no match was found.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:whitespace="preserve">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset into the adapter data from which to start scanning, returns the last scanned position.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes to scan from offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to uint32 to return matching data</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek" c:identifier="gst_adapter_peek">
+ <doc xml:whitespace="preserve">Gets the first @size bytes stored in the @adapter. The returned pointer is
+valid until the next function is called on the adapter.
+Note that setting the returned pointer as the data of a #GstBuffer is
+incorrect for general-purpose plugins. The reason is that if a downstream
+element stores the buffer so that it has access to it outside of the bounds
+of its chain function, the buffer will have an invalid data pointer after
+your element flushes the bytes. In that case you should use
+gst_adapter_take(), which returns a freshly-allocated buffer that you can set
+as #GstBuffer malloc_data or the potentially more performant
+gst_adapter_take_buffer().
+Returns #NULL if @size bytes are not available.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the first</doc>
+ <array length="0" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the number of bytes to peek</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prev_timestamp"
+ c:identifier="gst_adapter_prev_timestamp"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the timestamp that was before the current byte in the adapter. When
+position is returned.
+The timestamp is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+the adapter is first created or when it is cleared. This also means that before
+the first byte with a timestamp is removed from the adapter, the timestamp
+and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The previously seen timestamp.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="distance"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">pointer to location for distance, or NULL</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_adapter_push">
+ <doc xml:whitespace="preserve">Adds the data from @buf to the data stored inside @adapter and takes
+ownership of the buffer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer to add to queue in the adapter</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take" c:identifier="gst_adapter_take">
+ <doc xml:whitespace="preserve">Returns a freshly allocated buffer containing the first @nbytes bytes of the
+Caller owns returned value. g_free after usage.
+#NULL if @nbytes bytes are not available</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">oven-fresh hot data, or</doc>
+ <array length="0" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="nbytes"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the number of bytes to take</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_buffer"
+ c:identifier="gst_adapter_take_buffer"
+ version="0.10.6">
+ <doc xml:whitespace="preserve">Returns a #GstBuffer containing the first @nbytes bytes of the
+This function is potentially more performant than gst_adapter_take()
+since it can reuse the memory in pushed buffers by subbuffering
+or merging.
+Caller owns returned value. gst_buffer_unref() after usage.
+the adapter, or #NULL if @nbytes bytes are not available</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer containing the first @nbytes of</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to take</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_list"
+ c:identifier="gst_adapter_take_list"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Returns a #GList of buffers containing the first @nbytes bytes of the
+When the caller can deal with individual buffers, this function is more
+performant because no memory should be copied.
+Caller owns returned list and contained buffers. gst_buffer_unref() each
+buffer in the list before freeing the list after usage.
+containing the first @nbytes of the adapter, or #NULL if @nbytes bytes
+are not available</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GList of buffers</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.Buffer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to take</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="buflist">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="skip">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="assembled_data">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="assembled_size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="assembled_len">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="buflist_end">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="priv">
+ <type name="AdapterPrivate" c:type="GstAdapterPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AdapterClass"
+ c:type="GstAdapterClass"
+ glib:is-gtype-struct-for="Adapter">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AdapterPrivate" c:type="GstAdapterPrivate" disguised="1">
+ </record>
+ <constant name="BASE_TRANSFORM_SINK_NAME" value="sink">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BASE_TRANSFORM_SRC_NAME" value="src">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="BaseSink"
+ c:symbol-prefix="base_sink"
+ c:type="GstBaseSink"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseSink"
+ glib:get-type="gst_base_sink_get_type"
+ glib:type-struct="BaseSinkClass">
+ <doc xml:whitespace="preserve">The opaque #GstBaseSink data structure.</doc>
+ <virtual-method name="activate_pull">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="async_play">
+ <return-value transfer-ownership="none">
+ <type name="Gst.StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="buffer_alloc">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_times">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="preroll">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render_list">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unlock">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unlock_stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <method name="do_preroll"
+ c:identifier="gst_base_sink_do_preroll"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">If the @sink spawns its own thread for pulling buffers from upstream it
+should call this method after it has pulled a buffer. If the element needed
+to preroll, this function will perform the preroll and will then block
+until the element state is changed.
+This function should be called with the PREROLL_LOCK held.
+continue. Any other return value should be returned from the render vmethod.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK if the preroll completed and processing can</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the mini object that caused the preroll</doc>
+ <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_blocksize"
+ c:identifier="gst_base_sink_get_blocksize"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the number of bytes that the sink will pull when it is operating in pull
+mode.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes @sink will pull in pull mode.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_last_buffer"
+ c:identifier="gst_base_sink_get_last_buffer"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Get the last buffer that arrived in the sink and was used for preroll or for
+rendering. This property can be used to generate thumbnails.
+The #GstCaps on the buffer can be used to determine the type of the buffer.
+This function returns NULL when no buffer has arrived in the sink yet
+or when the sink is not in PAUSED or PLAYING.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer. gst_buffer_unref() after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="get_latency"
+ c:identifier="gst_base_sink_get_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Get the currently configured latency.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The configured latency.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_max_lateness"
+ c:identifier="gst_base_sink_get_max_lateness"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Gets the max lateness value. See gst_base_sink_set_max_lateness for
+more details.
+before it is dropped and not rendered. A value of -1 means an
+unlimited time.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The maximum time in nanoseconds that a buffer can be late</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ </method>
+ <method name="get_render_delay"
+ c:identifier="gst_base_sink_get_render_delay"
+ version="0.10.21">
+ <doc xml:whitespace="preserve">Get the render delay of @sink. see gst_base_sink_set_render_delay() for more
+information about the render delay.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the render delay of @sink.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_sync"
+ c:identifier="gst_base_sink_get_sync"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Checks if @sink is currently configured to synchronize against the
+clock.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the sink is configured to synchronize against the clock.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_ts_offset"
+ c:identifier="gst_base_sink_get_ts_offset"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Get the synchronisation offset of @sink.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The synchronisation offset.</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </return-value>
+ </method>
+ <method name="is_async_enabled"
+ c:identifier="gst_base_sink_is_async_enabled"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Checks if @sink is currently configured to perform asynchronous state
+changes to PAUSED.
+changes.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the sink is configured to perform asynchronous state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_last_buffer_enabled"
+ c:identifier="gst_base_sink_is_last_buffer_enabled"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Checks if @sink is currently configured to store the last received buffer in
+the last-buffer property.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the sink is configured to store the last received buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_qos_enabled"
+ c:identifier="gst_base_sink_is_qos_enabled"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Checks if @sink is currently configured to send Quality-of-Service events
+upstream.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the sink is configured to perform Quality-of-Service.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="query_latency"
+ c:identifier="gst_base_sink_query_latency"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Query the sink for the latency parameters. The latency will be queried from
+the upstream elements. @live will be TRUE if @sink is configured to
+synchronize against the clock. @upstream_live will be TRUE if an upstream
+element is live.
+If both @live and @upstream_live are TRUE, the sink will want to compensate
+for the latency introduced by the upstream elements by setting the
+This function is mostly used by subclasses.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">if the sink is live</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="upstream_live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">if an upstream element is live</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the min latency of the upstream elements</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the max latency of the upstream elements</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_async_enabled"
+ c:identifier="gst_base_sink_set_async_enabled"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Configures @sink to perform all state changes asynchronusly. When async is
+disabled, the sink will immediatly go to PAUSED instead of waiting for a
+preroll buffer. This feature is usefull if the sink does not synchronize
+against the clock or when it is dealing with sparse streams.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new async value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocksize"
+ c:identifier="gst_base_sink_set_blocksize"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the number of bytes that the sink will pull when it is operating in pull
+mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="blocksize" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the blocksize in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_last_buffer_enabled"
+ c:identifier="gst_base_sink_set_last_buffer_enabled"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Configures @sink to store the last received buffer in the last-buffer
+property.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new enable-last-buffer value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_lateness"
+ c:identifier="gst_base_sink_set_max_lateness"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Sets the new max lateness value to @max_lateness. This value is
+used to decide if a buffer should be dropped or not based on the
+buffer timestamp and the current clock time. A value of -1 means
+an unlimited time.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="max_lateness" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new max lateness value.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_enabled"
+ c:identifier="gst_base_sink_set_qos_enabled"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Configures @sink to send Quality-of-Service events upstream.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new qos value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_render_delay"
+ c:identifier="gst_base_sink_set_render_delay"
+ version="0.10.21">
+ <doc xml:whitespace="preserve">Set the render delay in @sink to @delay. The render delay is the time
+between actual rendering of a buffer and its synchronisation time. Some
+devices might delay media rendering which can be compensated for with this
+function.
+After calling this function, this sink will report additional latency and
+other sinks will adjust their latency to delay the rendering of their media.
+This function is usually called by subclasses.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="delay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new delay</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sync"
+ c:identifier="gst_base_sink_set_sync"
+ version="0.10.4">
+ <doc xml:whitespace="preserve">Configures @sink to synchronize on the clock or not. When
+possible. If @sync is TRUE, the timestamps of the incomming
+buffers will be used to schedule the exact render time of its
+contents.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new sync value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ts_offset"
+ c:identifier="gst_base_sink_set_ts_offset"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Adjust the synchronisation of @sink with @offset. A negative value will
+render buffers earlier than their timestamp. A positive value will delay
+rendering. This function can be used to fix playback of badly timestamped
+buffers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new offset</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_clock"
+ c:identifier="gst_base_sink_wait_clock"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">This function will block until @time is reached. It is usually called by
+subclasses that use their own internal synchronisation.
+If @time is not valid, no sycnhronisation is done and #GST_CLOCK_BADTIME is
+returned. Likewise, if synchronisation is disabled in the element or there
+is no clock, no synchronisation is done and #GST_CLOCK_BADTIME is returned.
+This function should only be called with the PREROLL_LOCK held, like when
+receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when
+receiving a buffer in
+the #GstBaseSinkClass.render() vmethod.
+The @time argument should be the running_time of when this method should
+return and is not adjusted with any latency or offset configured in the
+sink.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstClockReturn</doc>
+ <type name="Gst.ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the running_time to be reached</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the jitter to be filled with time diff, or NULL</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_eos"
+ c:identifier="gst_base_sink_wait_eos"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">This function will block until @time is reached. It is usually called by
+subclasses that use their own internal synchronisation but want to let the
+EOS be handled by the base class.
+This function should only be called with the PREROLL_LOCK held, like when
+receiving an EOS event in the ::event vmethod.
+The @time argument should be the running_time of when the EOS should happen
+and will be adjusted with any latency and offset configured in the sink.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the running_time to be reached</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the jitter to be filled with time diff, or NULL</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_preroll"
+ c:identifier="gst_base_sink_wait_preroll"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">If the #GstBaseSinkClass.render() method performs its own synchronisation
+against the clock it must unblock when going from PLAYING to the PAUSED state
+and call this method before continuing to render the remaining data.
+This function will block until a state change to PLAYING happens (in which
+case this function returns #GST_FLOW_OK) or the processing must be stopped due
+to a state change to READY or a FLUSH event (in which case this function
+returns #GST_FLOW_WRONG_STATE).
+This function should only be called with the PREROLL_LOCK held, like in the
+render function.
+continue. Any other return value should be returned from the render vmethod.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK if the preroll completed and processing can</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ </method>
+ <property name="async" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="blocksize" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="enable-last-buffer"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="last-buffer" transfer-ownership="none">
+ <type name="Gst.Buffer"/>
+ </property>
+ <property name="max-lateness" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="preroll-queue-len"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="qos" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="render-delay" writable="1" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <property name="sync" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="ts-offset" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="pad_mode">
+ <type name="Gst.ActivateMode" c:type="GstActivateMode"/>
+ </field>
+ <field name="offset">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="can_activate_pull">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="can_activate_push">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="preroll_queue">
+ <type name="GLib.Queue" c:type="GQueue*"/>
+ </field>
+ <field name="preroll_queue_max_len">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="preroll_queued">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="buffers_queued">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="events_queued">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="eos">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="eos_queued">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="need_preroll">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="have_preroll">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="playing_async">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="have_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="clock_id">
+ <type name="Gst.ClockID" c:type="GstClockID"/>
+ </field>
+ <field name="end_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="sync">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="flushing">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="clip_segment" writable="1">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </field>
+ <field name="max_lateness" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="running" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="19">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <field name="priv">
+ <type name="BaseSinkPrivate" c:type="GstBaseSinkPrivate*"/>
+ </field>
+ </class>
+ <record name="BaseSinkClass"
+ c:type="GstBaseSinkClass"
+ glib:is-gtype-struct-for="BaseSink">
+ <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
+needed. At the minimum, the @render method should be overridden to
+output/present buffers.</doc>
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="buffer_alloc">
+ <callback name="buffer_alloc">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_times">
+ <callback name="get_times">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock">
+ <callback name="unlock">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="event">
+ <callback name="event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="preroll">
+ <callback name="preroll">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render">
+ <callback name="render">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="async_play">
+ <callback name="async_play">
+ <return-value transfer-ownership="none">
+ <type name="Gst.StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="activate_pull">
+ <callback name="activate_pull">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate">
+ <callback name="fixate">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock_stop">
+ <callback name="unlock_stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render_list">
+ <callback name="render_list">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="15">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseSinkPrivate" c:type="GstBaseSinkPrivate" disguised="1">
+ </record>
+ <class name="BaseSrc"
+ c:symbol-prefix="base_src"
+ c:type="GstBaseSrc"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseSrc"
+ glib:get-type="gst_base_src_get_type"
+ glib:type-struct="BaseSrcClass">
+ <doc xml:whitespace="preserve">The opaque #GstBaseSrc data structure.</doc>
+ <virtual-method name="check_get_range">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="create">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="do_seek">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_size">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_times">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="is_seekable">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="negotiate">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="newsegment">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="prepare_seek_segment">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="seek" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="query">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unlock">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unlock_stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <method name="get_blocksize"
+ c:identifier="gst_base_src_get_blocksize"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the number of bytes that @src will push out with each buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes pushed with each buffer.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ </method>
+ <method name="get_do_timestamp"
+ c:identifier="gst_base_src_get_do_timestamp"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Query if @src timestamps outgoing buffers based on the current running_time.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the base class will automatically timestamp outgoing buffers.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_live" c:identifier="gst_base_src_is_live">
+ <doc xml:whitespace="preserve">Check if an element is in live mode.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if element is in live mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="new_seamless_segment"
+ c:identifier="gst_base_src_new_seamless_segment"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Prepare a new seamless segment for emission downstream. This function must
+only be called by derived sub-classes, and only from the create() function,
+as the stream-lock needs to be held.
+The format for the new segment will be the current format of the source, as
+configured with gst_base_src_set_format()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if preparation of the seamless segment succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new start value for the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Stop value for the new segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The position value for the new segent</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_latency"
+ c:identifier="gst_base_src_query_latency"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Query the source for the latency parameters. @live will be TRUE when @src is
+configured as a live source. @min_latency will be set to the difference
+between the running time and the timestamp of the first buffer.
+This function is mostly used by subclasses.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the query succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:whitespace="preserve">if the source is live</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the min latency of the source</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">the max latency of the source</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocksize"
+ c:identifier="gst_base_src_set_blocksize"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the number of bytes that @src will push out with each buffer. When</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="blocksize" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new blocksize in bytes</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_do_timestamp"
+ c:identifier="gst_base_src_set_do_timestamp"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Configure @src to automatically timestamp outgoing buffers based on the
+current running_time of the pipeline. This property is mostly useful for live
+sources.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">enable or disable timestamping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_format"
+ c:identifier="gst_base_src_set_format"
+ version="0.10.1">
+ <doc xml:whitespace="preserve">Sets the default format of the source. This will be the format used
+for sending NEW_SEGMENT events and for performing seeks.
+If a format of GST_FORMAT_BYTES is set, the element will be able to
+operate in pull mode if the #GstBaseSrc.is_seekable() returns TRUE.
+This function must only be called in states < %GST_STATE_PAUSED.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format to use</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_live" c:identifier="gst_base_src_set_live">
+ <doc xml:whitespace="preserve">If the element listens to a live source, @live should
+be set to %TRUE.
+A live source will not produce data in the PAUSED state and
+will therefore not be able to participate in the PREROLL phase
+of a pipeline. To signal this fact to the application and the
+pipeline, the state change return value of the live source will
+be GST_STATE_CHANGE_NO_PREROLL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="live" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new live-mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_playing"
+ c:identifier="gst_base_src_wait_playing"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">If the #GstBaseSrcClass.create() method performs its own synchronisation
+against the clock it must unblock when going from PLAYING to the PAUSED state
+and call this method before continuing to produce the remaining data.
+This function will block until a state change to PLAYING happens (in which
+case this function returns #GST_FLOW_OK) or the processing must be stopped due
+to a state change to READY or a FLUSH event (in which case this function
+returns #GST_FLOW_WRONG_STATE).
+continue. Any other return value should be returned from the create vmethod.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK if @src is PLAYING and processing can</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ </method>
+ <property name="blocksize" writable="1" transfer-ownership="none">
+ <type name="gulong"/>
+ </property>
+ <property name="do-timestamp" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="num-buffers" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="typefind" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="live_lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="live_cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="is_live">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="live_running">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="blocksize">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="can_activate_push">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="pad_mode">
+ <type name="Gst.ActivateMode" c:type="GstActivateMode"/>
+ </field>
+ <field name="seekable">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="random_access">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="clock_id">
+ <type name="Gst.ClockID" c:type="GstClockID"/>
+ </field>
+ <field name="end_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="need_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="offset">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="size">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="num_buffers">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="num_buffers_left">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <union name="data" c:type="data">
+ <record name="ABI" c:type="ABI">
+ <field name="typefind" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="running" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="pending_seek" writable="1">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="19">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <field name="priv">
+ <type name="BaseSrcPrivate" c:type="GstBaseSrcPrivate*"/>
+ </field>
+ </class>
+ <record name="BaseSrcClass"
+ c:type="GstBaseSrcClass"
+ glib:is-gtype-struct-for="BaseSrc">
+ <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
+needed. At the minimum, the @create method should be overridden to produce
+buffers.</doc>
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="newsegment">
+ <callback name="newsegment">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_times">
+ <callback name="get_times">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_size">
+ <callback name="get_size">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="is_seekable">
+ <callback name="is_seekable">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock">
+ <callback name="unlock">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="event">
+ <callback name="event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create">
+ <callback name="create">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_seek">
+ <callback name="do_seek">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="check_get_range">
+ <callback name="check_get_range">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate">
+ <callback name="fixate">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock_stop">
+ <callback name="unlock_stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare_seek_segment">
+ <callback name="prepare_seek_segment">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="seek" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="14">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="BaseSrcFlags" c:type="GstBaseSrcFlags">
+ <doc xml:whitespace="preserve">The #GstElement flags that a basesrc element may have.</doc>
+ <member name="started"
+ value="1048576"
+ c:identifier="GST_BASE_SRC_STARTED"/>
+ <member name="flag_last"
+ value="4194304"
+ c:identifier="GST_BASE_SRC_FLAG_LAST"/>
+ </bitfield>
+ <record name="BaseSrcPrivate" c:type="GstBaseSrcPrivate" disguised="1">
+ </record>
+ <class name="BaseTransform"
+ c:symbol-prefix="base_transform"
+ c:type="GstBaseTransform"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseTransform"
+ glib:get-type="gst_base_transform_get_type"
+ glib:type-struct="BaseTransformClass">
+ <doc xml:whitespace="preserve">The opaque #GstBaseTransform data structure.</doc>
+ <virtual-method name="accept_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="before_transform">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate_caps">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_unit_size">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare_output_buffer">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="transform">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_ip">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_size">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othersize" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="is_in_place" c:identifier="gst_base_transform_is_in_place">
+ <doc xml:whitespace="preserve">See if @trans is configured as a in_place transform.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE is the transform is configured in in_place mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_passthrough"
+ c:identifier="gst_base_transform_is_passthrough">
+ <doc xml:whitespace="preserve">See if @trans is configured as a passthrough transform.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE is the transform is configured in passthrough mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_qos_enabled"
+ c:identifier="gst_base_transform_is_qos_enabled"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Queries if the transform will handle QoS.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if QoS is enabled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="reconfigure"
+ c:identifier="gst_base_transform_reconfigure"
+ version="0.10.21">
+ <doc xml:whitespace="preserve">Instructs @trans to renegotiate a new downstream transform on the next
+buffer. This function is typically called after properties on the transform
+were set that influence the output format.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_gap_aware"
+ c:identifier="gst_base_transform_set_gap_aware"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">If @gap_aware is %FALSE (the default), output buffers will have the
+%GST_BUFFER_FLAG_GAP flag unset.
+If set to %TRUE, the element must handle output buffers with this flag set
+correctly, i.e. it can assume that the buffer contains neutral data but must
+unset the flag if the output is no neutral data.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="gap_aware" transfer-ownership="none">
+ <doc xml:whitespace="preserve">New state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_in_place"
+ c:identifier="gst_base_transform_set_in_place">
+ <doc xml:whitespace="preserve">Determines whether a non-writable buffer will be copied before passing
+to the transform_ip function.
+<itemizedlist>
+<listitem>Always TRUE if no transform function is implemented.</listitem>
+<listitem>Always FALSE if ONLY transform function is implemented.</listitem>
+</itemizedlist>
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_place" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Boolean value indicating that we would like to operate on in_place buffers.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_passthrough"
+ c:identifier="gst_base_transform_set_passthrough">
+ <doc xml:whitespace="preserve">Set passthrough mode for this filter by default. This is mostly
+useful for filters that do not care about negotiation.
+Always TRUE for filters which don't implement either a transform
+or transform_ip method.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="passthrough" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean indicating passthrough mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_enabled"
+ c:identifier="gst_base_transform_set_qos_enabled"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Enable or disable QoS handling in the transform.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest"
+ c:identifier="gst_base_transform_suggest"
+ version="0.10.21">
+ <doc xml:whitespace="preserve">Instructs @trans to suggest new @caps upstream. A copy of @caps will be
+taken.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caps to suggest</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer size to suggest</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_qos"
+ c:identifier="gst_base_transform_update_qos"
+ version="0.10.5">
+ <doc xml:whitespace="preserve">Set the QoS parameters in the transform. This function is called internally
+when a QOS event is received but subclasses can provide custom information
+when needed.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="proportion" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proportion</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="diff" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the diff against the clock</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the timestamp of the buffer generating the QoS expressed in running_time.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="qos" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="passthrough">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="always_in_place">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="cache_caps1">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="cache_caps1_size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="cache_caps2">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="cache_caps2_size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="have_same_caps">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="delay_configure">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="pending_configure">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="negotiated">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="have_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="transform_lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="priv">
+ <type name="BaseTransformPrivate" c:type="GstBaseTransformPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="19">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseTransformClass"
+ c:type="GstBaseTransformClass"
+ glib:is-gtype-struct-for="BaseTransform">
+ <doc xml:whitespace="preserve">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum either @transform or @transform_ip need to be overridden.
+If the element can overwrite the input data with the results (data is of the
+same type and quantity) it should provide @transform_ip.</doc>
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="transform_caps">
+ <callback name="transform_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate_caps">
+ <callback name="fixate_caps">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_size">
+ <callback name="transform_size">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othersize" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_unit_size">
+ <callback name="get_unit_size">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="event">
+ <callback name="event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform">
+ <callback name="transform">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_ip">
+ <callback name="transform_ip">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="passthrough_on_same_caps">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="prepare_output_buffer">
+ <callback name="prepare_output_buffer">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="before_transform">
+ <callback name="before_transform">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="accept_caps">
+ <callback name="accept_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="17">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseTransformPrivate"
+ c:type="GstBaseTransformPrivate"
+ disguised="1">
+ </record>
+ <record name="BitReader" c:type="GstBitReader">
+ <doc xml:whitespace="preserve">A bit reader instance.</doc>
+ <field name="data" writable="1">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="size" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="byte" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="bit" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="free" c:identifier="gst_bit_reader_free" version="0.10.22">
+ <doc xml:whitespace="preserve">Frees a #GstBitReader instance, which was previously allocated by
+gst_bit_reader_new() or gst_bit_reader_new_from_buffer().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_bits_uint16"
+ c:identifier="gst_bit_reader_get_bits_uint16"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint32"
+ c:identifier="gst_bit_reader_get_bits_uint32"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint64"
+ c:identifier="gst_bit_reader_get_bits_uint64"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint8"
+ c:identifier="gst_bit_reader_get_bits_uint8"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pos"
+ c:identifier="gst_bit_reader_get_pos"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Returns the current position of a #GstBitReader instance in bits.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current position of @reader in bits.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_remaining"
+ c:identifier="gst_bit_reader_get_remaining"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Returns the remaining number of bits of a #GstBitReader instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The remaining number of bits of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_size"
+ c:identifier="gst_bit_reader_get_size"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns the total number of bits of a #GstBitReader instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The total number of bits of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="init" c:identifier="gst_bit_reader_init" version="0.10.22">
+ <doc xml:whitespace="preserve">Initializes a #GstBitReader instance to read from @data. This function
+can be called on already initialized instances.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data from which the bit reader should read</doc>
+ <array length="1" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_from_buffer"
+ c:identifier="gst_bit_reader_init_from_buffer"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Initializes a #GstBitReader instance to read from @buffer. This function
+can be called on already initialized instances.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer from which the #GstBitReader should read</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint16"
+ c:identifier="gst_bit_reader_peek_bits_uint16"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint32"
+ c:identifier="gst_bit_reader_peek_bits_uint32"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint64"
+ c:identifier="gst_bit_reader_peek_bits_uint64"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint8"
+ c:identifier="gst_bit_reader_peek_bits_uint8"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read @nbits bits into @val but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pos"
+ c:identifier="gst_bit_reader_set_pos"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Sets the new position of a #GstBitReader instance to @pos in bits.
+otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the position could be set successfully, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new position in bits</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip" c:identifier="gst_bit_reader_skip" version="0.10.22">
+ <doc xml:whitespace="preserve">Skips @nbits bits of the #GstBitReader instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @nbits bits could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bits to skip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip_to_byte"
+ c:identifier="gst_bit_reader_skip_to_byte"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Skips until the next byte.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="ByteReader" c:type="GstByteReader">
+ <doc xml:whitespace="preserve">A byte reader instance.</doc>
+ <field name="data" writable="1">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="size" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="byte" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="dup_data"
+ c:identifier="gst_byte_reader_dup_data"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns a newly-allocated copy of the current data
+position if at least @size bytes are left and
+updates the current position. Free with g_free() when no longer needed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Size in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a #guint8 pointer variable in which to store the result</doc>
+ <array length="0" c:type="guint8**">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_string_utf16"
+ c:identifier="gst_byte_reader_dup_string_utf16"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns a newly-allocated copy of the current data position if there is
+a NUL-terminated UTF-16 string in the data (this could be an empty string
+as well), and advances the current position.
+No input checking for valid UTF-16 is done. This function is endianness
+agnostic - you should not assume the UTF-16 characters are in host
+endianness.
+This function will fail if no NUL-terminator was found in in the data.
+byte alignment of the UTF-16 string.
+string put into @str must be freed with g_free() when no longer needed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be read, %FALSE otherwise. The</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a #guint16 pointer varieble in which to store the result</doc>
+ <array c:type="guint16**">
+ <type name="guint16"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_string_utf32"
+ c:identifier="gst_byte_reader_dup_string_utf32"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns a newly-allocated copy of the current data position if there is
+a NUL-terminated UTF-32 string in the data (this could be an empty string
+as well), and advances the current position.
+No input checking for valid UTF-32 is done. This function is endianness
+agnostic - you should not assume the UTF-32 characters are in host
+endianness.
+This function will fail if no NUL-terminator was found in in the data.
+byte alignment of the UTF-32 string.
+string put into @str must be freed with g_free() when no longer needed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be read, %FALSE otherwise. The</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a #guint32 pointer varieble in which to store the result</doc>
+ <array c:type="guint32**">
+ <type name="guint32"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_string_utf8"
+ c:identifier="gst_byte_reader_dup_string_utf8"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance,
+advancing the current position to the byte after the string. This will work
+for any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
+This function will fail if no NUL-terminator was found in in the data.
+string put into @str must be freed with g_free() when no longer needed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be read into @str, %FALSE otherwise. The</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">address of a #gchar pointer varieble in which to store the result</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_byte_reader_free"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Frees a #GstByteReader instance, which was previously allocated by
+gst_byte_reader_new() or gst_byte_reader_new_from_buffer().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_data"
+ c:identifier="gst_byte_reader_get_data"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Returns a constant pointer to the current data
+position if at least @size bytes are left and
+updates the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Size in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">address of a #guint8 pointer variable in which to store the result</doc>
+ <array length="0" c:type="guint8**">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float32_be"
+ c:identifier="gst_byte_reader_get_float32_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 32 bit big endian floating point value into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float32_le"
+ c:identifier="gst_byte_reader_get_float32_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 32 bit little endian floating point value into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float64_be"
+ c:identifier="gst_byte_reader_get_float64_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 64 bit big endian floating point value into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float64_le"
+ c:identifier="gst_byte_reader_get_float64_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 64 bit little endian floating point value into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int16_be"
+ c:identifier="gst_byte_reader_get_int16_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 16 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int16_le"
+ c:identifier="gst_byte_reader_get_int16_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 16 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int24_be"
+ c:identifier="gst_byte_reader_get_int24_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 24 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int24_le"
+ c:identifier="gst_byte_reader_get_int24_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 24 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int32_be"
+ c:identifier="gst_byte_reader_get_int32_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 32 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int32_le"
+ c:identifier="gst_byte_reader_get_int32_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 32 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64_be"
+ c:identifier="gst_byte_reader_get_int64_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 64 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64_le"
+ c:identifier="gst_byte_reader_get_int64_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 64 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int8"
+ c:identifier="gst_byte_reader_get_int8"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 8 bit integer into @val and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint8 to store the result</doc>
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pos"
+ c:identifier="gst_byte_reader_get_pos"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Returns the current position of a #GstByteReader instance in bytes.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current position of @reader in bytes.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_remaining"
+ c:identifier="gst_byte_reader_get_remaining"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Returns the remaining number of bytes of a #GstByteReader instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The remaining number of bytes of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_size"
+ c:identifier="gst_byte_reader_get_size"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns the total number of bytes of a #GstByteReader instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The total number of bytes of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_string_utf8"
+ c:identifier="gst_byte_reader_get_string_utf8"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns a constant pointer to the current data position if there is
+a NUL-terminated string in the data (this could be just a NUL terminator),
+advancing the current position to the byte after the string. This will work
+for any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc.
+No input checking for valid UTF-8 is done.
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be found, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">address of a #gchar pointer varieble in which to store the result</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint16_be"
+ c:identifier="gst_byte_reader_get_uint16_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 16 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint16_le"
+ c:identifier="gst_byte_reader_get_uint16_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 16 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint24_be"
+ c:identifier="gst_byte_reader_get_uint24_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 24 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint24_le"
+ c:identifier="gst_byte_reader_get_uint24_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 24 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint32_be"
+ c:identifier="gst_byte_reader_get_uint32_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 32 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint32_le"
+ c:identifier="gst_byte_reader_get_uint32_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 32 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64_be"
+ c:identifier="gst_byte_reader_get_uint64_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 64 bit big endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64_le"
+ c:identifier="gst_byte_reader_get_uint64_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 64 bit little endian integer into @val
+and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint8"
+ c:identifier="gst_byte_reader_get_uint8"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 8 bit integer into @val and update the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_byte_reader_init"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Initializes a #GstByteReader instance to read from @data. This function
+can be called on already initialized instances.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data from which the #GstByteReader should read</doc>
+ <array length="1" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_from_buffer"
+ c:identifier="gst_byte_reader_init_from_buffer"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Initializes a #GstByteReader instance to read from @buffer. This function
+can be called on already initialized instances.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer from which the #GstByteReader should read</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32"
+ c:identifier="gst_byte_reader_masked_scan_uint32"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Scan for pattern @pattern with applied mask @mask in the byte reader data,
+starting from offset @offset relative to the current position.
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+byte reader data for it to match, even if the first or last bytes are masked
+out.
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the byte reader.
+Example:
+<programlisting>
+// Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff
+gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256);
+// -> returns 0
+gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255);
+// -> returns -1
+gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255);
+// -> returns 1
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256);
+// -> returns -1
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256);
+// -> returns 0
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256);
+// -> returns 2
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4);
+// -> returns -1
+</programlisting></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset of the first match, or -1 if no match was found.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:whitespace="preserve">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset from which to start scanning, relative to the current position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes to scan from offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_data"
+ c:identifier="gst_byte_reader_peek_data"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Returns a constant pointer to the current data
+position if at least @size bytes are left and
+keeps the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Size in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">address of a #guint8 pointer variable in which to store the result</doc>
+ <array length="0" c:type="guint8**">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float32_be"
+ c:identifier="gst_byte_reader_peek_float32_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 32 bit big endian floating point value into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float32_le"
+ c:identifier="gst_byte_reader_peek_float32_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 32 bit little endian floating point value into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float64_be"
+ c:identifier="gst_byte_reader_peek_float64_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 64 bit big endian floating point value into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float64_le"
+ c:identifier="gst_byte_reader_peek_float64_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a 64 bit little endian floating point value into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int16_be"
+ c:identifier="gst_byte_reader_peek_int16_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 16 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int16_le"
+ c:identifier="gst_byte_reader_peek_int16_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 16 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int24_be"
+ c:identifier="gst_byte_reader_peek_int24_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 24 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int24_le"
+ c:identifier="gst_byte_reader_peek_int24_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 24 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int32_be"
+ c:identifier="gst_byte_reader_peek_int32_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 32 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int32_le"
+ c:identifier="gst_byte_reader_peek_int32_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 32 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int64_be"
+ c:identifier="gst_byte_reader_peek_int64_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 64 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int64_le"
+ c:identifier="gst_byte_reader_peek_int64_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 64 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int8"
+ c:identifier="gst_byte_reader_peek_int8"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read a signed 8 bit integer into @val but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #gint8 to store the result</doc>
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_string_utf8"
+ c:identifier="gst_byte_reader_peek_string_utf8"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Returns a constant pointer to the current data position if there is
+a NUL-terminated string in the data (this could be just a NUL terminator).
+The current position will be maintained. This will work for any
+NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc.
+No input checking for valid UTF-8 is done.
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">address of a #gchar pointer varieble in which to store the result</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint16_be"
+ c:identifier="gst_byte_reader_peek_uint16_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 16 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint16_le"
+ c:identifier="gst_byte_reader_peek_uint16_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 16 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint24_be"
+ c:identifier="gst_byte_reader_peek_uint24_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 24 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint24_le"
+ c:identifier="gst_byte_reader_peek_uint24_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 24 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint32_be"
+ c:identifier="gst_byte_reader_peek_uint32_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 32 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint32_le"
+ c:identifier="gst_byte_reader_peek_uint32_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 32 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint64_be"
+ c:identifier="gst_byte_reader_peek_uint64_be"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 64 bit big endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint64_le"
+ c:identifier="gst_byte_reader_peek_uint64_le"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 64 bit little endian integer into @val
+but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint8"
+ c:identifier="gst_byte_reader_peek_uint8"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Read an unsigned 8 bit integer into @val but keep the current position.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pos"
+ c:identifier="gst_byte_reader_set_pos"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Sets the new position of a #GstByteReader instance to @pos in bytes.
+otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the position could be set successfully, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new position in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip"
+ c:identifier="gst_byte_reader_skip"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Skips @nbytes bytes of the #GstByteReader instance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @nbytes bytes could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to skip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip_string_utf16"
+ c:identifier="gst_byte_reader_skip_string_utf16"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Skips a NUL-terminated UTF-16 string in the #GstByteReader instance,
+advancing the current position to the byte after the string.
+No input checking for valid UTF-16 is done.
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="skip_string_utf32"
+ c:identifier="gst_byte_reader_skip_string_utf32"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Skips a NUL-terminated UTF-32 string in the #GstByteReader instance,
+advancing the current position to the byte after the string.
+No input checking for valid UTF-32 is done.
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="skip_string_utf8"
+ c:identifier="gst_byte_reader_skip_string_utf8"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Skips a NUL-terminated string in the #GstByteReader instance, advancing
+the current position to the byte after the string. This will work for
+any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="ByteWriter" c:type="GstByteWriter">
+ <doc xml:whitespace="preserve">A byte writer instance.</doc>
+ <field name="parent" writable="1">
+ <type name="ByteReader" c:type="GstByteReader"/>
+ </field>
+ <field name="alloc_size" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="fixed" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="owned" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <method name="ensure_free_space"
+ c:identifier="gst_byte_writer_ensure_free_space"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Checks if enough free space from the current write cursor is
+available and reallocates if necessary.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if at least @size bytes are still available</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number of bytes that should be available</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fill"
+ c:identifier="gst_byte_writer_fill"
+ version="0.10.27">
+ <doc xml:whitespace="preserve">Writes @size bytes containing @value to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to be writen</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number of bytes to be writen</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_byte_writer_free"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Frees @writer and all memory allocated by it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="free_and_get_buffer"
+ c:identifier="gst_byte_writer_free_and_get_buffer"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Frees @writer and all memory allocated by it except
+the current data, which is returned as #GstBuffer.
+after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the current data as buffer. gst_buffer_unref()</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="free_and_get_data"
+ c:identifier="gst_byte_writer_free_and_get_data"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Frees @writer and all memory allocated by it except
+the current data, which is returned.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the current data. g_free() after usage.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ </method>
+ <method name="get_remaining"
+ c:identifier="gst_byte_writer_get_remaining"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns the remaining size of data that can still be written. If
+-1 is returned the remaining size is only limited by system resources.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the remaining size of data that can still be written</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="init"
+ c:identifier="gst_byte_writer_init"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Initializes @writer to an empty instance</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="init_with_buffer"
+ c:identifier="gst_byte_writer_init_with_buffer"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Initializes @writer with the given
+buffer. If @initialized is %TRUE it is possible to
+read the complete buffer from the #GstByteWriter from the beginning.
+<note>@buffer must be writable</note></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer used for writing</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:whitespace="preserve">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_with_data"
+ c:identifier="gst_byte_writer_init_with_data"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Initializes @writer with the given
+memory area. If @initialized is %TRUE it is possible to
+read @size bytes from the #GstByteWriter from the beginning.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Memory area for writing</doc>
+ <array length="1" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:whitespace="preserve">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_with_size"
+ c:identifier="gst_byte_writer_init_with_size"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Initializes @writer with the given initial data size.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Initial size of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_data"
+ c:identifier="gst_byte_writer_put_data"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes @size bytes of @data to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data to write</doc>
+ <array length="1" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float32_be"
+ c:identifier="gst_byte_writer_put_float32_be"
+ version="0.10.27">
+ <doc xml:whitespace="preserve">Writes a big endian 32 bit float to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float32_le"
+ c:identifier="gst_byte_writer_put_float32_le"
+ version="0.10.27">
+ <doc xml:whitespace="preserve">Writes a little endian 32 bit float to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float64_be"
+ c:identifier="gst_byte_writer_put_float64_be"
+ version="0.10.27">
+ <doc xml:whitespace="preserve">Writes a big endian 64 bit float to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float64_le"
+ c:identifier="gst_byte_writer_put_float64_le"
+ version="0.10.27">
+ <doc xml:whitespace="preserve">Writes a little endian 64 bit float to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int16_be"
+ c:identifier="gst_byte_writer_put_int16_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed big endian 16 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint16" c:type="gint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int16_le"
+ c:identifier="gst_byte_writer_put_int16_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed little endian 16 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint16" c:type="gint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int24_be"
+ c:identifier="gst_byte_writer_put_int24_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed big endian 24 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int24_le"
+ c:identifier="gst_byte_writer_put_int24_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed little endian 24 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int32_be"
+ c:identifier="gst_byte_writer_put_int32_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed big endian 32 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int32_le"
+ c:identifier="gst_byte_writer_put_int32_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed little endian 32 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int64_be"
+ c:identifier="gst_byte_writer_put_int64_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed big endian 64 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int64_le"
+ c:identifier="gst_byte_writer_put_int64_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed little endian 64 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int8"
+ c:identifier="gst_byte_writer_put_int8"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a signed 8 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_string_utf16"
+ c:identifier="gst_byte_writer_put_string_utf16"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a NUL-terminated UTF16 string to @writer (including the terminator).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">UTF16 string to write</doc>
+ <array c:type="guint16*">
+ <type name="guint16"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_string_utf32"
+ c:identifier="gst_byte_writer_put_string_utf32"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a NUL-terminated UTF32 string to @writer (including the terminator).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">UTF32 string to write</doc>
+ <array c:type="guint32*">
+ <type name="guint32"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_string_utf8"
+ c:identifier="gst_byte_writer_put_string_utf8"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a NUL-terminated UTF8 string to @writer (including the terminator).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">UTF8 string to write</doc>
+ <array>
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint16_be"
+ c:identifier="gst_byte_writer_put_uint16_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned big endian 16 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint16_le"
+ c:identifier="gst_byte_writer_put_uint16_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned little endian 16 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint24_be"
+ c:identifier="gst_byte_writer_put_uint24_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned big endian 24 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint24_le"
+ c:identifier="gst_byte_writer_put_uint24_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned little endian 24 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint32_be"
+ c:identifier="gst_byte_writer_put_uint32_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned big endian 32 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint32_le"
+ c:identifier="gst_byte_writer_put_uint32_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned little endian 32 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint64_be"
+ c:identifier="gst_byte_writer_put_uint64_be"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned big endian 64 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint64_le"
+ c:identifier="gst_byte_writer_put_uint64_le"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned little endian 64 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint8"
+ c:identifier="gst_byte_writer_put_uint8"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Writes a unsigned 8 bit integer to @writer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Value to write</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset"
+ c:identifier="gst_byte_writer_reset"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Resets @writer and frees the data if it's
+owned by @writer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="reset_and_get_buffer"
+ c:identifier="gst_byte_writer_reset_and_get_buffer"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Resets @writer and returns the current data as buffer.
+after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the current data as buffer. gst_buffer_unref()</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="reset_and_get_data"
+ c:identifier="gst_byte_writer_reset_and_get_data"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Resets @writer and returns the current data.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the current data. g_free() after usage.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="CollectData" c:type="GstCollectData">
+ <doc xml:whitespace="preserve">Structure used by the collect_pads.</doc>
+ <field name="collect" writable="1">
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </field>
+ <field name="pad" writable="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="buffer" writable="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="pos" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="segment" writable="1">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="flushing" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="new_segment" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="eos" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="refcount" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </record>
+ <callback name="CollectDataDestroyNotify"
+ c:type="GstCollectDataDestroyNotify"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">A function that will be called when the #GstCollectData will be freed.
+It is passed the pointer to the structure and should free any custom
+memory and resources allocated for it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCollectData that will be freed</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="CollectPads"
+ c:symbol-prefix="collect_pads"
+ c:type="GstCollectPads"
+ parent="Gst.Object"
+ glib:type-name="GstCollectPads"
+ glib:get-type="gst_collect_pads_get_type"
+ glib:type-struct="CollectPadsClass">
+ <doc xml:whitespace="preserve">Collectpads object.
+Note that @data is only reliable for iterating the list of #GstCollectData
+when inside the #GstCollectPadsFunction callback.</doc>
+ <constructor name="new" c:identifier="gst_collect_pads_new">
+ <doc xml:whitespace="preserve">Create a new instance of #GstCollectPads.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstCollectPads, or NULL in case of an error.</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </return-value>
+ </constructor>
+ <method name="add_pad"
+ c:identifier="gst_collect_pads_add_pad"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Add a pad to the collection of collect pads. The pad has to be
+a sinkpad. The refcount of the pad is incremented. Use
+gst_collect_pads_remove_pad() to remove the pad from the collection
+again.
+This function will override the chain and event functions of the pad
+along with the element_private data, which is used to store private
+information for the collectpads.
+You specify a size for the returned #GstCollectData structure
+so that you can use it to store additional information.
+The pad will be automatically activated in push mode when @pads is
+started.
+This function calls gst_collect_pads_add_pad_full() passing a value of NULL
+for destroy_notify.
+if wrong parameters are supplied.
+MT safe.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstCollectData to identify the new pad. Or NULL</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to add</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the returned #GstCollectData structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_pad_full"
+ c:identifier="gst_collect_pads_add_pad_full"
+ version="0.10.12"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Add a pad to the collection of collect pads. The pad has to be
+a sinkpad. The refcount of the pad is incremented. Use
+gst_collect_pads_remove_pad() to remove the pad from the collection
+again.
+You specify a size for the returned #GstCollectData structure
+so that you can use it to store additional information.
+You can also specify a #GstCollectDataDestroyNotify that will be called
+just before the #GstCollectData structure is freed. It is passed the
+pointer to the structure and should free any custom memory and resources
+allocated for it.
+The pad will be automatically activated in push mode when @pads is
+started.
+if wrong parameters are supplied.
+MT safe.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstCollectData to identify the new pad. Or NULL</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to add</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the returned #GstCollectData structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="destroy_notify" transfer-ownership="none">
+ <doc xml:whitespace="preserve">function to be called before the returned #GstCollectData structure is freed</doc>
+ <type name="CollectDataDestroyNotify"
+ c:type="GstCollectDataDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="available" c:identifier="gst_collect_pads_available">
+ <doc xml:whitespace="preserve">Query how much bytes can be read from each queued buffer. This means
+that the result of this call is the maximum number of bytes that can
+be read from each of the pads.
+This function should be called with @pads LOCK held, such as
+in the callback.
+returns 0 if a pad has no queued buffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The maximum number of bytes queued on all pads. This function</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="collect" c:identifier="gst_collect_pads_collect">
+ <doc xml:whitespace="preserve">Collect data on all pads. This function is usually called
+from a #GstTask function in an element.
+This function is currently not implemented.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstFlowReturn of the operation.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ </method>
+ <method name="collect_range"
+ c:identifier="gst_collect_pads_collect_range">
+ <doc xml:whitespace="preserve">Collect data with @offset and @length on all pads. This function
+is typically called in the getrange function of an element.
+This function is currently not implemented.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstFlowReturn of the operation.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset to collect</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length to collect</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush" c:identifier="gst_collect_pads_flush">
+ <doc xml:whitespace="preserve">Flush @size bytes from the pad @data.
+This function should be called with @pads LOCK held, such as
+in the callback.
+is 0 if the pad was end-of-stream.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of bytes flushed. This can be less than @size and</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to flush</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="gst_collect_pads_is_active">
+ <doc xml:whitespace="preserve">Check if a pad is active.
+This function is currently not implemented.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the pad is active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to check</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek" c:identifier="gst_collect_pads_peek">
+ <doc xml:whitespace="preserve">Peek at the buffer currently queued in @data. This function
+should be called with the @pads LOCK held, such as in the callback
+handler.
+should unref the buffer after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The buffer in @data or NULL if no buffer is queued.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pop" c:identifier="gst_collect_pads_pop">
+ <doc xml:whitespace="preserve">Pop the buffer currently queued in @data. This function
+should be called with the @pads LOCK held, such as in the callback
+handler.
+queued. You should unref the buffer after usage.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The buffer in @data or NULL if no buffer was</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read" c:identifier="gst_collect_pads_read">
+ <doc xml:whitespace="preserve">Get a pointer in @bytes where @size bytes can be read from the
+given pad @data.
+This function should be called with @pads LOCK held, such as
+in the callback.
+memory pointed to by @bytes. This can be less than @size and
+is 0 if the pad is end-of-stream.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of bytes available for consumption in the</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="bytes"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a byte array</doc>
+ <array length="2" c:type="guint8**">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">the number of bytes to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_buffer"
+ c:identifier="gst_collect_pads_read_buffer"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Get a buffer of @size bytes from the given pad @data.
+This function should be called with @pads LOCK held, such as in the callback.
+that requested. A return of NULL signals that the pad is end-of-stream.
+Unref the buffer with gst_buffer_unref() after use.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer. The size of the buffer can be less</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_pad" c:identifier="gst_collect_pads_remove_pad">
+ <doc xml:whitespace="preserve">Remove a pad from the collection of collect pads. This function will also
+free the #GstCollectData and all the resources that were allocated with
+gst_collect_pads_add_pad().
+The pad will be deactivated automatically when @pads is stopped.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the pad could be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pad to remove</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clip_function"
+ c:identifier="gst_collect_pads_set_clip_function"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Install a clipping function that is called right after a buffer is received
+on a pad managed by @pads. See #GstCollectDataClipFunction for more info.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clipfunc" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">clip function to install</doc>
+ <type name="CollectPadsClipFunction"
+ c:type="GstCollectPadsClipFunction"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data to pass to @clip_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_collect_pads_set_flushing"
+ version="0.10.7.">
+ <doc xml:whitespace="preserve">Change the flushing state of all the pads in the collection. No pad
+is able to accept anymore data when @flushing is %TRUE. Calling this
+function with @flushing %FALSE makes @pads accept data again.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:whitespace="preserve">desired state of the pads</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_function"
+ c:identifier="gst_collect_pads_set_function"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the callback function and user data that will be called when
+all the pads added to the collection have buffers queued.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the function to set</doc>
+ <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_collect_pads_start">
+ <doc xml:whitespace="preserve">Starts the processing of data in the collect_pads.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="stop" c:identifier="gst_collect_pads_stop">
+ <doc xml:whitespace="preserve">Stops the processing of data in the collect_pads. this function
+will also unblock any blocking operations.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="take_buffer"
+ c:identifier="gst_collect_pads_take_buffer"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Get a buffer of @size bytes from the given pad @data. Flushes the amount
+of read bytes.
+This function should be called with @pads LOCK held, such as in the callback.
+that requested. A return of NULL signals that the pad is end-of-stream.
+Unref the buffer after use.
+MT safe.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a #GstBuffer. The size of the buffer can be less</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="data">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="cookie">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="func">
+ <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
+ </field>
+ <field name="user_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="numpads">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="queuedpads">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="eospads">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="started">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="pad_lock" writable="1">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="pad_list" writable="1">
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="pad_cookie" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="priv" writable="1">
+ <type name="CollectPadsPrivate" c:type="GstCollectPadsPrivate*"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <record name="CollectPadsClass"
+ c:type="GstCollectPadsClass"
+ glib:is-gtype-struct-for="CollectPads">
+ <field name="parent_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="CollectPadsClipFunction"
+ c:type="GstCollectPadsClipFunction"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">A function that will be called when @buffer is received on the pad managed
+by @data in the collecpad object @pads.
+The function should use the segment of @data and the negotiated media type on
+the pad to perform clipping of @buffer.
+This function takes ownership of @buffer.
+the buffer has been clipped completely.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBuffer that contains the clipped data of @buffer or NULL when</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCollectPads</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCollectData</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="3">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CollectPadsFunction" c:type="GstCollectPadsFunction">
+ <doc xml:whitespace="preserve">A function that will be called when all pads have received data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK for success</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCollectPads that triggered the callback</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">user data passed to gst_collect_pads_set_function()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="CollectPadsPrivate"
+ c:type="GstCollectPadsPrivate"
+ disguised="1">
+ </record>
+ <class name="DataQueue"
+ c:symbol-prefix="data_queue"
+ c:type="GstDataQueue"
+ version="0.10.11"
+ parent="GObject.Object"
+ glib:type-name="GstDataQueue"
+ glib:get-type="gst_data_queue_get_type"
+ glib:type-struct="DataQueueClass">
+ <doc xml:whitespace="preserve">Opaque #GstDataQueue structure.</doc>
+ <constructor name="new"
+ c:identifier="gst_data_queue_new"
+ introspectable="0">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="checkfull" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the callback used to tell if the element considers the queue full or not.</doc>
+ <type name="DataQueueCheckFullFunction"
+ c:type="GstDataQueueCheckFullFunction"/>
+ </parameter>
+ <parameter name="checkdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gpointer that will be given in the @checkfull callback.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_full"
+ c:identifier="gst_data_queue_new_full"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstDataQueue. The difference with @gst_data_queue_new is that it will
+not emit the 'full' and 'empty' signals, but instead calling directly @fullcallback
+or @emptycallback.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="checkfull" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the callback used to tell if the element considers the queue full or not.</doc>
+ <type name="DataQueueCheckFullFunction"
+ c:type="GstDataQueueCheckFullFunction"/>
+ </parameter>
+ <parameter name="fullcallback" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the callback which will be called when the queue is considered full.</doc>
+ <type name="DataQueueFullCallback"
+ c:type="GstDataQueueFullCallback"/>
+ </parameter>
+ <parameter name="emptycallback"
+ transfer-ownership="none"
+ closure="3">
+ <doc xml:whitespace="preserve">the callback which will be called when the queue is considered empty.</doc>
+ <type name="DataQueueEmptyCallback"
+ c:type="GstDataQueueEmptyCallback"/>
+ </parameter>
+ <parameter name="checkdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gpointer that will be given in the @checkfull callback.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="drop_head"
+ c:identifier="gst_data_queue_drop_head"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Pop and unref the head-most #GstMiniObject with the given #GType.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if an element was removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GType of the item to drop.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush"
+ c:identifier="gst_data_queue_flush"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Flushes all the contents of the @queue. Any call to #gst_data_queue_push and
+#gst_data_queue_pop will be released.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_level"
+ c:identifier="gst_data_queue_get_level"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the current level of the queue.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the location to store the result</doc>
+ <type name="DataQueueSize" c:type="GstDataQueueSize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_empty"
+ c:identifier="gst_data_queue_is_empty"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Queries if there are any items in the @queue.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if @queue is empty.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_full"
+ c:identifier="gst_data_queue_is_full"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Queries if @queue is full. This check will be done using the
+#GstDataQueueCheckFullFunction registered with @queue.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if @queue is full.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="limits_changed"
+ c:identifier="gst_data_queue_limits_changed"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Inform the queue that the limits for the fullness check have changed and that
+any blocking gst_data_queue_push() should be unblocked to recheck the limts.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="pop" c:identifier="gst_data_queue_pop" version="0.10.11">
+ <doc xml:whitespace="preserve">Retrieves the first @item available on the @queue. If the queue is currently
+empty, the call will block until at least one item is available, OR the
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if an @item was successfully retrieved from the @queue.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to store the returned #GstDataQueueItem.</doc>
+ <type name="DataQueueItem" c:type="GstDataQueueItem**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_data_queue_push" version="0.10.11">
+ <doc xml:whitespace="preserve">Pushes a #GstDataQueueItem (or a structure that begins with the same fields)
+on the @queue. If the @queue is full, the call will block until space is
+available, OR the @queue is set to flushing state.
+MT safe.
+Note that this function has slightly different semantics than gst_pad_push()
+the #GstMiniObject contained in @item if the push was successful. If FALSE
+is returned, the caller is responsible for freeing @item and its contents.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the @item was successfully pushed on the @queue.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstDataQueueItem.</doc>
+ <type name="DataQueueItem" c:type="GstDataQueueItem*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_data_queue_set_flushing"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Sets the queue to flushing state if @flushing is #TRUE. If set to flushing
+state, any incoming data on the @queue will be discarded. Any call currently
+blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight
+away with a return value of #FALSE. While the @queue is in flushing state,
+all calls to those two functions will return #FALSE.
+MT Safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gboolean stating if the queue will be flushing or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="current-level-bytes" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="current-level-time" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <property name="current-level-visible" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="queue">
+ <type name="GLib.Queue" c:type="GQueue*"/>
+ </field>
+ <field name="cur_level">
+ <type name="DataQueueSize" c:type="GstDataQueueSize"/>
+ </field>
+ <field name="checkfull">
+ <type name="DataQueueCheckFullFunction"
+ c:type="GstDataQueueCheckFullFunction"/>
+ </field>
+ <field name="checkdata">
+ <type name="gpointer" c:type="gpointer*"/>
+ </field>
+ <field name="qlock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="item_add">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="item_del">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="flushing">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="fullcallback">
+ <type name="DataQueueFullCallback" c:type="GstDataQueueFullCallback"/>
+ </field>
+ <field name="emptycallback">
+ <type name="DataQueueEmptyCallback"
+ c:type="GstDataQueueEmptyCallback"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="waiting_add" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="waiting_del" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <glib:signal name="empty">
+ <doc xml:whitespace="preserve">Reports that the queue became empty (empty).
+A queue is empty if the total amount of visible items inside it (num-visible, time,
+size) is lower than the boundary values which can be set through the GObject
+properties.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="full">
+ <doc xml:whitespace="preserve">Reports that the queue became full (full).
+A queue is full if the total amount of data inside it (num-visible, time,
+size) is higher than the boundary values which can be set through the GObject
+properties.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <callback name="DataQueueCheckFullFunction"
+ c:type="GstDataQueueCheckFullFunction"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">The prototype of the function used to inform the queue that it should be
+considered as full.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the queue should be considered full.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ <parameter name="visible" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of visible items currently in the queue.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The amount of bytes currently in the queue.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The accumulated duration of the items currently in the queue.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="checkdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #gpointer registered when the #GstDataQueue was created.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="DataQueueClass"
+ c:type="GstDataQueueClass"
+ glib:is-gtype-struct-for="DataQueue">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="empty">
+ <callback name="empty">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="full">
+ <callback name="full">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="DataQueueEmptyCallback" c:type="GstDataQueueEmptyCallback">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ <parameter name="checkdata" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="DataQueueFullCallback" c:type="GstDataQueueFullCallback">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ <parameter name="checkdata" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="DataQueueItem" c:type="GstDataQueueItem" version="0.10.11">
+ <doc xml:whitespace="preserve">Structure used by #GstDataQueue. You can supply a different structure, as
+long as the top of the structure is identical to this structure.</doc>
+ <field name="object" writable="1">
+ <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
+ </field>
+ <field name="size" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="duration" writable="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="visible" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="destroy" writable="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ </record>
+ <record name="DataQueueSize" c:type="GstDataQueueSize" version="0.10.11">
+ <doc xml:whitespace="preserve">Structure describing the size of a queue.</doc>
+ <field name="visible" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="bytes" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="time" writable="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ </record>
+ <class name="PushSrc"
+ c:symbol-prefix="push_src"
+ c:type="GstPushSrc"
+ parent="BaseSrc"
+ glib:type-name="GstPushSrc"
+ glib:get-type="gst_push_src_get_type"
+ glib:type-struct="PushSrcClass">
+ <doc xml:whitespace="preserve">The opaque #GstPushSrc data structure.</doc>
+ <virtual-method name="create">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="parent">
+ <type name="BaseSrc" c:type="GstBaseSrc"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PushSrcClass"
+ c:type="GstPushSrcClass"
+ glib:is-gtype-struct-for="PushSrc">
+ <field name="parent_class">
+ <type name="BaseSrcClass" c:type="GstBaseSrcClass"/>
+ </field>
+ <field name="create">
+ <callback name="create">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="TypeFindHelperGetRangeFunction"
+ c:type="GstTypeFindHelperGetRangeFunction">
+ <doc xml:whitespace="preserve">This function will be called by gst_type_find_helper_get_range() when
+typefinding functions request to peek at the data of a stream at certain
+offsets. If this function returns GST_FLOW_OK, the result buffer will be
+stored in @buffer. The contents of @buffer is invalid for any other
+return value.
+This function is supposed to behave exactly like a #GstPadGetRangeFunction.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">GST_FLOW_OK for success</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstObject that will handle the getrange request</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset of the range</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the range</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a memory location to hold the result buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function name="bit_reader_new"
+ c:identifier="gst_bit_reader_new"
+ version="0.10.22"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstBitReader instance, which will read from @data.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Data from which the #GstBitReader should read</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="bit_reader_new_from_buffer"
+ c:identifier="gst_bit_reader_new_from_buffer"
+ version="0.10.22"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstBitReader instance, which will read from the
+#GstBuffer @buffer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer from which the #GstBitReader should read</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="byte_reader_new"
+ c:identifier="gst_byte_reader_new"
+ version="0.10.22"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstByteReader instance, which will read from @data.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data from which the #GstByteReader should read</doc>
+ <array length="1" c:type="guint8*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="byte_reader_new_from_buffer"
+ c:identifier="gst_byte_reader_new_from_buffer"
+ version="0.10.22"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstByteReader instance, which will read from the
+#GstBuffer @buffer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer from which the #GstByteReader should read</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="byte_writer_new"
+ c:identifier="gst_byte_writer_new"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new, empty #GstByteWriter instance</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new, empty #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ </function>
+ <function name="byte_writer_new_with_buffer"
+ c:identifier="gst_byte_writer_new_with_buffer"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstByteWriter instance with the given
+buffer. If @initialized is %TRUE it is possible to
+read the complete buffer from the #GstByteWriter from the beginning.
+<note>@buffer must be writable</note></doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer used for writing</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:whitespace="preserve">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="byte_writer_new_with_data"
+ c:identifier="gst_byte_writer_new_with_data"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstByteWriter instance with the given
+memory area. If @initialized is %TRUE it is possible to
+read @size bytes from the #GstByteWriter from the beginning.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Memory area for writing</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:whitespace="preserve">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="byte_writer_new_with_size"
+ c:identifier="gst_byte_writer_new_with_size"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstByteWriter instance with the given
+initial data size.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Initial size of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper" c:identifier="gst_type_find_helper">
+ <doc xml:whitespace="preserve">Tries to find what type of data is flowing from the given source #GstPad.
+Returns #NULL if no #GstCaps matches the data stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps corresponding to the data stream.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A source #GstPad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length in bytes</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_buffer"
+ c:identifier="gst_type_find_helper_for_buffer">
+ <doc xml:whitespace="preserve">Tries to find what type of data is contained in the given #GstBuffer, the
+assumption being that the buffer represents the beginning of the stream or
+file.
+All available typefinders will be called on the data in order of rank. If
+a typefinding function returns a probability of #GST_TYPE_FIND_MAXIMUM,
+typefinding is stopped immediately and the found caps will be returned
+right away. Otherwise, all available typefind functions will the tried,
+and the caps with the highest probability will be returned, or #NULL if
+the content of the buffer could not be identified.
+if no type could be found. The caller should free the caps returned
+with gst_caps_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps corresponding to the data, or #NULL</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">object doing the typefinding, or NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer with data to typefind</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location to store the probability of the found caps, or #NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_extension"
+ c:identifier="gst_type_find_helper_for_extension"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Tries to find the best #GstCaps associated with @extension.
+All available typefinders will be checked against the extension in order
+of rank. The caps of the first typefinder that can handle @extension will be
+returned.
+#NULL if no type could be found. The caller should free the caps
+returned with gst_caps_unref().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps corresponding to @extension, or</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">object doing the typefinding, or NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="extension" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an extension</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_get_range"
+ c:identifier="gst_type_find_helper_get_range">
+ <doc xml:whitespace="preserve">Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
+however, this function will use the specified function @func to obtain the
+data needed by the typefind functions, rather than operating on a given
+source pad. This is useful mostly for elements like tag demuxers which
+strip off data at the beginning and/or end of a file and want to typefind
+the stripped data stream before adding their own source pad (the specified
+callback can then call the upstream peer pad with offsets adjusted for the
+tag size, for example).
+Returns #NULL if no #GstCaps matches the data stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps corresponding to the data stream.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstObject that will be passed as first argument to @func</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="call">
+ <doc xml:whitespace="preserve">A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding</doc>
+ <type name="TypeFindHelperGetRangeFunction"
+ c:type="GstTypeFindHelperGetRangeFunction"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length in bytes</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location to store the probability of the found caps, or #NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_get_range_ext"
+ c:identifier="gst_type_find_helper_get_range_ext"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
+however, this function will use the specified function @func to obtain the
+data needed by the typefind functions, rather than operating on a given
+source pad. This is useful mostly for elements like tag demuxers which
+strip off data at the beginning and/or end of a file and want to typefind
+the stripped data stream before adding their own source pad (the specified
+callback can then call the upstream peer pad with offsets adjusted for the
+tag size, for example).
+When @extension is not NULL, this function will first try the typefind
+functions for the given extension, which might speed up the typefinding
+in many cases.
+Returns #NULL if no #GstCaps matches the data stream.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps corresponding to the data stream.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstObject that will be passed as first argument to @func</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="call">
+ <doc xml:whitespace="preserve">A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding</doc>
+ <type name="TypeFindHelperGetRangeFunction"
+ c:type="GstTypeFindHelperGetRangeFunction"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length in bytes</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="extension" transfer-ownership="none">
+ <doc xml:whitespace="preserve">extension of the media</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">location to store the probability of the found caps, or #NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.base.ffi ;
+IN: gstreamer.base
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries alien.syntax combinators
+gobject-introspection kernel system vocabs.loader ;
+IN: gstreamer.base.ffi
+
+<<
+"gstreamer.ffi" require
+>>
+
+LIBRARY: gstreamer.base
+
+<<
+"gstreamer.base" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstbase-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/base/GstBase-0.10.gir
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-controller-0.10"/>
+ <c:include name="gst/controller/gstcontroller.h"/>
+ <c:include name="gst/controller/gstcontrolsource.h"/>
+ <c:include name="gst/controller/gstinterpolationcontrolsource.h"/>
+ <c:include name="gst/controller/gstlfocontrolsource.h"/>
+ <namespace name="GstController"
+ version="0.10"
+ shared-library="libgstreamer-0.10.so.0,libgstcontroller-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <class name="ControlSource"
+ c:symbol-prefix="control_source"
+ c:type="GstControlSource"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GstControlSource"
+ glib:get-type="gst_control_source_get_type"
+ glib:type-struct="ControlSourceClass">
+ <doc xml:whitespace="preserve">The instance structure of #GstControlSource.</doc>
+ <method name="bind" c:identifier="gst_control_source_bind">
+ <doc xml:whitespace="preserve">Binds a #GstControlSource to a specific property. This must be called only once for a
+#GstControlSource.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the #GstControlSource was bound correctly, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GParamSpec for the property for which this #GstControlSource should generate values.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gst_control_source_get_value">
+ <doc xml:whitespace="preserve">Gets the value for this #GstControlSource at a given timestamp.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if the value couldn't be returned, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time for which the value should be returned</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_array"
+ c:identifier="gst_control_source_get_value_array">
+ <doc xml:whitespace="preserve">Gets an array of values for one element property.
+All fields of @value_array must be filled correctly. Especially the
+of values.
+The type of the values in the array is the same as the property's type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value_array" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array to put control-values in</doc>
+ <type name="ValueArray" c:type="GstValueArray*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="get_value">
+ <type name="ControlSourceGetValue" c:type="GstControlSourceGetValue"/>
+ </field>
+ <field name="get_value_array">
+ <type name="ControlSourceGetValueArray"
+ c:type="GstControlSourceGetValueArray"/>
+ </field>
+ <field name="bound">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <callback name="ControlSourceBind" c:type="GstControlSourceBind">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ControlSourceClass"
+ c:type="GstControlSourceClass"
+ glib:is-gtype-struct-for="ControlSource">
+ <doc xml:whitespace="preserve">The class structure of #GstControlSource.</doc>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="bind">
+ <type name="ControlSourceBind" c:type="GstControlSourceBind"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="ControlSourceGetValue" c:type="GstControlSourceGetValue">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ControlSourceGetValueArray"
+ c:type="GstControlSourceGetValueArray">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value_array" transfer-ownership="none">
+ <type name="ValueArray" c:type="GstValueArray*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="Controller"
+ c:symbol-prefix="controller"
+ c:type="GstController"
+ parent="GObject.Object"
+ glib:type-name="GstController"
+ glib:get-type="gst_controller_get_type"
+ glib:type-struct="ControllerClass">
+ <doc xml:whitespace="preserve">The instance structure of GstController</doc>
+ <constructor name="new"
+ c:identifier="gst_controller_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new GstController for the given object's properties</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new controller.</doc>
+ <type name="Controller" c:type="GstController*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object of which some properties should be controlled</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_list" c:identifier="gst_controller_new_list">
+ <doc xml:whitespace="preserve">Creates a new GstController for the given object's properties</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new controller.</doc>
+ <type name="Controller" c:type="GstController*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object of which some properties should be controlled</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list of property names that should be controlled</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_valist"
+ c:identifier="gst_controller_new_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new GstController for the given object's properties</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new controller.</doc>
+ <type name="Controller" c:type="GstController*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object of which some properties should be controlled</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%NULL terminated list of property names that should be controlled</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="init" c:identifier="gst_controller_init">
+ <doc xml:whitespace="preserve">Initializes the use of the controller library. Suggested to be called right
+after gst_init().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the %TRUE for success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to the commandline argument count</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to the commandline argument values</doc>
+ <type name="utf8" c:type="char***"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get" c:identifier="gst_controller_get">
+ <doc xml:whitespace="preserve">Gets the value for the given controller-handled property at the requested
+time.
+property isn't handled by the controller</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the GValue of the property at the given time, or %NULL if the</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time the control-change should be read from</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all"
+ c:identifier="gst_controller_get_all"
+ deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
+ <doc xml:whitespace="preserve">Returns a read-only copy of the list of #GstTimedValue for the given property.
+Free the list after done with it.
+<note><para>This doesn't modify the controlled GObject property!</para></note>
+directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a copy of the list, or %NULL if the property isn't handled by the controller</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to get the list for</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_control_source"
+ c:identifier="gst_controller_get_control_source"
+ version="0.10.14"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets the corresponding #GstControlSource for the property. This should be unreferenced
+again after use.
+controlled by this controller or no #GstControlSource was assigned yet.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the #GstControlSource for @property_name or NULL if the property is not</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property for which the #GstControlSource should be get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_array"
+ c:identifier="gst_controller_get_value_array">
+ <doc xml:whitespace="preserve">Function to be able to get an array of values for one element property.
+All fields of @value_array must be filled correctly. Especially the
+of values.
+The type of the values in the array is the same as the property's type.
+<note><para>This doesn't modify the controlled GObject property!</para></note></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value_array" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array to put control-values in</doc>
+ <type name="ValueArray" c:type="GstValueArray*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_arrays"
+ c:identifier="gst_controller_get_value_arrays">
+ <doc xml:whitespace="preserve">Function to be able to get an array of values for one or more given element
+properties.
+All fields of the %GstValueArray in the list must be filled correctly.
+Especially the GstValueArray->values arrays must be big enough to keep
+the requested amount of values.
+The types of the values in the array are the same as the property's type.
+<note><para>This doesn't modify the controlled GObject properties!</para></note></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the given array(s) could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value_arrays" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list to return the control-values in</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_properties"
+ c:identifier="gst_controller_remove_properties"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Removes the given object properties from the controller</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if one of the given property isn't handled by the controller, %TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_properties_list"
+ c:identifier="gst_controller_remove_properties_list">
+ <doc xml:whitespace="preserve">Removes the given object properties from the controller</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if one of the given property isn't handled by the controller, %TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GList of property names that should be removed</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_properties_valist"
+ c:identifier="gst_controller_remove_properties_valist"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Removes the given object properties from the controller</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if one of the given property isn't handled by the controller, %TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%NULL terminated list of property names that should be removed</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set"
+ c:identifier="gst_controller_set"
+ deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
+ <doc xml:whitespace="preserve">Set the value of given controller-handled property at a certain time.
+directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if the values couldn't be set (ex : properties not handled by controller), TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time the control-change is schedules for</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the control-value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_control_source"
+ c:identifier="gst_controller_set_control_source"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Sets the #GstControlSource for @property_name. If there already was a #GstControlSource
+for this property it will be unreferenced.
+couldn't be bound to the property, %TRUE if everything worked as expected.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the given property isn't handled by the controller or the new #GstControlSource</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property for which the #GstControlSource should be set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="csource" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstControlSource that should be used for the property</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_disabled"
+ c:identifier="gst_controller_set_disabled"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">This function is used to disable all properties of the #GstController
+for some time, i.e. gst_controller_sync_values() will do nothing.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="disabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean that specifies whether to disable the controller or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_from_list"
+ c:identifier="gst_controller_set_from_list"
+ deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
+ <doc xml:whitespace="preserve">Sets multiple timed values at once.
+directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the values couldn't be set (ex : properties not handled by controller), %TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="timedvalues" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list with #GstTimedValue items</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_interpolation_mode"
+ c:identifier="gst_controller_set_interpolation_mode"
+ deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
+ <doc xml:whitespace="preserve">Sets the given interpolation mode on the given property.
+<note><para>User interpolation is not yet available and quadratic interpolation
+is deprecated and maps to cubic interpolation.</para></note>
+directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the property is handled by the controller, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property for which to change the interpolation</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">interpolation mode</doc>
+ <type name="InterpolateMode" c:type="GstInterpolateMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_property_disabled"
+ c:identifier="gst_controller_set_property_disabled"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">This function is used to disable the #GstController on a property for
+some time, i.e. gst_controller_sync_values() will do nothing for the
+property.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">property to disable</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="disabled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean that specifies whether to disable the controller or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest_next_sync"
+ c:identifier="gst_controller_suggest_next_sync"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Returns a suggestion for timestamps where buffers should be split
+to get best controller results.
+if no control-rate was set.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Returns the suggested timestamp or %GST_CLOCK_TIME_NONE</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="sync_values" c:identifier="gst_controller_sync_values">
+ <doc xml:whitespace="preserve">Sets the properties of the element, according to the controller that (maybe)
+handles them and for the given timestamp.
+If this function fails, it is most likely the application developers fault.
+Most probably the control sources are not setup correctly.
+properties, %FALSE otherwise</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the controller values could be applied to the object</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset"
+ c:identifier="gst_controller_unset"
+ deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
+ <doc xml:whitespace="preserve">Used to remove the value of given controller-handled property at a certain
+time.
+directly.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the values couldn't be unset (ex : properties not handled by controller), %TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to unset</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time the control-change should be removed from</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset_all"
+ c:identifier="gst_controller_unset_all"
+ version="0.10.5"
+ deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
+ <doc xml:whitespace="preserve">Used to remove all time-stamped values of given controller-handled property
+directly.
+by controller), %TRUE otherwise</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the values couldn't be unset (ex : properties not handled</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to unset</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="control-rate" writable="1" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="properties">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="lock">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="object">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </field>
+ <field name="priv">
+ <type name="ControllerPrivate" c:type="GstControllerPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ControllerClass"
+ c:type="GstControllerClass"
+ glib:is-gtype-struct-for="Controller">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ControllerPrivate"
+ c:type="GstControllerPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="InterpolateMode" c:type="GstInterpolateMode">
+ <doc xml:whitespace="preserve">The various interpolation modes available.</doc>
+ <member name="none" value="0" c:identifier="GST_INTERPOLATE_NONE"/>
+ <member name="trigger" value="1" c:identifier="GST_INTERPOLATE_TRIGGER"/>
+ <member name="linear" value="2" c:identifier="GST_INTERPOLATE_LINEAR"/>
+ <member name="quadratic"
+ value="3"
+ c:identifier="GST_INTERPOLATE_QUADRATIC"/>
+ <member name="cubic" value="4" c:identifier="GST_INTERPOLATE_CUBIC"/>
+ <member name="user" value="5" c:identifier="GST_INTERPOLATE_USER"/>
+ </enumeration>
+ <class name="InterpolationControlSource"
+ c:symbol-prefix="interpolation_control_source"
+ c:type="GstInterpolationControlSource"
+ parent="ControlSource"
+ glib:type-name="GstInterpolationControlSource"
+ glib:get-type="gst_interpolation_control_source_get_type"
+ glib:type-struct="InterpolationControlSourceClass">
+ <doc xml:whitespace="preserve">The instance structure of #GstControlSource.</doc>
+ <constructor name="new"
+ c:identifier="gst_interpolation_control_source_new">
+ <doc xml:whitespace="preserve">This returns a new, unbound #GstInterpolationControlSource.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new, unbound #GstInterpolationControlSource.</doc>
+ <type name="InterpolationControlSource"
+ c:type="GstInterpolationControlSource*"/>
+ </return-value>
+ </constructor>
+ <method name="get_all"
+ c:identifier="gst_interpolation_control_source_get_all"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Returns a read-only copy of the list of #GstTimedValue for the given property.
+Free the list after done with it.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a copy of the list, or %NULL if the property isn't handled by the controller</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_count"
+ c:identifier="gst_interpolation_control_source_get_count">
+ <doc xml:whitespace="preserve">Returns the number of control points that are set.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of control points that are set.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="set" c:identifier="gst_interpolation_control_source_set">
+ <doc xml:whitespace="preserve">Set the value of given controller-handled property at a certain time.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time the control-change is scheduled for</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the control-value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_from_list"
+ c:identifier="gst_interpolation_control_source_set_from_list">
+ <doc xml:whitespace="preserve">Sets multiple timed values at once.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedvalues" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a list with #GstTimedValue items</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_interpolation_mode"
+ c:identifier="gst_interpolation_control_source_set_interpolation_mode">
+ <doc xml:whitespace="preserve">Sets the given interpolation mode.
+<note><para>User interpolation is not yet available and quadratic interpolation
+is deprecated and maps to cubic interpolation.</para></note></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the interpolation mode could be set, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:whitespace="preserve">interpolation mode</doc>
+ <type name="InterpolateMode" c:type="GstInterpolateMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset"
+ c:identifier="gst_interpolation_control_source_unset">
+ <doc xml:whitespace="preserve">Used to remove the value of given controller-handled property at a certain
+time.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time the control-change should be removed from</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset_all"
+ c:identifier="gst_interpolation_control_source_unset_all">
+ <doc xml:whitespace="preserve">Used to remove all time-stamped values of given controller-handled property</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <field name="parent">
+ <type name="ControlSource" c:type="GstControlSource"/>
+ </field>
+ <field name="lock" readable="0" private="1">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="InterpolationControlSourcePrivate"
+ c:type="GstInterpolationControlSourcePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="InterpolationControlSourceClass"
+ c:type="GstInterpolationControlSourceClass"
+ glib:is-gtype-struct-for="InterpolationControlSource">
+ <field name="parent_class">
+ <type name="ControlSourceClass" c:type="GstControlSourceClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="InterpolationControlSourcePrivate"
+ c:type="GstInterpolationControlSourcePrivate"
+ disguised="1">
+ </record>
+ <class name="LFOControlSource"
+ c:symbol-prefix="lfo_control_source"
+ c:type="GstLFOControlSource"
+ parent="ControlSource"
+ glib:type-name="GstLFOControlSource"
+ glib:get-type="gst_lfo_control_source_get_type"
+ glib:type-struct="LFOControlSourceClass">
+ <doc xml:whitespace="preserve">The instance structure of #GstControlSource.</doc>
+ <constructor name="new" c:identifier="gst_lfo_control_source_new">
+ <doc xml:whitespace="preserve">This returns a new, unbound #GstLFOControlSource.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new, unbound #GstLFOControlSource.</doc>
+ <type name="LFOControlSource" c:type="GstLFOControlSource*"/>
+ </return-value>
+ </constructor>
+ <property name="amplitude" writable="1" transfer-ownership="none">
+ <type name="GObject.Value"/>
+ </property>
+ <property name="frequency" writable="1" transfer-ownership="none">
+ <type name="gdouble"/>
+ </property>
+ <property name="offset" writable="1" transfer-ownership="none">
+ <type name="GObject.Value"/>
+ </property>
+ <property name="timeshift" writable="1" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <property name="waveform" writable="1" transfer-ownership="none">
+ <type name="LFOWaveform"/>
+ </property>
+ <field name="parent">
+ <type name="ControlSource" c:type="GstControlSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="LFOControlSourcePrivate"
+ c:type="GstLFOControlSourcePrivate*"/>
+ </field>
+ <field name="lock" readable="0" private="1">
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="LFOControlSourceClass"
+ c:type="GstLFOControlSourceClass"
+ glib:is-gtype-struct-for="LFOControlSource">
+ <field name="parent_class">
+ <type name="ControlSourceClass" c:type="GstControlSourceClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="LFOControlSourcePrivate"
+ c:type="GstLFOControlSourcePrivate"
+ disguised="1">
+ </record>
+ <enumeration name="LFOWaveform"
+ glib:type-name="GstLFOWaveform"
+ glib:get-type="gst_lfo_waveform_get_type"
+ c:type="GstLFOWaveform">
+ <doc xml:whitespace="preserve">The various waveform modes available.</doc>
+ <member name="sine"
+ value="0"
+ c:identifier="GST_LFO_WAVEFORM_SINE"
+ glib:nick="sine"/>
+ <member name="square"
+ value="1"
+ c:identifier="GST_LFO_WAVEFORM_SQUARE"
+ glib:nick="square"/>
+ <member name="saw"
+ value="2"
+ c:identifier="GST_LFO_WAVEFORM_SAW"
+ glib:nick="saw"/>
+ <member name="reverse_saw"
+ value="3"
+ c:identifier="GST_LFO_WAVEFORM_REVERSE_SAW"
+ glib:nick="reverse-saw"/>
+ <member name="triangle"
+ value="4"
+ c:identifier="GST_LFO_WAVEFORM_TRIANGLE"
+ glib:nick="triangle"/>
+ </enumeration>
+ <record name="TimedValue" c:type="GstTimedValue">
+ <doc xml:whitespace="preserve">Structure for saving a timestamp and a value.</doc>
+ <field name="timestamp" writable="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="value" writable="1">
+ <type name="GObject.Value" c:type="GValue"/>
+ </field>
+ </record>
+ <record name="ValueArray" c:type="GstValueArray">
+ <doc xml:whitespace="preserve">Structure to receive multiple values at once.</doc>
+ <field name="property_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="nbsamples" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="sample_interval" writable="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="values" writable="1">
+ <type name="gpointer" c:type="gpointer*"/>
+ </field>
+ </record>
+ <function name="object_control_properties"
+ c:identifier="gst_object_control_properties"
+ version="0.9"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Convenience function for GObject
+Creates a GstController that allows you to dynamically control one, or more, GObject properties.
+If the given GObject already has a GstController, it adds the given properties to the existing
+controller and returns that controller.
+one or more of the given properties aren't available, or cannot be controlled, for the given element.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The GstController with which the user can control the given properties dynamically or NULL if</doc>
+ <type name="Controller" c:type="GstController*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object of which some properties should be controlled</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_get_control_rate"
+ c:identifier="gst_object_get_control_rate"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Obtain the control-rate for this @object. Audio processing #GstElement
+objects will use this rate to sub-divide their processing loop and call
+gst_object_sync_values() inbetween. The length of the processing segment
+should be up to @control-rate nanoseconds.
+If the @object is not under property control, this will return
+%GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing.
+The control-rate is not expected to change if the element is in
+%GST_STATE_PAUSED or %GST_STATE_PLAYING.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the control rate in nanoseconds</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_get_control_source"
+ c:identifier="gst_object_get_control_source"
+ version="0.10.14"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets the corresponding #GstControlSource for the property. This should be unreferenced
+again after use.
+controlled by this controller or no #GstControlSource was assigned yet.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the #GstControlSource for @property_name or NULL if the property is not</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property for which the #GstControlSource should be get</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_get_controller"
+ c:identifier="gst_object_get_controller"
+ version="0.9"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets the controller for the given GObject</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the controller handling some of the given element's properties, %NULL if no controller</doc>
+ <type name="Controller" c:type="GstController*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_get_value_array"
+ c:identifier="gst_object_get_value_array"
+ version="0.9">
+ <doc xml:whitespace="preserve">Function to be able to get an array of values for one element properties
+If the GstValueArray->values array is NULL, it will be created by the function.
+The type of the values in the array are the same as the property's type.
+The g_object_* functions are just convenience functions for GObject</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the given array(s) could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value_array" transfer-ownership="none">
+ <doc xml:whitespace="preserve">array to put control-values in</doc>
+ <type name="ValueArray" c:type="GstValueArray*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_get_value_arrays"
+ c:identifier="gst_object_get_value_arrays"
+ version="0.9">
+ <doc xml:whitespace="preserve">Function to be able to get an array of values for one or more given element
+properties.
+If the GstValueArray->values array in list nodes is NULL, it will be created
+by the function.
+The type of the values in the array are the same as the property's type.
+The g_object_* functions are just convenience functions for GObject</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the given array(s) could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value_arrays" transfer-ownership="none">
+ <doc xml:whitespace="preserve">list to return the control-values in</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_set_control_rate"
+ c:identifier="gst_object_set_control_rate"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Change the control-rate for this @object. Audio processing #GstElement
+objects will use this rate to sub-divide their processing loop and call
+gst_object_sync_values() inbetween. The length of the processing segment
+should be up to @control-rate nanoseconds.
+The control-rate should not change if the element is in %GST_STATE_PAUSED or
+%GST_STATE_PLAYING.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="control_rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new control-rate in nanoseconds.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_set_control_source"
+ c:identifier="gst_object_set_control_source"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Sets the #GstControlSource for @property_name. If there already was a #GstControlSource
+for this property it will be unreferenced.
+couldn't be bound to the property, %TRUE if everything worked as expected.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the given property isn't handled by the controller or the new #GstControlSource</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the controller object</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property for which the #GstControlSource should be set</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="csource" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstControlSource that should be used for the property</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_set_controller"
+ c:identifier="gst_object_set_controller"
+ version="0.9">
+ <doc xml:whitespace="preserve">Sets the controller on the given GObject</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if the GObject already has an controller, %TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that should get the controller</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="controller" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the controller object to plug in</doc>
+ <type name="Controller" c:type="GstController*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_suggest_next_sync"
+ c:identifier="gst_object_suggest_next_sync"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Convenience function for GObject</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">same thing as gst_controller_suggest_next_sync()</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_sync_values"
+ c:identifier="gst_object_sync_values"
+ version="0.9">
+ <doc xml:whitespace="preserve">Convenience function for GObject</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">same thing as gst_controller_sync_values()</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object that has controlled properties</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time that should be processed</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="object_uncontrol_properties"
+ c:identifier="gst_object_uncontrol_properties"
+ version="0.9"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Convenience function for GObject
+Removes the given element's properties from it's controller
+controller, %TRUE otherwise</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if one of the given property names isn't handled by the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the object of which some properties should not be controlled anymore</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.controller.ffi ;
+IN: gstreamer.controller
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries alien.syntax combinators
+gobject-introspection kernel system vocabs.loader ;
+IN: gstreamer.controller.ffi
+
+<<
+"gstreamer.ffi" require
+>>
+
+LIBRARY: gstreamer.controller
+
+<<
+"gstreamer.controller" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstcontroller-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/controller/GstController-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.c-types alien.libraries alien.syntax combinators
+gobject-introspection kernel system vocabs.loader ;
+IN: gstreamer.ffi
+
+<<
+"glib.ffi" require
+"gobject.ffi" require
+"gmodule.ffi" require
+>>
+
+LIBRARY: gstreamer
+
+<<
+"gstreamer" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+<PRIVATE
+
+! types from libxml2
+
+TYPEDEF: void* xmlNodePtr
+TYPEDEF: void* xmlDocPtr
+TYPEDEF: void* xmlNsPtr
+
+FOREIGN-ATOMIC-TYPE: libxml2.NodePtr xmlNodePtr
+FOREIGN-ATOMIC-TYPE: libxml2.DocPtr xmlDocPtr
+FOREIGN-ATOMIC-TYPE: libxml2.NsPtr xmlNsPtr
+
+PRIVATE>
+
+GIR: vocab:gstreamer/Gst-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.ffi ;
+IN: gstreamer
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-net-0.10"/>
+ <c:include name="gst/net/gstnet.h"/>
+ <namespace name="GstNet"
+ version="0.10"
+ shared-library="libgstreamer-0.10.so.0,libgstnet-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <constant name="NET_TIME_PACKET_SIZE" value="16">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="NetClientClock"
+ c:symbol-prefix="net_client_clock"
+ c:type="GstNetClientClock"
+ parent="Gst.SystemClock"
+ glib:type-name="GstNetClientClock"
+ glib:get-type="gst_net_client_clock_get_type"
+ glib:type-struct="NetClientClockClass">
+ <doc xml:whitespace="preserve">Opaque #GstNetClientClock structure.</doc>
+ <constructor name="new" c:identifier="gst_net_client_clock_new">
+ <doc xml:whitespace="preserve">Create a new #GstNetClientClock that will report the time
+provided by the #GstNetTimeProvider on @remote_address and
+clock.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstClock that receives a time from the remote</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a name for the clock</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="remote_address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the address of the remote clock provider</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="remote_port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the port of the remote clock provider</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">initial time of the clock</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="address" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="port" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="clock">
+ <type name="Gst.SystemClock" c:type="GstSystemClock"/>
+ </field>
+ <field name="address">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="port">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="sock">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="control_sock">
+ <array zero-terminated="0" c:type="gint" fixed-size="2">
+ <type name="gint" c:type="int"/>
+ </array>
+ </field>
+ <field name="current_timeout">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="servaddr">
+ <type name="gpointer" c:type="gpointer*"/>
+ </field>
+ <field name="thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="priv">
+ <type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="NetClientClockClass"
+ c:type="GstNetClientClockClass"
+ glib:is-gtype-struct-for="NetClientClock">
+ <field name="parent_class">
+ <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="NetClientClockPrivate"
+ c:type="GstNetClientClockPrivate"
+ disguised="1">
+ </record>
+ <record name="NetTimePacket" c:type="GstNetTimePacket">
+ <doc xml:whitespace="preserve">Content of a #GstNetTimePacket.</doc>
+ <field name="local_time" writable="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="remote_time" writable="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <method name="send" c:identifier="gst_net_time_packet_send">
+ <doc xml:whitespace="preserve">Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around
+sendto(2) and gst_net_time_packet_serialize().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The return value of sendto(2).</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor created by socket(2)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a sockaddr to hold the address of the sender</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data pointed to by @addr</doc>
+ <type name="gint32" c:type="socklen_t"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="serialize" c:identifier="gst_net_time_packet_serialize">
+ <doc xml:whitespace="preserve">Serialized a #GstNetTimePacket into a newly-allocated sequence of
+#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is
+suitable for passing to write(2) or sendto(2) for communication over the
+network.
+MT safe. Caller owns return value (g_free to free).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ </method>
+ </record>
+ <class name="NetTimeProvider"
+ c:symbol-prefix="net_time_provider"
+ c:type="GstNetTimeProvider"
+ parent="Gst.Object"
+ glib:type-name="GstNetTimeProvider"
+ glib:get-type="gst_net_time_provider_get_type"
+ glib:type-struct="NetTimeProviderClass">
+ <doc xml:whitespace="preserve">Opaque #GstNetTimeProvider structure.</doc>
+ <constructor name="new" c:identifier="gst_net_time_provider_new">
+ <doc xml:whitespace="preserve">Allows network clients to get the current time of @clock.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the new #GstNetTimeProvider, or NULL on error</doc>
+ <type name="NetTimeProvider" c:type="GstNetTimeProvider*"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClock to export over the network</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL to bind to all addresses</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a port to bind on, or 0 to let the kernel choose</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="active" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="address" writable="1" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="clock" writable="1" transfer-ownership="none">
+ <type name="Gst.Clock"/>
+ </property>
+ <property name="port" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="address">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="port">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="sock">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="control_sock">
+ <array zero-terminated="0" c:type="gint" fixed-size="2">
+ <type name="gint" c:type="int"/>
+ </array>
+ </field>
+ <field name="thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="clock">
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </field>
+ <union name="active" c:type="active">
+ <field name="_gst_reserved1" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="active" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </union>
+ <field name="priv">
+ <type name="NetTimeProviderPrivate"
+ c:type="GstNetTimeProviderPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="NetTimeProviderClass"
+ c:type="GstNetTimeProviderClass"
+ glib:is-gtype-struct-for="NetTimeProvider">
+ <field name="parent_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ </record>
+ <record name="NetTimeProviderPrivate"
+ c:type="GstNetTimeProviderPrivate"
+ disguised="1">
+ </record>
+ <function name="net_time_packet_new"
+ c:identifier="gst_net_time_packet_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstNetTimePacket from a buffer received over the network. The
+caller is responsible for ensuring that @buffer is at least
+#GST_NET_TIME_PACKET_SIZE bytes long.
+If @buffer is #NULL, the local and remote times will be set to
+#GST_CLOCK_TIME_NONE.
+MT safe. Caller owns return value (g_free to free).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new #GstNetTimePacket.</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a buffer from which to construct the packet, or NULL</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="net_time_packet_receive"
+ c:identifier="gst_net_time_packet_receive"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Receives a #GstNetTimePacket over a socket. Handles interrupted system calls,
+but otherwise returns NULL on error. See recvfrom(2) for more information on
+how to interpret @sockaddr.
+MT safe. Caller owns return value (g_free to free).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new #GstNetTimePacket.</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor created by socket(2)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a sockaddr to hold the address of the sender</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the size of the data pointed to by @addr</doc>
+ <type name="gint32" c:type="socklen_t*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries alien.syntax combinators
+gobject-introspection kernel system vocabs.loader ;
+IN: gstreamer.net.ffi
+
+<<
+"gstreamer.ffi" require
+>>
+
+LIBRARY: gstreamer.net
+
+<<
+"gstreamer.net" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstnet-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/net/GstNet-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.net.ffi ;
+IN: gstreamer.net
+
--- /dev/null
+GStreamer binding
--- /dev/null
+bindings
+audio
+video
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="libxml2" version="2.0"/>
- <package name="glib-2.0"/>
- <package name="gmodule-no-export-2.0"/>
- <package name="gobject-2.0"/>
- <package name="gthread-2.0"/>
- <package name="libxml-2.0"/>
- <c:include name="gst/gst.h"/>
- <namespace name="Gst"
- version="0.10"
- shared-library="libgstreamer-0.10.so.0"
- c:prefix="Gst">
- <alias name="ClockID" target="any" c:type="GstClockID"/>
- <alias name="ClockTime" target="uint64" c:type="GstClockTime"/>
- <alias name="ClockTimeDiff" target="int64" c:type="GstClockTimeDiff"/>
- <enumeration name="ActivateMode"
- doc="The status of a GstPad. After activating a pad, which usually happens when the
-parent element goes from READY to PAUSED, the GstActivateMode defines if the
-pad operates in push or pull mode."
- c:type="GstActivateMode">
- <member name="none" value="0" c:identifier="GST_ACTIVATE_NONE"/>
- <member name="push" value="1" c:identifier="GST_ACTIVATE_PUSH"/>
- <member name="pull" value="2" c:identifier="GST_ACTIVATE_PULL"/>
- </enumeration>
- <record name="AllocTrace"
- c:type="GstAllocTrace"
- doc="The main tracing object">
- <field name="name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="flags" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="live" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="mem_live" writable="1">
- <type name="GLib.SList" c:type="GSList*"/>
- </field>
- <method name="print"
- c:identifier="gst_alloc_trace_print"
- doc="Print the status of the given GstAllocTrace.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_flags"
- c:identifier="gst_alloc_trace_set_flags"
- doc="Enable the given features on the given GstAllocTrace object.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flags" transfer-ownership="none">
- <type name="AllocTraceFlags" c:type="GstAllocTraceFlags"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <bitfield name="AllocTraceFlags"
- doc="Flags indicating which tracing feature to enable."
- c:type="GstAllocTraceFlags">
- <member name="live" value="1" c:identifier="GST_ALLOC_TRACE_LIVE"/>
- <member name="mem_live"
- value="2"
- c:identifier="GST_ALLOC_TRACE_MEM_LIVE"/>
- </bitfield>
- <bitfield name="AssocFlags"
- doc="that marks a place where one can randomly seek to.
-is one that marks a place where one can relatively seek to.
-Flags for an association entry."
- c:type="GstAssocFlags">
- <member name="none" value="0" c:identifier="GST_ASSOCIATION_FLAG_NONE"/>
- <member name="key_unit"
- value="1"
- c:identifier="GST_ASSOCIATION_FLAG_KEY_UNIT"/>
- <member name="delta_unit"
- value="2"
- c:identifier="GST_ASSOCIATION_FLAG_DELTA_UNIT"/>
- <member name="last"
- value="256"
- c:identifier="GST_ASSOCIATION_FLAG_LAST"/>
- </bitfield>
- <constant name="BUFFER_COPY_ALL" value="0">
- <type name="int"/>
- </constant>
- <constant name="BUFFER_OFFSET_NONE" value="-1">
- <type name="int"/>
- </constant>
- <constant name="BUFFER_TRACE_NAME" value="GstBuffer">
- <type name="utf8"/>
- </constant>
- <class name="Bin"
- c:type="GstBin"
- doc="The GstBin base class. Subclasses can access these fields provided
-the LOCK is taken."
- parent="Element"
- glib:type-name="GstBin"
- glib:get-type="gst_bin_get_type"
- glib:type-struct="BinClass">
- <implements name="ChildProxy"/>
- <constructor name="new"
- c:identifier="gst_bin_new"
- doc="Creates a new bin with the given name.">
- <return-value transfer-ownership="full">
- <type name="Bin" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="add_element">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="remove_element">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="handle_message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="add"
- c:identifier="gst_bin_add"
- doc="Adds the given element to the bin. Sets the element's parent, and thus
-takes ownership of the element. An element can only be added to one bin.
-If the element's pads are linked to other pads, the pads will be unlinked
-before the element is added to the bin.
-MT safe.
-the bin does not want to accept the element.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove"
- c:identifier="gst_bin_remove"
- doc="Removes the element from the bin, unparenting it as well.
-Unparenting the element means that the element will be dereferenced,
-so if the bin holds the only reference to the element, the element
-will be freed in the process of removing it from the bin. If you
-want the element to still exist after removing, you need to call
-gst_object_ref() before removing it from the bin.
-If the element's pads are linked to other pads, the pads will be unlinked
-before the element is removed from the bin.
-MT safe.
-the bin does not want to remove the element.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_by_name"
- c:identifier="gst_bin_get_by_name"
- doc="Gets the element with the given name from a bin. This
-function recurses into child bins.
-Returns NULL if no element with the given name is found in the bin.
-MT safe. Caller owns returned reference.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_by_name_recurse_up"
- c:identifier="gst_bin_get_by_name_recurse_up"
- doc="Gets the element with the given name from this bin. If the
-element is not found, a recursion is performed on the parent bin.
-Returns NULL if:
-- no element with the given name is found in the bin
-MT safe. Caller owns returned reference.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_by_interface"
- c:identifier="gst_bin_get_by_interface"
- doc="Looks for an element inside the bin that implements the given
-interface. If such an element is found, it returns the element.
-You can cast this element to the given interface afterwards. If you want
-all elements that implement the interface, use
-gst_bin_iterate_all_by_interface(). This function recurses into child bins.
-MT safe. Caller owns returned reference.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="iface" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="iterate_elements"
- c:identifier="gst_bin_iterate_elements"
- doc="Gets an iterator for the elements in this bin.
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
-MT safe. Caller owns returned value.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_sorted"
- c:identifier="gst_bin_iterate_sorted"
- doc="Gets an iterator for the elements in this bin in topologically
-sorted order. This means that the elements are returned from
-the most downstream elements (sinks) to the sources.
-This function is used internally to perform the state changes
-of the bin elements and for clock selection.
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
-MT safe. Caller owns returned value.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_recurse"
- c:identifier="gst_bin_iterate_recurse"
- doc="Gets an iterator for the elements in this bin.
-This iterator recurses into GstBin children.
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
-MT safe. Caller owns returned value.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_sinks"
- c:identifier="gst_bin_iterate_sinks"
- doc="Gets an iterator for all elements in the bin that have the
-#GST_ELEMENT_IS_SINK flag set.
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
-MT safe. Caller owns returned value.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_sources"
- c:identifier="gst_bin_iterate_sources"
- doc="Gets an iterator for all elements in the bin that have no sinkpads and have
-the #GST_ELEMENT_IS_SINK flag unset.
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
-MT safe. Caller owns returned value.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_all_by_interface"
- c:identifier="gst_bin_iterate_all_by_interface"
- doc="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.
-Each element yielded by the iterator will have its refcount increased, so
-unref after use.
-MT safe. Caller owns returned value.
-implementing the given interface, or NULL">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- <parameters>
- <parameter name="iface" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="recalculate_latency"
- c:identifier="gst_bin_recalculate_latency"
- doc="Query @bin for the current latency using and reconfigures this latency to all the
-elements with a LATENCY event.
-This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY
-is posted on the bus.
-This function simply emits the 'do-latency' signal so any custom latency
-calculations will be performed."
- version="0.10.22.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="add_many"
- c:identifier="gst_bin_add_many"
- doc="Adds a NULL-terminated list of elements to a bin. This function is
-equivalent to calling gst_bin_add() for each member of the list. The return
-value of each gst_bin_add() is ignored.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element_1" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="remove_many"
- c:identifier="gst_bin_remove_many"
- doc="Remove a list of elements from a bin. This function is equivalent
-to calling gst_bin_remove() with each member of the list.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element_1" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="find_unlinked_pad"
- c:identifier="gst_bin_find_unlinked_pad"
- doc="Recursively looks for elements with an unlinked pad of the given
-direction within the specified bin and returns an unlinked pad
-if one is found, or NULL otherwise. If a pad is found, the caller
-owns a reference to it and should use gst_object_unref() on the
-pad when it is not needed any longer."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="direction" transfer-ownership="none">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </parameter>
- </parameters>
- </method>
- <method name="find_unconnected_pad"
- c:identifier="gst_bin_find_unconnected_pad"
- doc="Recursively looks for elements with an unlinked pad of the given
-direction within the specified bin and returns an unlinked pad
-if one is found, or NULL otherwise. If a pad is found, the caller
-owns a reference to it and should use gst_object_unref() on the
-pad when it is not needed any longer."
- version="0.10.3"
- deprecated="use gst_bin_find_unlinked_pad() instead.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="direction" transfer-ownership="none">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </parameter>
- </parameters>
- </method>
- <property name="async-handling" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <field name="element">
- <type name="Element" c:type="GstElement"/>
- </field>
- <field name="numchildren">
- <type name="int" c:type="gint"/>
- </field>
- <field name="children">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="children_cookie">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="child_bus">
- <type name="Bus" c:type="GstBus*"/>
- </field>
- <field name="messages">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="polling">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="state_dirty">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="clock_dirty">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="provided_clock">
- <type name="Clock" c:type="GstClock*"/>
- </field>
- <field name="clock_provider">
- <type name="Element" c:type="GstElement*"/>
- </field>
- <field name="priv">
- <type name="BinPrivate" c:type="GstBinPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="do-latency"
- doc="Will be emitted when the bin needs to perform latency calculations. This
-signal is only emited for toplevel bins or when async-handling is
-enabled.
-Only one signal handler is invoked. If no signals are connected, the
-default handler is invoked, which will query and distribute the lowest
-possible latency to all sinks.
-Connect to this signal if the default latency calculations are not
-sufficient, like when you need different latencies for different sinks in
-the same pipeline."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </glib:signal>
- <glib:signal name="element-added"
- doc="Will be emitted after the element was added to the bin.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="element-removed"
- doc="Will be emitted after the element was removed from the bin.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="BinClass"
- c:type="GstBinClass"
- glib:is-gtype-struct-for="Bin"
- doc="Subclasses can override the @add_element and @remove_element to
-update the list of children in the bin.
-The @handle_message method can be overridden to implement custom
-message handling. @handle_message takes ownership of the message, just like
-#gst_element_post_message.">
- <field name="parent_class">
- <type name="ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="pool">
- <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
- </field>
- <field name="element_added">
- <callback name="element_added" c:type="element_added">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bin" transfer-ownership="none">
- <type name="Bin" c:type="GstBin*"/>
- </parameter>
- <parameter name="child" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="element_removed">
- <callback name="element_removed" c:type="element_removed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bin" transfer-ownership="none">
- <type name="Bin" c:type="GstBin*"/>
- </parameter>
- <parameter name="child" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="add_element">
- <callback name="add_element" c:type="add_element">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="bin" transfer-ownership="none">
- <type name="Bin" c:type="GstBin*"/>
- </parameter>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="remove_element">
- <callback name="remove_element" c:type="remove_element">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="bin" transfer-ownership="none">
- <type name="Bin" c:type="GstBin*"/>
- </parameter>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="handle_message">
- <callback name="handle_message" c:type="handle_message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bin" transfer-ownership="none">
- <type name="Bin" c:type="GstBin*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="do_latency">
- <callback name="do_latency" c:type="do_latency">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="bin" transfer-ownership="none">
- <type name="Bin" c:type="GstBin*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="BinFlags"
- doc="Derived classes can use this as first value in a list of flags.
-GstBinFlags are a set of flags specific to bins. Most are set/used
-internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
-and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ()."
- c:type="GstBinFlags">
- <member name="bin_flag_last"
- value="33554432"
- c:identifier="GST_BIN_FLAG_LAST"/>
- </bitfield>
- <record name="BinPrivate" c:type="GstBinPrivate">
- </record>
- <record name="Buffer"
- c:type="GstBuffer"
- doc="timestamp is not known or relevant.
-when the duration is not known or relevant.
-For video frames, this is the frame number of this buffer.
-For audio samples, this is the offset of the first sample in this buffer.
-For file data or compressed data this is the byte offset of the first
-byte in this buffer.
-format as @offset.
-When the buffer is freed, this data will freed with @free_func.
-to g_free(). Since 0.10.22.
-The structure of a #GstBuffer. Use the associated macros to access the public
-variables.">
- <field name="mini_object" writable="1">
- <type name="MiniObject" c:type="GstMiniObject"/>
- </field>
- <field name="data" writable="1">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="size" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="timestamp" writable="1">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="duration" writable="1">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="caps" writable="1">
- <type name="Caps" c:type="GstCaps*"/>
- </field>
- <field name="offset" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="offset_end" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="malloc_data" writable="1">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="free_func" writable="1">
- <type name="GLib.FreeFunc" c:type="GFreeFunc"/>
- </field>
- <field name="parent" writable="1">
- <type name="Buffer" c:type="GstBuffer*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_buffer_new"
- doc="Creates a newly allocated buffer without any data.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- </constructor>
- <constructor name="new_and_alloc"
- c:identifier="gst_buffer_new_and_alloc"
- doc="Creates a newly allocated buffer with data of the given size.
-The buffer memory is not cleared. If the requested amount of
-memory can't be allocated, the program will abort. Use
-gst_buffer_try_new_and_alloc() if you want to handle this case
-gracefully or have gotten the size to allocate from an untrusted
-source such as a media stream.
-Note that when @size == 0, the buffer data pointer will be NULL.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy_metadata"
- c:identifier="gst_buffer_copy_metadata"
- doc="Copies the metadata from @src into @dest. The data, size and mallocdata
-fields are not copied.
-all the metadata fields.
-This function is typically called from a custom buffer copy function after
-creating @dest and setting the data, size, mallocdata."
- version="0.10.13">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_metadata_writable"
- c:identifier="gst_buffer_is_metadata_writable"
- doc="Similar to gst_buffer_is_writable, but this only ensures that the
-refcount of the buffer is 1, indicating that the caller is the sole
-owner and can change the buffer metadata, such as caps and timestamps.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="make_metadata_writable"
- c:identifier="gst_buffer_make_metadata_writable"
- doc="Similar to gst_buffer_make_writable, but does not ensure that the buffer
-data array is writable. Instead, this just ensures that the returned buffer
-is solely owned by the caller, by creating a subbuffer of the original
-buffer if necessary.
-After calling this function, @buf should not be referenced anymore. The
-result of this function has guaranteed writable metadata.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="get_caps"
- c:identifier="gst_buffer_get_caps"
- doc="Gets the media type of the buffer. This can be NULL if there
-is no media type attached to this buffer.
-Returns NULL if there were no caps on this buffer.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="set_caps"
- c:identifier="gst_buffer_set_caps"
- doc="Sets the media type on the buffer. The refcount of the caps will
-be increased and any previous caps on the buffer will be
-unreffed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="create_sub"
- c:identifier="gst_buffer_create_sub"
- doc="begins.
-Creates a sub-buffer from @parent at @offset and @size.
-This sub-buffer uses the actual memory space of the parent buffer.
-This function will copy the offset and timestamp fields when the
-offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and
-#GST_BUFFER_OFFSET_NONE.
-If @offset equals 0 and @size equals the total size of @buffer, the
-duration and offset end fields are also copied. If not they will be set
-to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE.
-MT safe.
-Returns NULL if the arguments were invalid.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_span_fast"
- c:identifier="gst_buffer_is_span_fast"
- doc="Determines whether a gst_buffer_span() can be done without copying
-the contents, that is, whether the data areas are contiguous sub-buffers of
-the same buffer.
-MT safe.
-FALSE if a copy would be required.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf2" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="span"
- c:identifier="gst_buffer_span"
- doc="buffer should start.
-Creates a new buffer that consists of part of buf1 and buf2.
-Logically, buf1 and buf2 are concatenated into a single larger
-buffer, and a new buffer is created at the given offset inside
-this space, with a given length.
-If the two source buffers are children of the same larger buffer,
-and are contiguous, the new buffer will be a child of the shared
-parent, and thus no copying is necessary. you can use
-gst_buffer_is_span_fast() to determine if a memcpy will be needed.
-MT safe.
-Returns NULL if the arguments are invalid.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="buf2" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="merge"
- c:identifier="gst_buffer_merge"
- doc="Create a new buffer that is the concatenation of the two source
-buffers. The original source buffers will not be modified or
-unref'd. Make sure you unref the source buffers if they are not used
-anymore afterwards.
-If the buffers point to contiguous areas of memory, the buffer
-is created without copying the data.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="buf2" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="join"
- c:identifier="gst_buffer_join"
- doc="Create a new buffer that is the concatenation of the two source
-buffers, and unrefs the original source buffers.
-If the buffers point to contiguous areas of memory, the buffer
-is created without copying the data.
-This is a convenience function for C programmers. See also
-gst_buffer_merge(), which does the same thing without
-unreffing the input parameters. Language bindings without
-explicit reference counting should not wrap this function.">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="buf2" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="stamp"
- c:identifier="gst_buffer_stamp"
- doc="Copies additional information (the timestamp, duration, and offset start
-and end) from one buffer to the other.
-This function does not copy any buffer flags or caps and is equivalent to
-gst_buffer_copy_metadata(@dest, @src, GST_BUFFER_COPY_TIMESTAMPS).
-control."
- deprecated="use gst_buffer_copy_metadata() instead, it provides more">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="BufferClass" c:type="GstBufferClass">
- <field name="mini_object_class" writable="1">
- <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
- </field>
- </record>
- <bitfield name="BufferCopyFlags"
- doc="offset and offset_end should be copied
-A set of flags that can be provided to the gst_buffer_copy_metadata()
-function to specify which metadata fields should be copied."
- version="0.10.13"
- c:type="GstBufferCopyFlags">
- <member name="flags" value="1" c:identifier="GST_BUFFER_COPY_FLAGS"/>
- <member name="timestamps"
- value="2"
- c:identifier="GST_BUFFER_COPY_TIMESTAMPS"/>
- <member name="caps" value="4" c:identifier="GST_BUFFER_COPY_CAPS"/>
- </bitfield>
- <bitfield name="BufferFlag"
- doc="the buffer should not be modified. The metadata might still be modified.
-displayed.
-This typically occurs after a seek or a dropped buffer from a live or
-network source.
-stream and contains media neutral data (elements can switch to optimized code
-path that ignores the buffer content).
-A set of buffer flags used to describe properties of a #GstBuffer."
- c:type="GstBufferFlag">
- <member name="readonly"
- value="1"
- c:identifier="GST_BUFFER_FLAG_READONLY"/>
- <member name="preroll"
- value="16"
- c:identifier="GST_BUFFER_FLAG_PREROLL"/>
- <member name="discont"
- value="32"
- c:identifier="GST_BUFFER_FLAG_DISCONT"/>
- <member name="in_caps"
- value="64"
- c:identifier="GST_BUFFER_FLAG_IN_CAPS"/>
- <member name="gap" value="128" c:identifier="GST_BUFFER_FLAG_GAP"/>
- <member name="delta_unit"
- value="256"
- c:identifier="GST_BUFFER_FLAG_DELTA_UNIT"/>
- <member name="media1" value="512" c:identifier="GST_BUFFER_FLAG_MEDIA1"/>
- <member name="media2"
- value="1024"
- c:identifier="GST_BUFFER_FLAG_MEDIA2"/>
- <member name="media3"
- value="2048"
- c:identifier="GST_BUFFER_FLAG_MEDIA3"/>
- <member name="last" value="4096" c:identifier="GST_BUFFER_FLAG_LAST"/>
- </bitfield>
- <record name="BufferList"
- c:type="GstBufferList"
- doc="Opaque list of grouped buffers."
- version="0.10.24">
- <constructor name="new"
- c:identifier="gst_buffer_list_new"
- doc="Creates a new, empty #GstBufferList. The caller is responsible for unreffing
-the returned #GstBufferList."
- version="0.10.24">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="BufferList" c:type="GstBufferList*"/>
- </return-value>
- </constructor>
- <method name="n_groups"
- c:identifier="gst_buffer_list_n_groups"
- doc="Returns the number of groups in @list."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="foreach"
- c:identifier="gst_buffer_list_foreach"
- doc="Call @func with @data for each buffer in @list.
-of @func define if this function returns or if the remaining buffers in a
-group should be skipped."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="BufferListFunc" c:type="GstBufferListFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get"
- c:identifier="gst_buffer_list_get"
- doc="Get the buffer at @idx in @group.
-Note that this function is not efficient for iterating over the entire list.
-Use an iterator or gst_buffer_list_foreach() instead.
-buffer remains valid as long as @list is valid."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="group" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="iterate"
- c:identifier="gst_buffer_list_iterate"
- doc="Iterate the buffers in @list. The owner of the iterator must also be the
-owner of a reference to @list while the returned iterator is in use.
-gst_buffer_list_iterator_free() after usage"
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="BufferListIterator" c:type="GstBufferListIterator*"/>
- </return-value>
- </method>
- </record>
- <record name="BufferListClass" c:type="GstBufferListClass">
- </record>
- <callback name="BufferListDoFunction"
- c:type="GstBufferListDoFunction"
- doc="A function for accessing the last buffer returned by
-gst_buffer_list_iterator_next(). The function can leave @buffer in the list,
-replace @buffer in the list or remove @buffer from the list, depending on
-the return value. If the function returns NULL, @buffer will be removed from
-the list, otherwise @buffer will be replaced with the returned buffer.
-The last buffer returned by gst_buffer_list_iterator_next() will be replaced
-with the buffer returned from the function. The function takes ownership of
-unreffed. If NULL is returned, the buffer will be removed from the list. The
-list must be writable.
-from the list"
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="BufferListFunc"
- c:type="GstBufferListFunc"
- doc="A function that will be called from gst_buffer_list_foreach(). The @buffer
-field will point to a the reference of the buffer at @idx in @group.
-When this function returns #GST_BUFFER_LIST_CONTINUE, the next buffer will be
-returned. When #GST_BUFFER_LIST_SKIP_GROUP is returned, all remaining buffers
-in the current group will be skipped and the first buffer of the next group
-is returned (if any). When GST_BUFFER_LIST_END is returned,
-gst_buffer_list_foreach() will return.
-When @buffer is set to NULL, the item will be removed from the bufferlist.
-When @buffer has been made writable, the new buffer reference can be assigned
-to @buffer. This function is responsible for unreffing the old buffer when
-removing or modifying."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="BufferListItem" c:type="GstBufferListItem"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- <parameter name="group" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="3">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="BufferListItem"
- doc="The result of the #GstBufferListFunc."
- version="0.10.24"
- c:type="GstBufferListItem">
- <member name="continue"
- value="0"
- c:identifier="GST_BUFFER_LIST_CONTINUE"/>
- <member name="skip_group"
- value="1"
- c:identifier="GST_BUFFER_LIST_SKIP_GROUP"/>
- <member name="end" value="2" c:identifier="GST_BUFFER_LIST_END"/>
- </enumeration>
- <record name="BufferListIterator"
- c:type="GstBufferListIterator"
- doc="Opaque iterator for a #GstBufferList."
- version="0.10.24">
- <method name="free"
- c:identifier="gst_buffer_list_iterator_free"
- doc="Free the iterator."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="n_buffers"
- c:identifier="gst_buffer_list_iterator_n_buffers"
- doc="Returns the number of buffers left to iterate in the current group. I.e. the
-number of calls that can be made to gst_buffer_list_iterator_next() before
-it returns NULL.
-This function will not move the implicit cursor or in any other way affect
-the state of the iterator @it."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="next"
- c:identifier="gst_buffer_list_iterator_next"
- doc="Returns the next buffer in the list iterated with @it. If the iterator is at
-the end of a group, NULL will be returned. This function may be called
-repeatedly to iterate through the current group.
-The caller will not get a new ref to the returned #GstBuffer and must not
-unref it."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="next_group"
- c:identifier="gst_buffer_list_iterator_next_group"
- doc="Advance the iterator @it to the first buffer in the next group. If the
-iterator is at the last group, FALSE will be returned. This function may be
-called repeatedly to iterate through the groups in a buffer list.
-the iterator was already at the last group"
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="add"
- c:identifier="gst_buffer_list_iterator_add"
- doc="Inserts @buffer into the #GstBufferList iterated with @it. The buffer is
-inserted into the current group, immediately before the buffer that would be
-returned by gst_buffer_list_iterator_next(). The buffer is inserted before
-the implicit cursor, a subsequent call to gst_buffer_list_iterator_next()
-will return the buffer after the inserted buffer, if any.
-This function takes ownership of @buffer."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_group"
- c:identifier="gst_buffer_list_iterator_add_group"
- doc="Inserts a new, empty group into the #GstBufferList iterated with @it. The
-group is inserted immediately before the group that would be returned by
-gst_buffer_list_iterator_next_group(). A subsequent call to
-gst_buffer_list_iterator_next_group() will advance the iterator to the group
-after the inserted group, if any."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="remove"
- c:identifier="gst_buffer_list_iterator_remove"
- doc="Removes the last buffer returned by gst_buffer_list_iterator_next() from
-the #GstBufferList iterated with @it. gst_buffer_list_iterator_next() must
-have been called on @it before this function is called. This function can
-only be called once per call to gst_buffer_list_iterator_next().
-The removed buffer is unreffed."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="steal"
- c:identifier="gst_buffer_list_iterator_steal"
- doc="Returns the last buffer returned by gst_buffer_list_iterator_next() without
-modifying the refcount of the buffer."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="take"
- c:identifier="gst_buffer_list_iterator_take"
- doc="Replaces the last buffer returned by gst_buffer_list_iterator_next() with
-this function is called. gst_buffer_list_iterator_remove() must not have been
-called since the last call to gst_buffer_list_iterator_next().
-This function unrefs the replaced buffer if it has not been stolen with
-gst_buffer_list_iterator_steal() and takes ownership of @buffer (i.e. the
-refcount of @buffer is not increased)."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="do"
- c:identifier="gst_buffer_list_iterator_do"
- doc="Calls the given function for the last buffer returned by
-gst_buffer_list_iterator_next(). gst_buffer_list_iterator_next() must have
-been called on @it before this function is called.
-gst_buffer_list_iterator_remove() and gst_buffer_list_iterator_steal() must
-not have been called since the last call to gst_buffer_list_iterator_next().
-See #GstBufferListDoFunction for more details."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="do_func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="BufferListDoFunction"
- c:type="GstBufferListDoFunction"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="merge_group"
- c:identifier="gst_buffer_list_iterator_merge_group"
- doc="Merge a buffer list group into a normal #GstBuffer by copying its metadata
-and memcpying its data into consecutive memory. All buffers in the current
-group after the implicit cursor will be merged into one new buffer. The
-metadata of the new buffer will be a copy of the metadata of the buffer that
-would be returned by gst_buffer_list_iterator_next(). If there is no buffer
-in the current group after the implicit cursor, NULL will be returned.
-This function will not move the implicit cursor or in any other way affect
-the state of the iterator @it or the list."
- version="0.10.24">
- <return-value transfer-ownership="full" doc="after usage, or NULL">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- </record>
- <enumeration name="BufferingMode"
- doc="The different types of buffering methods."
- c:type="GstBufferingMode">
- <member name="stream" value="0" c:identifier="GST_BUFFERING_STREAM"/>
- <member name="download" value="1" c:identifier="GST_BUFFERING_DOWNLOAD"/>
- <member name="timeshift"
- value="2"
- c:identifier="GST_BUFFERING_TIMESHIFT"/>
- <member name="live" value="3" c:identifier="GST_BUFFERING_LIVE"/>
- </enumeration>
- <class name="Bus"
- c:type="GstBus"
- doc="The opaque #GstBus data structure."
- parent="Object"
- glib:type-name="GstBus"
- glib:get-type="gst_bus_get_type"
- glib:type-struct="BusClass">
- <constructor name="new"
- c:identifier="gst_bus_new"
- doc="Creates a new #GstBus instance.">
- <return-value transfer-ownership="full">
- <type name="Bus" c:type="GstBus*"/>
- </return-value>
- </constructor>
- <method name="post"
- c:identifier="gst_bus_post"
- doc="Post a message on the given bus. Ownership of the message
-is taken by the bus.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="have_pending"
- c:identifier="gst_bus_have_pending"
- doc="Check if there are pending messages on the bus that
-should be handled.
-otherwise.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="peek"
- c:identifier="gst_bus_peek"
- doc="Peek the message on the top of the bus' queue. The message will remain
-on the bus' message queue. A reference is returned, and needs to be unreffed
-by the caller.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- </method>
- <method name="pop"
- c:identifier="gst_bus_pop"
- doc="Get a message from the bus.
-The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- </method>
- <method name="pop_filtered"
- c:identifier="gst_bus_pop_filtered"
- doc="Get a message matching @type from the bus. Will discard all messages on
-the bus that do not match @type and that have been posted before the first
-message that does match @type. If there is no message matching @type on
-the bus, all messages will be discarded.
-the bus is empty or there is no message matching @type.
-The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.
-MT safe."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="types" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- </parameters>
- </method>
- <method name="timed_pop"
- c:identifier="gst_bus_timed_pop"
- doc="Get a message from the bus, waiting up to the specified timeout.
-If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is
-#GST_CLOCK_TIME_NONE, this function will block forever until a message was
-posted on the bus.
-or NULL if the bus is empty after the timeout expired.
-The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.
-MT safe."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="timed_pop_filtered"
- c:identifier="gst_bus_timed_pop_filtered"
- doc="Get a message from the bus whose type matches the message type mask @types,
-waiting up to the specified timeout (and discarding any messages that do not
-match the mask provided).
-If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If
-matching message was posted on the bus.
-message was found on the bus until the timeout expired.
-The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.
-MT safe."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="types" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_flushing"
- c:identifier="gst_bus_set_flushing"
- doc="If @flushing, flush out and unref any messages queued in the bus. Releases
-references to the message origin objects. Will flush future messages until
-gst_bus_set_flushing() sets @flushing to #FALSE.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flushing" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_sync_handler"
- c:identifier="gst_bus_set_sync_handler"
- doc="Sets the synchronous handler on the bus. The function will be called
-every time a new message is posted on the bus. Note that the function
-will be called in the same thread context as the posting object. This
-function is usually only called by the creator of the bus. Applications
-should handle messages asynchronously using the gst_bus watch and poll
-functions.
-You cannot replace an existing sync_handler. You can pass NULL to this
-function, which will clear the existing handler.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="create_watch"
- c:identifier="gst_bus_create_watch"
- doc="Create watch for this bus. The GSource will be dispatched whenever
-a message is on the bus. After the GSource is dispatched, the
-message is popped off the bus and unreffed.">
- <return-value transfer-ownership="full">
- <type name="GLib.Source" c:type="GSource*"/>
- </return-value>
- </method>
- <method name="add_watch_full"
- c:identifier="gst_bus_add_watch_full"
- doc="Adds a bus watch to the default main context with the given @priority.
-This function is used to receive asynchronous messages in the main loop.
-There can only be a single bus watch per bus, you must remove it before you
-can set a new one.
-When @func is called, the message belongs to the caller; if you want to
-keep a copy of it, call gst_message_ref() before leaving @func.
-The watch can be removed using g_source_remove() or by returning FALSE
-from @func.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="priority" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="notified"
- closure="3"
- destroy="4">
- <type name="BusFunc" c:type="GstBusFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_watch"
- c:identifier="gst_bus_add_watch"
- doc="Adds a bus watch to the default main context with the default priority.
-This function is used to receive asynchronous messages in the main loop.
-There can only be a single bus watch per bus, you must remove it before you
-can set a new one.
-The watch can be removed using g_source_remove() or by returning FALSE
-from @func.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="BusFunc" c:type="GstBusFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="poll"
- c:identifier="gst_bus_poll"
- doc="poll for.
-indefinitely.
-Poll the bus for messages. Will block while waiting for messages to come.
-You can specify a maximum time to poll with the @timeout parameter. If
-All messages not in @events will be popped off the bus and will be ignored.
-Because poll is implemented using the "message" signal enabled by
-gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message"
-signal to be emitted for every message that poll sees. Thus a "message"
-signal handler will see the same messages that this function sees -- neither
-will steal messages from the other.
-This function will run a main loop from the default main context when
-polling.
-You should never use this function, since it is pure evil. This is
-especially true for GUI applications based on Gtk+ or Qt, but also for any
-other non-trivial application that uses the GLib main loop. As this function
-runs a GLib main loop, any callback attached to the default GLib main
-context may be invoked. This could be timeouts, GUI events, I/O events etc.;
-even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks
-may do things you do not expect, e.g. destroy the main application window or
-some other resource; change other application state; display a dialog and
-run another main loop until the user clicks it away. In short, using this
-function may add a lot of complexity to your code through unexpected
-re-entrancy and unexpected changes to your application's state.
-For 0 timeouts use gst_bus_pop_filtered() instead of this function; for
-other short timeouts use gst_bus_timed_pop_filtered(); everything else is
-better handled by setting up an asynchronous bus watch and doing things
-from there.
-The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="events" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </parameter>
- </parameters>
- </method>
- <method name="async_signal_func"
- c:identifier="gst_bus_async_signal_func"
- doc="A helper #GstBusFunc that can be used to convert all asynchronous messages
-into signals.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="sync_signal_handler"
- c:identifier="gst_bus_sync_signal_handler"
- doc="A helper GstBusSyncHandler that can be used to convert all synchronous
-messages into signals.">
- <return-value transfer-ownership="full">
- <type name="BusSyncReply" c:type="GstBusSyncReply"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_signal_watch"
- c:identifier="gst_bus_add_signal_watch"
- doc="Adds a bus signal watch to the default main context with the default
-priority.
-After calling this statement, the bus will emit the "message" signal for each
-message posted on the bus.
-This function may be called multiple times. To clean up, the caller is
-responsible for calling gst_bus_remove_signal_watch() as many times as this
-function is called.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="add_signal_watch_full"
- c:identifier="gst_bus_add_signal_watch_full"
- doc="Adds a bus signal watch to the default main context with the given priority.
-After calling this statement, the bus will emit the "message" signal for each
-message posted on the bus when the main loop is running.
-This function may be called multiple times. To clean up, the caller is
-responsible for calling gst_bus_remove_signal_watch() as many times as this
-function is called.
-There can only be a single bus watch per bus, you most remove all signal watch
-before you can set another type of watch.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="priority" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_signal_watch"
- c:identifier="gst_bus_remove_signal_watch"
- doc="Removes a signal watch previously added with gst_bus_add_signal_watch().
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="enable_sync_message_emission"
- c:identifier="gst_bus_enable_sync_message_emission"
- doc="Instructs GStreamer to emit the "sync-message" signal after running the bus's
-sync handler. This function is here so that code can ensure that they can
-synchronously receive messages without having to affect what the bin's sync
-handler is.
-This function may be called multiple times. To clean up, the caller is
-responsible for calling gst_bus_disable_sync_message_emission() as many times
-as this function is called.
-While this function looks similar to gst_bus_add_signal_watch(), it is not
-exactly the same -- this function enables <emphasis>synchronous</emphasis> emission of
-signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback
-to pop messages off the bus <emphasis>asynchronously</emphasis>. The sync-message signal
-comes from the thread of whatever object posted the message; the "message"
-signal is marshalled to the main thread via the main loop.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="disable_sync_message_emission"
- c:identifier="gst_bus_disable_sync_message_emission"
- doc="gst_bus_enable_sync_message_emission()
-Instructs GStreamer to stop emitting the "sync-message" signal for this bus.
-See gst_bus_enable_sync_message_emission() for more information.
-In the event that multiple pieces of code have called
-gst_bus_enable_sync_message_emission(), the sync-message emissions will only
-be stopped after all calls to gst_bus_enable_sync_message_emission() were
-"cancelled" by calling this function. In this way the semantics are exactly
-the same as gst_object_ref() that which calls enable should also call
-disable.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="queue">
- <type name="GLib.Queue" c:type="GQueue*"/>
- </field>
- <field name="queue_lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="sync_handler">
- <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
- </field>
- <field name="sync_handler_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="signal_watch_id">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="num_signal_watchers">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="priv">
- <type name="BusPrivate" c:type="GstBusPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="message"
- doc="A message has been posted on the bus. This signal is emitted from a
-GSource added to the mainloop. this signal will only be emitted when
-there is a mainloop running.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="sync-message"
- doc="A message has been posted on the bus. This signal is emitted from the
-thread that posted the message so one has to be careful with locking.
-This signal will not be emitted by default, you have to set up
-gst_bus_sync_signal_handler() as a sync handler if you want this
-signal to be emitted when a message is posted on the bus, like this:
-<programlisting>
-gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, yourdata);
-</programlisting>">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="BusClass"
- c:type="GstBusClass"
- glib:is-gtype-struct-for="Bus">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="message">
- <callback name="message" c:type="message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="sync_message">
- <callback name="sync_message" c:type="sync_message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="BusFlags"
- doc="The standard flags that a bus may have."
- c:type="GstBusFlags">
- <member name="flushing" value="16" c:identifier="GST_BUS_FLUSHING"/>
- <member name="flag_last" value="32" c:identifier="GST_BUS_FLAG_LAST"/>
- </bitfield>
- <callback name="BusFunc"
- c:type="GstBusFunc"
- doc="Specifies the type of function passed to gst_bus_add_watch() or
-gst_bus_add_watch_full(), which is called from the mainloop when a message
-is available on the bus.
-The message passed to the function will be unreffed after execution of this
-function so it should not be freed in the function.
-Note that this function is used as a GSourceFunc which means that returning
-FALSE will remove the GSource from the mainloop.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="BusPrivate" c:type="GstBusPrivate">
- </record>
- <callback name="BusSyncHandler"
- c:type="GstBusSyncHandler"
- doc="Handler will be invoked synchronously, when a new message has been injected
-into the bus. This function is mostly used internally. Only one sync handler
-can be attached to a given bus.
-If the handler returns GST_BUS_DROP, it should unref the message, else the
-message should not be unreffed by the sync handler.">
- <return-value transfer-ownership="full">
- <type name="BusSyncReply" c:type="GstBusSyncReply"/>
- </return-value>
- <parameters>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="BusSyncReply"
- doc="The result values for a GstBusSyncHandler."
- c:type="GstBusSyncReply">
- <member name="drop" value="0" c:identifier="GST_BUS_DROP"/>
- <member name="pass" value="1" c:identifier="GST_BUS_PASS"/>
- <member name="async" value="2" c:identifier="GST_BUS_ASYNC"/>
- </enumeration>
- <constant name="CAN_INLINE" value="1">
- <type name="int"/>
- </constant>
- <constant name="CLOCK_ENTRY_TRACE_NAME" value="GstClockEntry">
- <type name="utf8"/>
- </constant>
- <constant name="CLOCK_TIME_NONE" value="-1">
- <type name="int"/>
- </constant>
- <record name="Caps"
- c:type="GstCaps"
- doc="Object describing media types."
- glib:type-name="GstCaps"
- glib:get-type="gst_caps_get_type">
- <field name="type" writable="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="refcount" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="flags" writable="1">
- <type name="CapsFlags" c:type="GstCapsFlags"/>
- </field>
- <field name="structs" writable="1">
- <type name="GLib.PtrArray" c:type="GPtrArray*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new_empty"
- c:identifier="gst_caps_new_empty"
- doc="Creates a new #GstCaps that is empty. That is, the returned
-#GstCaps contains no media formats.
-Caller is responsible for unreffing the returned caps.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </constructor>
- <constructor name="new_any"
- c:identifier="gst_caps_new_any"
- doc="Creates a new #GstCaps that indicates that it is compatible with
-any media format.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </constructor>
- <constructor name="new_simple"
- c:identifier="gst_caps_new_simple"
- doc="Creates a new #GstCaps that contains one #GstStructure. The
-structure is defined by the arguments, which have the same format
-as gst_structure_new().
-Caller is responsible for unreffing the returned caps.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="media_type" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_full"
- c:identifier="gst_caps_new_full"
- doc="Creates a new #GstCaps and adds all the structures listed as
-arguments. The list must be NULL-terminated. The structures
-are not copied; the returned #GstCaps owns the structures.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="struct1" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </constructor>
- <method name="ref"
- c:identifier="gst_caps_ref"
- doc="Add a reference to a #GstCaps object.
-From this point on, until the caller calls gst_caps_unref() or
-gst_caps_make_writable(), it is guaranteed that the caps object will not
-change. This means its structures won't change, etc. To use a #GstCaps
-object, you must always have a refcount on it -- either the one made
-implicitly by e.g. gst_caps_new_simple(), or via taking one explicitly with
-this function.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="copy"
- c:identifier="gst_caps_copy"
- doc="Creates a new #GstCaps as a copy of the old @caps. The new caps will have a
-refcount of 1, owned by the caller. The structures are copied as well.
-Note that this function is the semantic equivalent of a gst_caps_ref()
-followed by a gst_caps_make_writable(). If you only want to hold on to a
-reference to the data, you should use gst_caps_ref().
-When you are finished with the caps, call gst_caps_unref() on it.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="make_writable"
- c:identifier="gst_caps_make_writable"
- doc="Returns a writable copy of @caps.
-If there is only one reference count on @caps, the caller must be the owner,
-and so this function will return the caps object unchanged. If on the other
-hand there is more than one reference on the object, a new caps object will
-be returned. The caller's reference on @caps will be removed, and instead the
-caller will own a reference to the returned object.
-In short, this function unrefs the caps in the argument and refs the caps
-that it returns. Don't access the argument after calling this function. See">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="unref"
- c:identifier="gst_caps_unref"
- doc="Unref a #GstCaps and and free all its structures and the
-structures' values when the refcount reaches 0.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="append"
- c:identifier="gst_caps_append"
- doc="Appends the structures contained in @caps2 to @caps1. The structures in
-freed. If either caps is ANY, the resulting caps will be ANY.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="merge"
- c:identifier="gst_caps_merge"
- doc="Appends the structures contained in @caps2 to @caps1 if they are not yet
-expressed by @caps1. The structures in @caps2 are not copied -- they are
-transferred to @caps1, and then @caps2 is freed.
-If either caps is ANY, the resulting caps will be ANY."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="append_structure"
- c:identifier="gst_caps_append_structure"
- doc="Appends @structure to @caps. The structure is not copied; @caps
-becomes the owner of @structure.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_structure"
- c:identifier="gst_caps_remove_structure"
- doc="removes the stucture with the given index from the list of structures
-contained in @caps.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="merge_structure"
- c:identifier="gst_caps_merge_structure"
- doc="Appends @structure to @caps if its not already expressed by @caps. The
-structure is not copied; @caps becomes the owner of @structure.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_size"
- c:identifier="gst_caps_get_size"
- doc="Gets the number of structures contained in @caps.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_structure"
- c:identifier="gst_caps_get_structure"
- doc="Finds the structure in @caps that has the index @index, and
-returns it.
-non-const GstStructure *. This is for programming convenience --
-the caller should be aware that structures inside a constant
-#GstCaps should not be modified. However, if you know the caps
-are writable, either because you have just copied them or made
-them writable with gst_caps_make_writable(), you may modify the
-structure returned in the usual way, e.g. with functions like
-gst_structure_set().
-You do not need to free or unref the structure returned, it
-belongs to the #GstCaps.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy_nth"
- c:identifier="gst_caps_copy_nth"
- doc="Creates a new #GstCaps and appends a copy of the nth structure
-contained in @caps.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="truncate"
- c:identifier="gst_caps_truncate"
- doc="Destructively discard all but the first structure from @caps. Useful when
-fixating. @caps must be writable.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_value"
- c:identifier="gst_caps_set_value"
- doc="Sets the given @field on all structures of @caps to the given @value.
-This is a convenience function for calling gst_structure_set_value() on
-all structures of @caps."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_simple"
- c:identifier="gst_caps_set_simple"
- doc="Sets fields in a #GstCaps. The arguments must be passed in the same
-manner as gst_structure_set(), and be NULL-terminated.
-<note>Prior to GStreamer version 0.10.26, this function failed when
-of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
-is %TRUE for @caps.</note>">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="is_any"
- c:identifier="gst_caps_is_any"
- doc="Determines if @caps represents any media format.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="is_empty"
- c:identifier="gst_caps_is_empty"
- doc="Determines if @caps represents no media formats.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="is_fixed"
- c:identifier="gst_caps_is_fixed"
- doc="Fixed #GstCaps describe exactly one format, that is, they have exactly
-one structure, and each field in the structure describes a fixed type.
-Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="is_always_compatible"
- c:identifier="gst_caps_is_always_compatible"
- doc="A given #GstCaps structure is always compatible with another if
-every media format that is in the first is also contained in the
-second. That is, @caps1 is a subset of @caps2.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_subset"
- c:identifier="gst_caps_is_subset"
- doc="Checks if all caps represented by @subset are also represented by @superset.
-<note>This function does not work reliably if optional properties for caps
-are included on one caps and omitted on the other.</note>">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="superset" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_equal"
- c:identifier="gst_caps_is_equal"
- doc="Checks if the given caps represent the same set of caps.
-<note>This function does not work reliably if optional properties for caps
-are included on one caps and omitted on the other.</note>
-This function deals correctly with passing NULL for any of the caps.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_equal_fixed"
- c:identifier="gst_caps_is_equal_fixed"
- doc="Tests if two #GstCaps are equal. This function only works on fixed
-#GstCaps.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="can_intersect"
- c:identifier="gst_caps_can_intersect"
- doc="Tries intersecting @caps1 and @caps2 and reports wheter the result would not
-be empty"
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="intersect"
- c:identifier="gst_caps_intersect"
- doc="Creates a new #GstCaps that contains all the formats that are common
-to both @caps1 and @caps2.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="subtract"
- c:identifier="gst_caps_subtract"
- doc="Subtracts the @subtrahend from the @minuend.
-<note>This function does not work reliably if optional properties for caps
-are included on one caps and omitted on the other.</note>">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="subtrahend" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="union"
- c:identifier="gst_caps_union"
- doc="Creates a new #GstCaps that contains all the formats that are in
-either @caps1 and @caps2.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="caps2" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="normalize"
- c:identifier="gst_caps_normalize"
- doc="Creates a new #GstCaps that represents the same set of formats as">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="do_simplify"
- c:identifier="gst_caps_do_simplify"
- doc="Modifies the given @caps inplace into a representation that represents the
-same set of formats, but in a simpler form. Component structures that are
-identical are merged. Component structures that have values that can be
-merged are also merged.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="save_thyself"
- c:identifier="gst_caps_save_thyself"
- doc="Serializes a #GstCaps to XML and adds it as a child node of @parent.">
- <return-value transfer-ownership="full">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </method>
- <method name="replace"
- c:identifier="gst_caps_replace"
- doc="Replaces *caps with @newcaps. Unrefs the #GstCaps in the location
-pointed to by @caps, if applicable, then modifies @caps to point to
-This function does not take any locks so you might want to lock
-the object owning @caps pointer.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="newcaps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_string"
- c:identifier="gst_caps_to_string"
- doc="Converts @caps to a string representation. This string representation
-can be converted back to a #GstCaps by gst_caps_from_string().
-For debugging purposes its easier to do something like this:
-|[
-GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
-]|
-This prints the caps in human readble form.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- </record>
- <bitfield name="CapsFlags"
- doc="anything.
-Extra flags for a caps."
- c:type="GstCapsFlags">
- <member name="caps_flags_any"
- value="1"
- c:identifier="GST_CAPS_FLAGS_ANY"/>
- </bitfield>
- <interface name="ChildProxy"
- c:type="GstChildProxy"
- doc="Opaque #GstChildProxy data structure."
- glib:type-name="GstChildProxy"
- glib:get-type="gst_child_proxy_get_type"
- glib:type-struct="ChildProxyInterface">
- <prerequisite name="Object"/>
- <virtual-method name="get_child_by_index" invoker="get_child_by_index">
- <return-value transfer-ownership="full">
- <type name="Object" c:type="GstObject*"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_children_count" invoker="get_children_count">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </virtual-method>
- <method name="get_child_by_name"
- c:identifier="gst_child_proxy_get_child_by_name"
- doc="Looks up a child element by the given name.
-Implementors can use #GstObject together with gst_object_get_name()
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Object" c:type="GstObject*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_child_by_index"
- c:identifier="gst_child_proxy_get_child_by_index"
- doc="Fetches a child by its number.
-after usage.
-MT safe.">
- <return-value transfer-ownership="full" doc="Unref">
- <type name="Object" c:type="GstObject*"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_children_count"
- c:identifier="gst_child_proxy_get_children_count"
- doc="Gets the number of child objects this parent contains.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <glib:signal name="child-added">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="child-removed">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <record name="ChildProxyInterface"
- c:type="GstChildProxyInterface"
- glib:is-gtype-struct-for="ChildProxy"
- doc="#GstChildProxy interface.">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="get_child_by_index">
- <callback name="get_child_by_index" c:type="get_child_by_index">
- <return-value transfer-ownership="full">
- <type name="Object" c:type="GstObject*"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="ChildProxy" c:type="GstChildProxy*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_children_count">
- <callback name="get_children_count" c:type="get_children_count">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="ChildProxy" c:type="GstChildProxy*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="child_added">
- <callback name="child_added" c:type="child_added">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="ChildProxy" c:type="GstChildProxy*"/>
- </parameter>
- <parameter name="child" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="child_removed">
- <callback name="child_removed" c:type="child_removed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="ChildProxy" c:type="GstChildProxy*"/>
- </parameter>
- <parameter name="child" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="Clock"
- c:type="GstClock"
- doc="#GstClock base structure. The values of this structure are
-protected for subclasses, use the methods to use the #GstClock."
- parent="Object"
- glib:type-name="GstClock"
- glib:get-type="gst_clock_get_type"
- glib:type-struct="ClockClass">
- <function name="id_ref"
- c:identifier="gst_clock_id_ref"
- doc="Increase the refcount of given @id.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="ClockID" c:type="GstClockID"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- </parameters>
- </function>
- <function name="id_unref"
- c:identifier="gst_clock_id_unref"
- doc="Unref given @id. When the refcount reaches 0 the
-#GstClockID will be freed.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- </parameters>
- </function>
- <function name="id_compare_func"
- c:identifier="gst_clock_id_compare_func">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="id1" transfer-ownership="none">
- <type name="any" c:type="gconstpointer"/>
- </parameter>
- <parameter name="id2" transfer-ownership="none">
- <type name="any" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="id_get_time" c:identifier="gst_clock_id_get_time">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- </parameters>
- </function>
- <function name="id_wait" c:identifier="gst_clock_id_wait">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
- </parameter>
- </parameters>
- </function>
- <function name="id_wait_async"
- c:identifier="gst_clock_id_wait_async"
- doc="Register a callback on the given #GstClockID @id with the given
-function and user_data. When passing a #GstClockID with an invalid
-time to this function, the callback will be called immediately
-with a time set to GST_CLOCK_TIME_NONE. The callback will
-be called when the time of @id has been reached.
-The callback @func can be invoked from any thread, either provided by the
-core or from a streaming thread. The application should be prepared for this.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="ClockCallback" c:type="GstClockCallback"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="id_unschedule"
- c:identifier="gst_clock_id_unschedule"
- doc="Cancel an outstanding request with @id. This can either
-be an outstanding async notification or a pending sync notification.
-After this call, @id cannot be used anymore to receive sync or
-async notifications, you need to create a new #GstClockID.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="change_resolution">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="old_resolution" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="new_resolution" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_resolution" invoker="get_resolution">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </virtual-method>
- <virtual-method name="get_internal_time" invoker="get_internal_time">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </virtual-method>
- <virtual-method name="wait">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="wait_async">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="unschedule">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="wait_jitter">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="set_resolution" c:identifier="gst_clock_set_resolution">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="resolution" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_resolution" c:identifier="gst_clock_get_resolution">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="get_time" c:identifier="gst_clock_get_time">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="set_calibration" c:identifier="gst_clock_set_calibration">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="internal" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="external" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="rate_num" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="rate_denom" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_calibration" c:identifier="gst_clock_get_calibration">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="internal" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="external" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="rate_num" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="rate_denom" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_master" c:identifier="gst_clock_set_master">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="master" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_master" c:identifier="gst_clock_get_master">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- </method>
- <method name="add_observation" c:identifier="gst_clock_add_observation">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="slave" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="master" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="r_squared"
- direction="out"
- transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_internal_time"
- c:identifier="gst_clock_get_internal_time">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="adjust_unlocked" c:identifier="gst_clock_adjust_unlocked">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="internal" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="unadjust_unlocked"
- c:identifier="gst_clock_unadjust_unlocked">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="external" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="new_single_shot_id"
- c:identifier="gst_clock_new_single_shot_id">
- <return-value transfer-ownership="full">
- <type name="ClockID" c:type="GstClockID"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="new_periodic_id" c:identifier="gst_clock_new_periodic_id">
- <return-value transfer-ownership="full">
- <type name="ClockID" c:type="GstClockID"/>
- </return-value>
- <parameters>
- <parameter name="start_time" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="interval" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <property name="stats" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="timeout" writable="1">
- <type name="uint64" c:type="guint64"/>
- </property>
- <property name="window-size" writable="1">
- <type name="int" c:type="gint"/>
- </property>
- <property name="window-threshold" writable="1">
- <type name="int" c:type="gint"/>
- </property>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="slave_lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="internal_calibration">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="external_calibration">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="rate_numerator">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="rate_denominator">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="last_time">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="entries">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="entries_changed">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="resolution">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="stats">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="master">
- <type name="Clock" c:type="GstClock*"/>
- </field>
- <field name="filling">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="window_size">
- <type name="int" c:type="gint"/>
- </field>
- <field name="window_threshold">
- <type name="int" c:type="gint"/>
- </field>
- <field name="time_index">
- <type name="int" c:type="gint"/>
- </field>
- <field name="timeout">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="times">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </field>
- <field name="clockid">
- <type name="ClockID" c:type="GstClockID"/>
- </field>
- <union name="ABI" c:type="ABI">
- <field name="priv" writable="1">
- <type name="ClockPrivate" c:type="GstClockPrivate*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="GstClockTime" fixed-size="4">
- <type name="ClockTime"/>
- </array>
- </field>
- </union>
- </class>
- <callback name="ClockCallback"
- c:type="GstClockCallback"
- doc="The function prototype of the callback.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="time" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="id" transfer-ownership="none">
- <type name="ClockID" c:type="GstClockID"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- closure="3"
- doc="function">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ClockClass"
- c:type="GstClockClass"
- glib:is-gtype-struct-for="Clock"
- doc="be acceptable. The new resolution should be returned.
-implement @wait_jitter instead.
-GStreamer clock class. Override the vmethods to implement the clock
-functionality.">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="change_resolution">
- <callback name="change_resolution" c:type="change_resolution">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="old_resolution" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="new_resolution" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_resolution">
- <callback name="get_resolution" c:type="get_resolution">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_internal_time">
- <callback name="get_internal_time" c:type="get_internal_time">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="wait">
- <callback name="wait" c:type="wait">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="wait_async">
- <callback name="wait_async" c:type="wait_async">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unschedule">
- <callback name="unschedule" c:type="unschedule">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="wait_jitter">
- <callback name="wait_jitter" c:type="wait_jitter">
- <return-value transfer-ownership="full">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="ClockEntry" c:type="GstClockEntry*"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="ClockEntry"
- c:type="GstClockEntry"
- doc="All pending timeouts or periodic notifies are converted into
-an entry.">
- <field name="refcount" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="clock" writable="1">
- <type name="Clock" c:type="GstClock*"/>
- </field>
- <field name="type" writable="1">
- <type name="ClockEntryType" c:type="GstClockEntryType"/>
- </field>
- <field name="time" writable="1">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="interval" writable="1">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="status" writable="1">
- <type name="ClockReturn" c:type="GstClockReturn"/>
- </field>
- <field name="func" writable="1">
- <type name="ClockCallback" c:type="GstClockCallback"/>
- </field>
- <field name="user_data" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- </record>
- <enumeration name="ClockEntryType"
- doc="The type of the clock entry"
- c:type="GstClockEntryType">
- <member name="single" value="0" c:identifier="GST_CLOCK_ENTRY_SINGLE"/>
- <member name="periodic"
- value="1"
- c:identifier="GST_CLOCK_ENTRY_PERIODIC"/>
- </enumeration>
- <bitfield name="ClockFlags"
- doc="The capabilities of this clock"
- c:type="GstClockFlags">
- <member name="can_do_single_sync"
- value="16"
- c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC"/>
- <member name="can_do_single_async"
- value="32"
- c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC"/>
- <member name="can_do_periodic_sync"
- value="64"
- c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC"/>
- <member name="can_do_periodic_async"
- value="128"
- c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC"/>
- <member name="can_set_resolution"
- value="256"
- c:identifier="GST_CLOCK_FLAG_CAN_SET_RESOLUTION"/>
- <member name="can_set_master"
- value="512"
- c:identifier="GST_CLOCK_FLAG_CAN_SET_MASTER"/>
- <member name="last" value="4096" c:identifier="GST_CLOCK_FLAG_LAST"/>
- </bitfield>
- <record name="ClockPrivate" c:type="GstClockPrivate">
- </record>
- <enumeration name="ClockReturn"
- doc="The return value of a clock operation."
- c:type="GstClockReturn">
- <member name="ok" value="0" c:identifier="GST_CLOCK_OK"/>
- <member name="early" value="1" c:identifier="GST_CLOCK_EARLY"/>
- <member name="unscheduled"
- value="2"
- c:identifier="GST_CLOCK_UNSCHEDULED"/>
- <member name="busy" value="3" c:identifier="GST_CLOCK_BUSY"/>
- <member name="badtime" value="4" c:identifier="GST_CLOCK_BADTIME"/>
- <member name="error" value="5" c:identifier="GST_CLOCK_ERROR"/>
- <member name="unsupported"
- value="6"
- c:identifier="GST_CLOCK_UNSUPPORTED"/>
- </enumeration>
- <enumeration name="ClockType"
- doc="point
-The different kind of clocks."
- c:type="GstClockType">
- <member name="realtime"
- value="0"
- c:identifier="GST_CLOCK_TYPE_REALTIME"/>
- <member name="monotonic"
- value="1"
- c:identifier="GST_CLOCK_TYPE_MONOTONIC"/>
- </enumeration>
- <callback name="CopyFunction"
- c:type="GstCopyFunction"
- doc="A function to create a copy of some object or
-increase its reference count."
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="CoreError"
- doc="category. Make sure you add a custom message to the error call.
-deciding where to go while developing code.
-this functionality yet.
-Core errors are errors inside the core GStreamer library."
- c:type="GstCoreError"
- glib:error-quark="gst_core_error_quark">
- <member name="failed" value="1" c:identifier="GST_CORE_ERROR_FAILED"/>
- <member name="too_lazy"
- value="2"
- c:identifier="GST_CORE_ERROR_TOO_LAZY"/>
- <member name="not_implemented"
- value="3"
- c:identifier="GST_CORE_ERROR_NOT_IMPLEMENTED"/>
- <member name="state_change"
- value="4"
- c:identifier="GST_CORE_ERROR_STATE_CHANGE"/>
- <member name="pad" value="5" c:identifier="GST_CORE_ERROR_PAD"/>
- <member name="thread" value="6" c:identifier="GST_CORE_ERROR_THREAD"/>
- <member name="negotiation"
- value="7"
- c:identifier="GST_CORE_ERROR_NEGOTIATION"/>
- <member name="event" value="8" c:identifier="GST_CORE_ERROR_EVENT"/>
- <member name="seek" value="9" c:identifier="GST_CORE_ERROR_SEEK"/>
- <member name="caps" value="10" c:identifier="GST_CORE_ERROR_CAPS"/>
- <member name="tag" value="11" c:identifier="GST_CORE_ERROR_TAG"/>
- <member name="missing_plugin"
- value="12"
- c:identifier="GST_CORE_ERROR_MISSING_PLUGIN"/>
- <member name="clock" value="13" c:identifier="GST_CORE_ERROR_CLOCK"/>
- <member name="disabled"
- value="14"
- c:identifier="GST_CORE_ERROR_DISABLED"/>
- <member name="num_errors"
- value="15"
- c:identifier="GST_CORE_ERROR_NUM_ERRORS"/>
- </enumeration>
- <constant name="DEBUG_BG_MASK" value="240">
- <type name="int"/>
- </constant>
- <constant name="DEBUG_FG_MASK" value="15">
- <type name="int"/>
- </constant>
- <constant name="DEBUG_FORMAT_MASK" value="65280">
- <type name="int"/>
- </constant>
- <glib:boxed c:type="GstDate"
- glib:name="Date"
- glib:type-name="GstDate"
- glib:get-type="gst_date_get_type">
- </glib:boxed>
- <record name="DebugCategory"
- c:type="GstDebugCategory"
- doc="This is the struct that describes the categories. Once initialized with
-#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore.">
- <field name="threshold" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="color" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="description" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <method name="free"
- c:identifier="gst_debug_category_free"
- doc="Removes and frees the category and all associated resources.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_threshold"
- c:identifier="gst_debug_category_set_threshold"
- doc="Sets the threshold of the category to the given level. Debug information will
-only be output if the threshold is lower or equal to the level of the
-debugging message.
-<note><para>
-Do not use this function in production code, because other functions may
-change the threshold of categories as side effect. It is however a nice
-function to use when debugging (even from gdb).
-</para></note>">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- </parameters>
- </method>
- <method name="reset_threshold"
- c:identifier="gst_debug_category_reset_threshold"
- doc="Resets the threshold of the category to the default level. Debug information
-will only be output if the threshold is lower or equal to the level of the
-debugging message.
-Use this function to set the threshold back to where it was after using
-gst_debug_category_set_threshold().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_threshold"
- c:identifier="gst_debug_category_get_threshold"
- doc="Returns the threshold of a #GstDebugCategory.">
- <return-value transfer-ownership="full">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </return-value>
- </method>
- <method name="get_name"
- c:identifier="gst_debug_category_get_name"
- doc="Returns the name of a debug category.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_color"
- c:identifier="gst_debug_category_get_color"
- doc="Returns the color of a debug category used when printing output in this
-category.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_description"
- c:identifier="gst_debug_category_get_description"
- doc="Returns the description of a debug category.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- </record>
- <enumeration name="DebugColorFlags"
- doc="These are some terminal style flags you can use when creating your
-debugging categories to make them stand out in debugging output."
- c:type="GstDebugColorFlags">
- <member name="fg_black" value="0" c:identifier="GST_DEBUG_FG_BLACK"/>
- <member name="fg_red" value="1" c:identifier="GST_DEBUG_FG_RED"/>
- <member name="fg_green" value="2" c:identifier="GST_DEBUG_FG_GREEN"/>
- <member name="fg_yellow" value="3" c:identifier="GST_DEBUG_FG_YELLOW"/>
- <member name="fg_blue" value="4" c:identifier="GST_DEBUG_FG_BLUE"/>
- <member name="fg_magenta" value="5" c:identifier="GST_DEBUG_FG_MAGENTA"/>
- <member name="fg_cyan" value="6" c:identifier="GST_DEBUG_FG_CYAN"/>
- <member name="fg_white" value="7" c:identifier="GST_DEBUG_FG_WHITE"/>
- <member name="bg_black" value="0" c:identifier="GST_DEBUG_BG_BLACK"/>
- <member name="bg_red" value="16" c:identifier="GST_DEBUG_BG_RED"/>
- <member name="bg_green" value="32" c:identifier="GST_DEBUG_BG_GREEN"/>
- <member name="bg_yellow" value="48" c:identifier="GST_DEBUG_BG_YELLOW"/>
- <member name="bg_blue" value="64" c:identifier="GST_DEBUG_BG_BLUE"/>
- <member name="bg_magenta"
- value="80"
- c:identifier="GST_DEBUG_BG_MAGENTA"/>
- <member name="bg_cyan" value="96" c:identifier="GST_DEBUG_BG_CYAN"/>
- <member name="bg_white" value="112" c:identifier="GST_DEBUG_BG_WHITE"/>
- <member name="bold" value="256" c:identifier="GST_DEBUG_BOLD"/>
- <member name="underline" value="512" c:identifier="GST_DEBUG_UNDERLINE"/>
- </enumeration>
- <callback name="DebugFuncPtr" c:type="GstDebugFuncPtr">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- <bitfield name="DebugGraphDetails"
- doc="Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
-and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()."
- version="0.10.15"
- c:type="GstDebugGraphDetails">
- <member name="media_type"
- value="1"
- c:identifier="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE"/>
- <member name="caps_details"
- value="2"
- c:identifier="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS"/>
- <member name="non_default_params"
- value="4"
- c:identifier="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS"/>
- <member name="states"
- value="8"
- c:identifier="GST_DEBUG_GRAPH_SHOW_STATES"/>
- <member name="all" value="15" c:identifier="GST_DEBUG_GRAPH_SHOW_ALL"/>
- </bitfield>
- <enumeration name="DebugLevel"
- doc="debugging output.
-that stops the application from keeping working correctly.
-An examples is gst_element_error, which outputs a message with this priority.
-It does not mean that the application is terminating as with g_errror.
-that could lead to problems or weird behaviour later on. An example of this
-would be clocking issues ("your computer is pretty slow") or broken input
-data ("Can't synchronize to stream.")
-updated about what is happening.
-Examples where this should be used are when a typefind function has
-successfully determined the type of the stream or when an mp3 plugin detects
-the format to be used. ("This file has mono sound.")
-happens that is not the expected default behavior.
-An example would be notifications about state changes or receiving/sending of
-events.
-useful to know. As a rule of thumb a pipeline that is iterating as expected
-should never output anzthing else but LOG messages.
-Examples for this are referencing/dereferencing of objects or cothread switches.
-in the executed code path is not fully implemented or handled yet. Note
-that this does not replace proper error handling in any way, the purpose
-of this message is to make it easier to spot incomplete/unfinished pieces
-data as memory dumps in the log. They will be displayed as hexdump with
-The level defines the importance of a debugging message. The more important a
-message is, the greater the probability that the debugging system outputs it."
- c:type="GstDebugLevel">
- <member name="none" value="0" c:identifier="GST_LEVEL_NONE"/>
- <member name="error" value="1" c:identifier="GST_LEVEL_ERROR"/>
- <member name="warning" value="2" c:identifier="GST_LEVEL_WARNING"/>
- <member name="info" value="3" c:identifier="GST_LEVEL_INFO"/>
- <member name="debug" value="4" c:identifier="GST_LEVEL_DEBUG"/>
- <member name="log" value="5" c:identifier="GST_LEVEL_LOG"/>
- <member name="fixme" value="6" c:identifier="GST_LEVEL_FIXME"/>
- <member name="memdump" value="9" c:identifier="GST_LEVEL_MEMDUMP"/>
- <member name="count" value="10" c:identifier="GST_LEVEL_COUNT"/>
- </enumeration>
- <record name="DebugMessage" c:type="GstDebugMessage">
- <method name="get"
- c:identifier="gst_debug_message_get"
- doc="Gets the string representation of a #GstDebugMessage. This function is used
-in debug handlers to extract the message.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- </record>
- <constant name="ERROR_SYSTEM" value="system error: %s">
- <type name="utf8"/>
- </constant>
- <constant name="EVENT_TRACE_NAME" value="GstEvent">
- <type name="utf8"/>
- </constant>
- <constant name="EVENT_TYPE_BOTH" value="0">
- <type name="int"/>
- </constant>
- <constant name="EVENT_TYPE_SHIFT" value="4">
- <type name="int"/>
- </constant>
- <class name="Element"
- c:type="GstElement"
- doc="gst_element_set_state() and gst_element_get_state()
-the element is in the correct state.
-#GST_STATE_VOID_PENDING if the element is in the correct state
-parent element or the application. A #GstPipeline has a bus of its own.
-element by the toplevel #GstPipeline.
-PLAYING. Subtracting @base_time from the current clock time in the PLAYING
-state will yield the running_time against the clock.
-GStreamer element abstract base class."
- parent="Object"
- abstract="1"
- glib:type-name="GstElement"
- glib:get-type="gst_element_get_type"
- glib:type-struct="ElementClass">
- <function name="register"
- c:identifier="gst_element_register"
- doc="element (note that passing NULL only works in GStreamer 0.10.13 and later)
-Create a new elementfactory capable of instantiating objects of the">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="rank" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="make_from_uri"
- c:identifier="gst_element_make_from_uri"
- doc="Creates an element for handling the given URI.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="URIType" c:type="GstURIType"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="elementname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="state_get_name"
- c:identifier="gst_element_state_get_name"
- doc="Gets a string representing the given state.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState"/>
- </parameter>
- </parameters>
- </function>
- <function name="state_change_return_get_name"
- c:identifier="gst_element_state_change_return_get_name"
- doc="Gets a string representing the given state change result."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="state_ret" transfer-ownership="none">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="request_new_pad">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="release_pad">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_state" invoker="get_state">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="pending" transfer-ownership="none">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_state" invoker="set_state">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="change_state" invoker="change_state">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="transition" transfer-ownership="none">
- <type name="StateChange" c:type="GstStateChange"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_bus" invoker="set_bus">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="provide_clock" invoker="provide_clock">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_clock" invoker="set_clock">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_index" invoker="get_index">
- <return-value transfer-ownership="full">
- <type name="Index" c:type="GstIndex*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_index" invoker="set_index">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="send_event" invoker="send_event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_query_types" invoker="get_query_types">
- <return-value transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="query" invoker="query">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="requires_clock"
- c:identifier="gst_element_requires_clock"
- doc="Query if the element requires a clock.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="provides_clock"
- c:identifier="gst_element_provides_clock"
- doc="Query if the element provides a clock. A #GstClock provided by an
-element can be used as the global #GstClock for the pipeline.
-An element that can provide a clock is only required to do so in the PAUSED
-state, this means when it is fully negotiated and has allocated the resources
-to operate the clock.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="provide_clock"
- c:identifier="gst_element_provide_clock"
- doc="Get the clock provided by the given element.
-<note>An element is only required to provide a clock in the PAUSED
-state. Some elements can provide a clock in other states.</note>
-if no clock could be provided. Unref after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- </method>
- <method name="get_clock"
- c:identifier="gst_element_get_clock"
- doc="Gets the currently configured clock of the element. This is the clock as was
-last set with gst_element_set_clock().
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- </method>
- <method name="set_clock"
- c:identifier="gst_element_set_clock"
- doc="Sets the clock for the element. This function increases the
-refcount on the clock. Any previously set clock on the object
-is unreffed.
-clock when it, for example, is not able to slave its internal clock to the
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_base_time"
- c:identifier="gst_element_set_base_time"
- doc="Set the base time of an element. See gst_element_get_base_time().
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_base_time"
- c:identifier="gst_element_get_base_time"
- doc="Returns the base time of the element. The base time is the
-absolute time of the clock when this element was last put to
-PLAYING. Subtracting the base time from the clock time gives
-the running time of the element.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="set_start_time"
- c:identifier="gst_element_set_start_time"
- doc="Set the start time of an element. The start time of the element is the
-running time of the element when it last went to the PAUSED state. In READY
-or after a flushing seek, it is set to 0.
-Toplevel elements like #GstPipeline will manage the start_time and
-base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE
-on such a toplevel element will disable the distribution of the base_time to
-the children and can be useful if the application manages the base_time
-itself, for example if you want to synchronize capture from multiple
-pipelines, and you can also ensure that the pipelines have the same clock.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_start_time"
- c:identifier="gst_element_get_start_time"
- doc="Returns the start time of the element. The start time is the
-running time of the clock when this element was last put to PAUSED.
-Usually the start_time is managed by a toplevel element such as
-#GstPipeline.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="is_indexable"
- c:identifier="gst_element_is_indexable"
- doc="Queries if the element can be indexed.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_index"
- c:identifier="gst_element_set_index"
- doc="Set @index on the element. The refcount of the index
-will be increased, any previously set index is unreffed.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_index"
- c:identifier="gst_element_get_index"
- doc="Gets the index from the element.
-element. unref after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Index" c:type="GstIndex*"/>
- </return-value>
- </method>
- <method name="set_bus"
- c:identifier="gst_element_set_bus"
- doc="Sets the bus of the element. Increases the refcount on the bus.
-For internal use only, unless you're testing elements.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_bus"
- c:identifier="gst_element_get_bus"
- doc="Returns the bus of the element. Note that only a #GstPipeline will provide a
-bus for the application.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Bus" c:type="GstBus*"/>
- </return-value>
- </method>
- <method name="add_pad"
- c:identifier="gst_element_add_pad"
- doc="Adds a pad (link point) to @element. @pad's parent will be set to @element;
-see gst_object_set_parent() for refcounting information.
-Pads are not automatically activated so elements should perform the needed
-steps to activate the pad in case this pad is added in the PAUSED or PLAYING
-state. See gst_pad_set_active() for more information about activating pads.
-The pad and the element should be unlocked when calling this function.
-This function will emit the #GstElement::pad-added signal on the element.
-a pad with the same name already existed or the pad already had another
-parent.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_pad"
- c:identifier="gst_element_remove_pad"
- doc="Removes @pad from @element. @pad will be destroyed if it has not been
-referenced elsewhere using gst_object_unparent().
-This function is used by plugin developers and should not be used
-by applications. Pads that were dynamically requested from elements
-with gst_element_get_request_pad() should be released with the
-gst_element_release_request_pad() function instead.
-Pads are not automatically deactivated so elements should perform the needed
-steps to deactivate the pad in case this pad is removed in the PAUSED or
-PLAYING state. See gst_pad_set_active() for more information about
-deactivating pads.
-The pad and the element should be unlocked when calling this function.
-This function will emit the #GstElement::pad-removed signal on the element.
-pad does not belong to the provided element.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="no_more_pads"
- c:identifier="gst_element_no_more_pads"
- doc="Use this function to signal that the element does not expect any more pads
-to show up in the current pipeline. This function should be called whenever
-pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES
-pad templates use this in combination with autopluggers to figure out that
-the element is done initializing its pads.
-This function emits the #GstElement::no-more-pads signal.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_pad"
- c:identifier="gst_element_get_pad"
- doc="Retrieves a pad from @element by name. Tries gst_element_get_static_pad()
-first, then gst_element_get_request_pad().
-to the result pad should be released with gst_object_unref() in case of a static pad
-or gst_element_release_request_pad() in case of a request pad.
-Use gst_element_get_static_pad() or gst_element_get_request_pad() instead.
-depending on the type of the pad."
- deprecated="This function is deprecated as it's unclear if the reference">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_static_pad"
- c:identifier="gst_element_get_static_pad"
- doc="Retrieves a pad from @element by name. This version only retrieves
-already-existing (i.e. 'static') pads.
-usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_request_pad"
- c:identifier="gst_element_get_request_pad"
- doc="Retrieves a pad from the element by name. This version only retrieves
-request pads. The pad should be released with
-gst_element_release_request_pad().">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="release_request_pad"
- c:identifier="gst_element_release_request_pad"
- doc="Makes the element free the previously requested pad as obtained
-with gst_element_get_request_pad().
-This does not unref the pad. If the pad was created by using
-gst_element_get_request_pad(), gst_element_release_request_pad() needs to be
-followed by gst_object_unref() to free the @pad.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="iterate_pads"
- c:identifier="gst_element_iterate_pads"
- doc="Retrieves an iterattor of @element's pads. The iterator should
-be freed after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_src_pads"
- c:identifier="gst_element_iterate_src_pads"
- doc="Retrieves an iterator of @element's source pads.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_sink_pads"
- c:identifier="gst_element_iterate_sink_pads"
- doc="Retrieves an iterator of @element's sink pads.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="send_event"
- c:identifier="gst_element_send_event"
- doc="Sends an event to an element. If the element doesn't implement an
-event handler, the event will be pushed on a random linked sink pad for
-upstream events or a random linked source pad for downstream events.
-This function takes owership of the provided event so you should
-gst_event_ref() it if you want to reuse the event after this call.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </method>
- <method name="seek"
- c:identifier="gst_element_seek"
- doc="Sends a seek event to an element. See gst_event_new_seek() for the details of
-the parameters. The seek event is sent to the element using
-gst_element_send_event().
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="SeekFlags" c:type="GstSeekFlags"/>
- </parameter>
- <parameter name="cur_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType"/>
- </parameter>
- <parameter name="cur" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_query_types"
- c:identifier="gst_element_get_query_types"
- doc="Get an array of query types from the element.
-If the element doesn't implement a query types function,
-the query will be forwarded to the peer of a random linked sink pad.
-be freed or modified.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </return-value>
- </method>
- <method name="query"
- c:identifier="gst_element_query"
- doc="Performs a query on the given element.
-For elements that don't implement a query handler, this function
-forwards the query to a random srcpad or to the peer of a
-random linked sinkpad of this element.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </method>
- <method name="post_message"
- c:identifier="gst_element_post_message"
- doc="Post a message on the element's #GstBus. This function takes ownership of the
-message; if you want to access the message after this call, you should add an
-additional reference before calling.
-%FALSE if the element did not have a bus.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="message_full"
- c:identifier="gst_element_message_full"
- doc="default message connected to code, or %NULL
-default debugging information, or %NULL
-Post an error, warning or info message on the bus from inside an element.
-#GST_MESSAGE_INFO.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- <parameter name="domain" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="code" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="text" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="debug" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="file" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="function" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="line" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_locked_state"
- c:identifier="gst_element_is_locked_state"
- doc="Checks if the state of an element is locked.
-If the state of an element is locked, state changes of the parent don't
-affect the element.
-This way you can leave currently unused elements inside bins. Just lock their
-state before changing the state from #GST_STATE_NULL.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_locked_state"
- c:identifier="gst_element_set_locked_state"
- doc="Locks the state of an element, so state changes of the parent don't affect
-this element anymore.
-MT safe.
-or the elements state-locking needed no change.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="locked_state" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="sync_state_with_parent"
- c:identifier="gst_element_sync_state_with_parent"
- doc="Tries to change the state of the element to the same as its parent.
-If this function returns FALSE, the state of element is undefined.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_state"
- c:identifier="gst_element_get_state"
- doc="Can be %NULL.
-state change or %GST_CLOCK_TIME_NONE for infinite timeout.
-Gets the state of the element.
-For elements that performed an ASYNC state change, as reported by
-gst_element_set_state(), this function will block up to the
-specified timeout value for the state change to complete.
-If the element completes the state change or goes into
-an error, this function returns immediately with a return value of
-%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
-For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
-returns the current and pending state immediately.
-This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
-successfully changed its state but is not able to provide data yet.
-This mostly happens for live sources that only produce data in
-%GST_STATE_PLAYING. While the state change return is equivalent to
-%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
-some sink elements might not be able to complete their state change because
-an element is not producing data to complete the preroll. When setting the
-element to playing, the preroll will complete and playback will start.
-and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
-element is still performing a state change or
-%GST_STATE_CHANGE_FAILURE if the last state change failed.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="state"
- direction="out"
- transfer-ownership="full"
- doc="a pointer to #GstState to hold the state. Can be %NULL.">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="pending"
- direction="out"
- transfer-ownership="full"
- doc="a pointer to #GstState to hold the pending state.">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_state"
- c:identifier="gst_element_set_state"
- doc="Sets the state of the element. This function will try to set the
-requested state by going through all the intermediary states and calling
-the class's state change function for each.
-This function can return #GST_STATE_CHANGE_ASYNC, in which case the
-element will perform the remainder of the state change asynchronously in
-another thread.
-An application can use gst_element_get_state() to wait for the completion
-of the state change or it can wait for a state change message on the bus.
-State changes to %GST_STATE_READY or %GST_STATE_NULL never return
-#GST_STATE_CHANGE_ASYNC.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState"/>
- </parameter>
- </parameters>
- </method>
- <method name="abort_state"
- c:identifier="gst_element_abort_state"
- doc="Abort the state change of the element. This function is used
-by elements that do asynchronous state changes and find out
-something is wrong.
-This function should be called with the STATE_LOCK held.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="change_state"
- c:identifier="gst_element_change_state"
- doc="Perform @transition on @element.
-This function must be called with STATE_LOCK held and is mainly used
-internally.">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="transition" transfer-ownership="none">
- <type name="StateChange" c:type="GstStateChange"/>
- </parameter>
- </parameters>
- </method>
- <method name="continue_state"
- c:identifier="gst_element_continue_state"
- doc="Commit the state change of the element and proceed to the next
-pending state if any. This function is used
-by elements that do asynchronous state changes.
-The core will normally call this method automatically when an
-element returned %GST_STATE_CHANGE_SUCCESS from the state change function.
-If after calling this method the element still has not reached
-the pending state, the next state change is performed.
-This method is used internally and should normally not be called by plugins
-or applications.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="ret" transfer-ownership="none">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </parameter>
- </parameters>
- </method>
- <method name="lost_state"
- c:identifier="gst_element_lost_state"
- doc="Brings the element to the lost state. This function calls
-gst_element_lost_state_full() with the new_base_time set to %TRUE.
-This function is used internally and should normally not be called from
-plugins or applications.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="lost_state_full"
- c:identifier="gst_element_lost_state_full"
- doc="Brings the element to the lost state. The current state of the
-element is copied to the pending state so that any call to
-gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC.
-An ASYNC_START message is posted with indication to distribute a new
-base_time to the element when @new_base_time is %TRUE.
-If the element was PLAYING, it will go to PAUSED. The element
-will be restored to its PLAYING state by the parent pipeline when it
-prerolls again.
-This is mostly used for elements that lost their preroll buffer
-in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush,
-they will go to their pending state again when a new preroll buffer is
-queued. This function can only be called when the element is currently
-not in error or an async state change.
-This function is used internally and should normally not be called from
-plugins or applications.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="new_base_time" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_factory"
- c:identifier="gst_element_get_factory"
- doc="Retrieves the factory that was used to create this element.
-no refcounting is needed.">
- <return-value transfer-ownership="full">
- <type name="ElementFactory" c:type="GstElementFactory*"/>
- </return-value>
- </method>
- <method name="implements_interface"
- c:identifier="gst_element_implements_interface"
- doc="Test whether the given element implements a certain interface of type
-iface_type, and test whether it is supported for this specific instance.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="iface_type"
- transfer-ownership="none"
- doc="type of the interface which we want to be implemented">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="create_all_pads"
- c:identifier="gst_element_create_all_pads"
- doc="Creates a pad for each pad template that is always available.
-This function is only useful during object intialization of
-subclasses of #GstElement.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_compatible_pad"
- c:identifier="gst_element_get_compatible_pad"
- doc="Looks for an unlinked pad to which the given pad can link. It is not
-guaranteed that linking the pads will work, though it should work in most
-cases.
-found. gst_object_unref() after usage.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_compatible_pad_template"
- c:identifier="gst_element_get_compatible_pad_template"
- doc="Retrieves a pad template from @element that is compatible with @compattempl.
-Pads from compatible templates can be linked together.
-unreferencing is necessary.">
- <return-value transfer-ownership="full">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </return-value>
- <parameters>
- <parameter name="compattempl" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- </parameters>
- </method>
- <method name="link"
- c:identifier="gst_element_link"
- doc="Links @src to @dest. The link must be from source to
-destination; the other direction will not be tried. The function looks for
-existing pads that aren't linked yet. It will request new pads if necessary.
-Such pads need to be released manualy when unlinking.
-If multiple links are possible, only one is established.
-Make sure you have added your elements to a bin or pipeline with
-gst_bin_add() before trying to link them.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </method>
- <method name="link_many"
- c:identifier="gst_element_link_many"
- doc="Chain together a series of elements. Uses gst_element_link().
-Make sure you have added your elements to a bin or pipeline with
-gst_bin_add() before trying to link them.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element_2" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="link_filtered"
- c:identifier="gst_element_link_filtered"
- doc="Links @src to @dest using the given caps as filtercaps.
-The link must be from source to
-destination; the other direction will not be tried. The function looks for
-existing pads that aren't linked yet. It will request new pads if necessary.
-If multiple links are possible, only one is established.
-Make sure you have added your elements to a bin or pipeline with
-gst_bin_add() before trying to link them.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="filter" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unlink"
- c:identifier="gst_element_unlink"
- doc="Unlinks all source pads of the source element with all sink pads
-of the sink element to which they are linked.
-If the link has been made using gst_element_link(), it could have created an
-requestpad, which has to be released using gst_element_release_request_pad().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unlink_many"
- c:identifier="gst_element_unlink_many"
- doc="Unlinks a series of elements. Uses gst_element_unlink().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element_2" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="link_pads"
- c:identifier="gst_element_link_pads"
- doc="or NULL for any pad.
-Links the two named pads of the source and destination elements.
-Side effect is that if one of the pads has no parent, it becomes a
-child of the parent of the other element. If they have different
-parents, the link fails.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="srcpadname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="dest" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="destpadname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unlink_pads"
- c:identifier="gst_element_unlink_pads"
- doc="Unlinks the two named pads of the source and destination elements.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="srcpadname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="dest" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="destpadname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="link_pads_filtered"
- c:identifier="gst_element_link_pads_filtered"
- doc="Links the two named pads of the source and destination elements. Side effect
-is that if one of the pads has no parent, it becomes a child of the parent of
-the other element. If they have different parents, the link fails. If @caps
-is not #NULL, makes sure that the caps of the link is a subset of @caps.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="srcpadname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="dest" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="destpadname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="filter" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="seek_simple" c:identifier="gst_element_seek_simple">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="seek_flags" transfer-ownership="none">
- <type name="SeekFlags" c:type="GstSeekFlags"/>
- </parameter>
- <parameter name="seek_pos" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_position"
- c:identifier="gst_element_query_position"
- doc="On return contains the #GstFormat used.
-Queries an element for the stream position.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="cur" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_duration"
- c:identifier="gst_element_query_duration"
- doc="On return contains the #GstFormat used.
-Queries an element for the total stream duration.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format"
- direction="inout"
- transfer-ownership="full"
- doc="a pointer to the #GstFormat asked for.">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="duration"
- direction="out"
- transfer-ownership="full"
- doc="A location in which to store the total duration, or NULL.">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_convert"
- c:identifier="gst_element_query_convert"
- doc="Queries an element to convert @src_val in @src_format to @dest_format.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="src_val" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="dest_val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="found_tags_for_pad"
- c:identifier="gst_element_found_tags_for_pad"
- doc="Posts a message to the bus that new tags were found and pushes the
-tags as event. Takes ownership of the @list.
-This is a utility method for elements. Applications should use the
-#GstTagSetter interface.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="found_tags"
- c:identifier="gst_element_found_tags"
- doc="Posts a message to the bus that new tags were found, and pushes an event
-to all sourcepads. Takes ownership of the @list.
-This is a utility method for elements. Applications should use the
-#GstTagSetter interface.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="state_lock">
- <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
- </field>
- <field name="state_cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="state_cookie">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="current_state">
- <type name="State" c:type="GstState"/>
- </field>
- <field name="next_state">
- <type name="State" c:type="GstState"/>
- </field>
- <field name="pending_state">
- <type name="State" c:type="GstState"/>
- </field>
- <field name="last_return">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </field>
- <field name="bus">
- <type name="Bus" c:type="GstBus*"/>
- </field>
- <field name="clock">
- <type name="Clock" c:type="GstClock*"/>
- </field>
- <field name="base_time">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </field>
- <field name="numpads">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="pads">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="numsrcpads">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="srcpads">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="numsinkpads">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="sinkpads">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="pads_cookie">
- <type name="uint32" c:type="guint32"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="target_state" writable="1">
- <type name="State" c:type="GstState"/>
- </field>
- <field name="start_time" writable="1">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </union>
- <glib:signal name="no-more-pads"
- doc="This signals that the element will not generate more dynamic pads.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="pad-added"
- doc="a new #GstPad has been added to the element.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="new_pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="pad-removed"
- doc="a #GstPad has been removed from the element">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="old_pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="ElementClass"
- c:type="GstElementClass"
- glib:is-gtype-struct-for="Element"
- doc="GStreamer element class. Override the vmethods to implement the element
-functionality.">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="details">
- <type name="ElementDetails" c:type="GstElementDetails"/>
- </field>
- <field name="elementfactory">
- <type name="ElementFactory" c:type="GstElementFactory*"/>
- </field>
- <field name="padtemplates">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="numpadtemplates">
- <type name="int" c:type="gint"/>
- </field>
- <field name="pad_templ_cookie">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="pad_added">
- <callback name="pad_added" c:type="pad_added">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="pad_removed">
- <callback name="pad_removed" c:type="pad_removed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="no_more_pads">
- <callback name="no_more_pads" c:type="no_more_pads">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_new_pad">
- <callback name="request_new_pad" c:type="request_new_pad">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="release_pad">
- <callback name="release_pad" c:type="release_pad">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_state">
- <callback name="get_state" c:type="get_state">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="pending" transfer-ownership="none">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_state">
- <callback name="set_state" c:type="set_state">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="change_state">
- <callback name="change_state" c:type="change_state">
- <return-value transfer-ownership="full">
- <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="transition" transfer-ownership="none">
- <type name="StateChange" c:type="GstStateChange"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_bus">
- <callback name="set_bus" c:type="set_bus">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="bus" transfer-ownership="none">
- <type name="Bus" c:type="GstBus*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="provide_clock">
- <callback name="provide_clock" c:type="provide_clock">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_clock">
- <callback name="set_clock" c:type="set_clock">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_index">
- <callback name="get_index" c:type="get_index">
- <return-value transfer-ownership="full">
- <type name="Index" c:type="GstIndex*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_index">
- <callback name="set_index" c:type="set_index">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="send_event">
- <callback name="send_event" c:type="send_event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_query_types">
- <callback name="get_query_types" c:type="get_query_types">
- <return-value transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="query">
- <callback name="query" c:type="query">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <method name="add_pad_template"
- c:identifier="gst_element_class_add_pad_template"
- doc="Adds a padtemplate to an element class. This is mainly used in the _base_init
-functions of classes.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pad_template"
- c:identifier="gst_element_class_get_pad_template"
- doc="Retrieves a padtemplate from @element_class with the given name.
-<note>If you use this function in the #GInstanceInitFunc of an object class
-that has subclasses, make sure to pass the g_class parameter of the
-#GInstanceInitFunc here.</note>
-No unreferencing is necessary.">
- <return-value transfer-ownership="full">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pad_template_list"
- c:identifier="gst_element_class_get_pad_template_list"
- doc="Retrieves a list of the pad templates associated with @element_class. The
-list must not be modified by the calling code.
-<note>If you use this function in the #GInstanceInitFunc of an object class
-that has subclasses, make sure to pass the g_class parameter of the
-#GInstanceInitFunc here.</note>">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="set_details"
- c:identifier="gst_element_class_set_details"
- doc="Sets the detailed information for a #GstElementClass.
-<note>This function is for use in _base_init functions only.</note>
-The @details are copied."
- deprecated="Use gst_element_class_set_details_simple() instead.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="details" transfer-ownership="none">
- <type name="ElementDetails" c:type="GstElementDetails*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_details_simple"
- c:identifier="gst_element_class_set_details_simple"
- doc="separated with slashes ('/'). See draft-klass.txt of the design docs
-Sets the detailed information for a #GstElementClass. Simpler version of
-gst_element_class_set_details() that generates less linker overhead.
-<note>This function is for use in _base_init functions only.</note>
-The detail parameter strings are copied into the #GstElementDetails for
-the element class."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="longname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="classification" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="author"
- transfer-ownership="none"
- doc="Use \n to separate">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="install_std_props"
- c:identifier="gst_element_class_install_std_props"
- doc="in a NULL terminated
-further 'name', 'id', 'flags' triplets and terminated by NULL.
-Adds a list of standardized properties with types to the @klass.
-the id is for the property switch in your get_prop method, and
-the flags determine readability / writeability.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="first_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="ElementDetails"
- c:type="GstElementDetails"
- doc="separated with slashes ('/'). See draft-klass.txt of the design docs
-for more details and common types
-This struct defines the public information about a #GstElement. It contains
-meta-data about the element that is mostly for the benefit of editors.
-The @klass member can be used by applications to filter elements based
-on functionality.">
- <field name="longname" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="klass" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="description" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="author" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="ElementFactory"
- c:type="GstElementFactory"
- doc="The opaque #GstElementFactory data structure."
- parent="PluginFeature"
- glib:type-name="GstElementFactory"
- glib:get-type="gst_element_factory_get_type"
- glib:type-struct="ElementFactoryClass">
- <function name="find"
- c:identifier="gst_element_factory_find"
- doc="Search for an element factory of the given name. Refs the returned
-element factory; caller is responsible for unreffing.">
- <return-value transfer-ownership="full">
- <type name="ElementFactory" c:type="GstElementFactory*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="make"
- c:identifier="gst_element_factory_make"
- doc="Create a new element of the type defined by the given element factory.
-If name is NULL, then the element will receive a guaranteed unique name,
-consisting of the element factory name and a number.
-If name is given, it will be given the name supplied.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="factoryname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <method name="get_element_type"
- c:identifier="gst_element_factory_get_element_type"
- doc="Get the #GType for elements managed by this factory. The type can
-only be retrieved if the element factory is loaded, which can be
-assured with gst_plugin_feature_load().
-the factory is not loaded.">
- <return-value transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </return-value>
- </method>
- <method name="get_longname"
- c:identifier="gst_element_factory_get_longname"
- doc="Gets the longname for this factory">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_klass"
- c:identifier="gst_element_factory_get_klass"
- doc="Gets the class for this factory.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_description"
- c:identifier="gst_element_factory_get_description"
- doc="Gets the description for this factory.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_author"
- c:identifier="gst_element_factory_get_author"
- doc="Gets the author for this factory.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_num_pad_templates"
- c:identifier="gst_element_factory_get_num_pad_templates"
- doc="Gets the number of pad_templates in this factory.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_static_pad_templates"
- c:identifier="gst_element_factory_get_static_pad_templates"
- doc="Gets the #GList of #GstStaticPadTemplate for this factory.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="get_uri_type"
- c:identifier="gst_element_factory_get_uri_type"
- doc="Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <method name="get_uri_protocols"
- c:identifier="gst_element_factory_get_uri_protocols"
- doc="Gets a NULL-terminated array of protocols this element supports or NULL if
-no protocols are supported. You may not change the contents of the returned
-array, as it is still owned by the element factory. Use g_strdupv() to
-make a copy of the protocol string array if you need to.">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </method>
- <method name="has_interface"
- c:identifier="gst_element_factory_has_interface"
- doc="Check if @factory implements the interface with name @interfacename."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="interfacename" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="create"
- c:identifier="gst_element_factory_create"
- doc="Create a new element of the type defined by the given elementfactory.
-It will be given the name supplied, since all elements require a name as
-their first argument.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="can_src_caps"
- c:identifier="gst_element_factory_can_src_caps"
- doc="Checks if the factory can source the given capability.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="can_sink_caps"
- c:identifier="gst_element_factory_can_sink_caps"
- doc="Checks if the factory can sink the given capability.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="PluginFeature" c:type="GstPluginFeature"/>
- </field>
- <field name="type">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="details">
- <type name="ElementDetails" c:type="GstElementDetails"/>
- </field>
- <field name="staticpadtemplates">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="numpadtemplates">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="uri_type">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="uri_protocols">
- <type name="utf8" c:type="gchar**"/>
- </field>
- <field name="interfaces">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="ElementFactoryClass"
- c:type="GstElementFactoryClass"
- glib:is-gtype-struct-for="ElementFactory">
- <field name="parent_class">
- <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="ElementFlags"
- doc="gst_bin_remove() on a child already being removed immediately returns FALSE
-The standard flags that an element may have."
- c:type="GstElementFlags">
- <member name="locked_state"
- value="16"
- c:identifier="GST_ELEMENT_LOCKED_STATE"/>
- <member name="is_sink" value="32" c:identifier="GST_ELEMENT_IS_SINK"/>
- <member name="unparenting"
- value="64"
- c:identifier="GST_ELEMENT_UNPARENTING"/>
- <member name="flag_last"
- value="1048576"
- c:identifier="GST_ELEMENT_FLAG_LAST"/>
- </bitfield>
- <record name="Event" c:type="GstEvent" doc="A #GstEvent.">
- <field name="mini_object" writable="1">
- <type name="MiniObject" c:type="GstMiniObject"/>
- </field>
- <field name="type" writable="1">
- <type name="EventType" c:type="GstEventType"/>
- </field>
- <field name="timestamp" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="src" writable="1">
- <type name="Object" c:type="GstObject*"/>
- </field>
- <field name="structure" writable="1">
- <type name="Structure" c:type="GstStructure*"/>
- </field>
- <union name="abidata" c:type="abidata">
- <field name="seqnum" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- </union>
- <constructor name="new_custom"
- c:identifier="gst_event_new_custom"
- doc="the structure.
-Create a new custom-typed event. This can be used for anything not
-handled by other event-specific functions to pass an event to another
-element.
-Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro,
-assigning a free number and filling in the correct direction and
-serialization flags.
-New custom events can also be created by subclassing the event type if
-needed.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="EventType" c:type="GstEventType"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_flush_start"
- c:identifier="gst_event_new_flush_start"
- doc="Allocate a new flush start event. The flush start event can be sent
-upstream and downstream and travels out-of-bounds with the dataflow.
-It marks pads as being flushing and will make them return
-#GST_FLOW_WRONG_STATE when used for data flow with gst_pad_push(),
-gst_pad_chain(), gst_pad_alloc_buffer(), gst_pad_get_range() and
-gst_pad_pull_range(). Any event (except a #GST_EVENT_FLUSH_STOP) received
-on a flushing pad will return %FALSE immediately.
-Elements should unlock any blocking functions and exit their streaming
-functions as fast as possible when this event is received.
-This event is typically generated after a seek to flush out all queued data
-in the pipeline so that the new media is played as soon as possible.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- </constructor>
- <constructor name="new_flush_stop"
- c:identifier="gst_event_new_flush_stop"
- doc="Allocate a new flush stop event. The flush stop event can be sent
-upstream and downstream and travels serialized with the dataflow.
-It is typically sent after sending a FLUSH_START event to make the
-pads accept data again.
-Elements can process this event synchronized with the dataflow since
-the preceeding FLUSH_START event stopped the dataflow.
-This event is typically generated to complete a seek and to resume
-dataflow.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- </constructor>
- <constructor name="new_eos"
- c:identifier="gst_event_new_eos"
- doc="Create a new EOS event. The eos event can only travel downstream
-synchronized with the buffer flow. Elements that receive the EOS
-event on a pad can return #GST_FLOW_UNEXPECTED as a #GstFlowReturn
-when data after the EOS event arrives.
-The EOS event will travel down to the sink elements in the pipeline
-which will then post the #GST_MESSAGE_EOS on the bus after they have
-finished playing any buffered data.
-When all sinks have posted an EOS message, an EOS message is
-forwarded to the application.
-The EOS event itself will not cause any state transitions of the pipeline.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- </constructor>
- <constructor name="new_new_segment"
- c:identifier="gst_event_new_new_segment"
- doc="Allocate a new newsegment event with the given format/values tripplets
-This method calls gst_event_new_new_segment_full() passing a default
-value of 1.0 for applied_rate">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="update" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_new_segment_full"
- c:identifier="gst_event_new_new_segment_full"
- doc="Allocate a new newsegment event with the given format/values triplets.
-The newsegment event marks the range of buffers to be processed. All
-data not within the segment range is not to be processed. This can be
-used intelligently by plugins to apply more efficient methods of skipping
-unneeded data. The valid range is expressed with the @start and @stop
-values.
-The position value of the segment is used in conjunction with the start
-value to convert the buffer timestamps into the stream time. This is
-usually done in sinks to report the current stream_time.
-is a valid @stop given, it must be greater or equal the @start, including
-when the indicated playback @rate is < 0.
-The @applied_rate value provides information about any rate adjustment that
-has already been made to the timestamps and content on the buffers of the
-stream. (@rate * @applied_rate) should always equal the rate that has been
-requested for playback. For example, if an element has an input segment
-with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust
-incoming timestamps and buffer content by half and output a newsegment event
-with @rate of 1.0 and @applied_rate of 2.0
-After a newsegment event, the buffer stream time is calculated with:
-position + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)"
- version="0.10.6">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="update" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="applied_rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_tag"
- c:identifier="gst_event_new_tag"
- doc="Generates a metadata tag event from the given @taglist.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="taglist" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_buffer_size"
- c:identifier="gst_event_new_buffer_size"
- doc="Create a new buffersize event. The event is sent downstream and notifies
-elements that they should provide a buffer of the specified dimensions.
-When the @async flag is set, a thread boundary is prefered.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="minsize" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="maxsize" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="async" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_qos"
- c:identifier="gst_event_new_qos"
- doc="Allocate a new qos event with the given values.
-The QOS event is generated in an element that wants an upstream
-element to either reduce or increase its rate because of
-high/low CPU load or other resource usage such as network performance.
-Typically sinks generate these events for each buffer they receive.
-element that generated the QoS event (usually the sink). The value is
-generally computed based on more long term statistics about the streams
-timestamps compared to the clock.
-A value < 1.0 indicates that the upstream element is producing data faster
-than real-time. A value > 1.0 indicates that the upstream element is not
-producing data fast enough. 1.0 is the ideal @proportion value. The
-proportion value can safely be used to lower or increase the quality of
-the element.
-buffer that caused the element to generate the QOS event. A negative value
-means that the buffer with @timestamp arrived in time. A positive value
-indicates how late the buffer with @timestamp was.
-to generate the QOS event. It is expressed in running time and thus an ever
-increasing value.
-The upstream element can use the @diff and @timestamp values to decide
-whether to process more buffers. For possitive @diff, all buffers with
-timestamp <= @timestamp + @diff will certainly arrive late in the sink
-as well. A (negative) @diff value so that @timestamp + @diff would yield a
-result smaller than 0 is not allowed.
-The application can use general event probes to intercept the QoS
-event and implement custom application specific QoS handling.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="proportion" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="diff" transfer-ownership="none">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_seek"
- c:identifier="gst_event_new_seek"
- doc="Allocate a new seek event with the given parameters.
-The seek event configures playback of the pipeline between @start to @stop
-at the speed given in @rate, also called a playback segment.
-The @start and @stop values are expressed in @format.
-A @rate of 1.0 means normal playback rate, 2.0 means double speed.
-Negatives values means backwards playback. A value of 0.0 for the
-rate is not allowed and should be accomplished instead by PAUSING the
-pipeline.
-A pipeline has a default playback segment configured with a start
-position of 0, a stop position of -1 and a rate of 1.0. The currently
-configured playback segment can be queried with #GST_QUERY_SEGMENT.
-start and stop fields in playback segment. Adjustments can be made relative
-or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE
-means that the position should not be updated.
-When the rate is positive and @start has been updated, playback will start
-from the newly configured start position.
-For negative rates, playback will start from the newly configured stop
-position (if any). If the stop position if updated, it must be different from
--1 for negative rates.
-It is not possible to seek relative to the current playback position, to do
-this, PAUSE the pipeline, query the current playback position with
-#GST_QUERY_POSITION and update the playback segment current position with a
-#GST_SEEK_TYPE_SET to the desired position.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="SeekFlags" c:type="GstSeekFlags"/>
- </parameter>
- <parameter name="start_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_navigation"
- c:identifier="gst_event_new_navigation"
- doc="structure.
-Create a new navigation event from the given description.">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_latency"
- c:identifier="gst_event_new_latency"
- doc="Create a new latency event. The event is sent upstream from the sinks and
-notifies elements that they should add an additional @latency to the
-running time before synchronising against the clock.
-The latency is mostly used in live sinks and is always expressed in
-the time format."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="latency" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_step"
- c:identifier="gst_event_new_step"
- doc="Create a new step event. The purpose of the step event is to instruct a sink
-to skip @amount (expressed in @format) of media. It can be used to implement
-stepping through the video frame by frame or for doing fast trick modes.
-A rate of <= 0.0 is not allowed, pause the pipeline or reverse the playback
-direction of the pipeline to get the same effect.
-The @flush flag will clear any pending data in the pipeline before starting
-the step operation.
-The @intermediate flag instructs the pipeline that this step operation is
-part of a larger step operation."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="amount" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="flush" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="intermediate" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_sink_message"
- c:identifier="gst_event_new_sink_message"
- doc="Create a new sink-message event. The purpose of the sink-message event is
-to instruct a sink to post the message contained in the event synchronized
-with the stream."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="get_structure"
- c:identifier="gst_event_get_structure"
- doc="Access the structure of the event.
-owned by the event, which means that you should not free it and
-that the pointer becomes invalid when you free the event.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- </method>
- <method name="has_name"
- c:identifier="gst_event_has_name"
- doc="Checks if @event has the given @name. This function is usually used to
-check the name of a custom event."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_seqnum"
- c:identifier="gst_event_get_seqnum"
- doc="Retrieve the sequence number of a event.
-Events have ever-incrementing sequence numbers, which may also be set
-explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to
-indicate that a event corresponds to some other set of events or messages,
-for example an EOS event corresponding to a SEEK event. It is considered good
-practice to make this correspondence when possible, though it is not
-required.
-Note that events and messages share the same sequence number incrementor;
-two events or messages will never not have the same sequence number unless
-that correspondence was made explicitly.
-MT safe."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="set_seqnum"
- c:identifier="gst_event_set_seqnum"
- doc="Set the sequence number of a event.
-This function might be called by the creator of a event to indicate that the
-event relates to other events or messages. See gst_event_get_seqnum() for
-more information.
-MT safe."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="seqnum" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_new_segment"
- c:identifier="gst_event_parse_new_segment"
- doc="Get the update flag, rate, format, start, stop and position in the
-newsegment event. In general, gst_event_parse_new_segment_full() should
-be used instead of this, to also retrieve the applied_rate value of the
-segment. See gst_event_new_new_segment_full() for a full description
-of the newsegment event.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="update" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="start" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="stop" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="position" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_new_segment_full"
- c:identifier="gst_event_parse_new_segment_full"
- doc="Get the update, rate, applied_rate, format, start, stop and
-position in the newsegment event. See gst_event_new_new_segment_full()
-for a full description of the newsegment event."
- version="0.10.6">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="update" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="applied_rate"
- direction="out"
- transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="start" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="stop" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="position" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_tag"
- c:identifier="gst_event_parse_tag"
- doc="Parses a tag @event and stores the results in the given @taglist location.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="taglist" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList**"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_buffer_size"
- c:identifier="gst_event_parse_buffer_size"
- doc="Get the format, minsize, maxsize and async-flag in the buffersize event.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="minsize" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="maxsize" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="async" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_qos"
- c:identifier="gst_event_parse_qos"
- doc="Get the proportion, diff and timestamp in the qos event. See
-gst_event_new_qos() for more information about the different QoS values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="proportion"
- direction="out"
- transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="diff" transfer-ownership="none">
- <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_seek"
- c:identifier="gst_event_parse_seek"
- doc="Parses a seek @event and stores the results in the given result locations.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="SeekFlags" c:type="GstSeekFlags*"/>
- </parameter>
- <parameter name="start_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType*"/>
- </parameter>
- <parameter name="start" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="stop_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType*"/>
- </parameter>
- <parameter name="stop" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_latency"
- c:identifier="gst_event_parse_latency"
- doc="Get the latency in the latency event."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="latency" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_step"
- c:identifier="gst_event_parse_step"
- doc="Parse the step event."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="amount" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="flush" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="intermediate"
- direction="out"
- transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_sink_message"
- c:identifier="gst_event_parse_sink_message"
- doc="Parse the sink-message event. Unref @msg after usage."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="GstMessage**"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="EventClass" c:type="GstEventClass">
- <field name="mini_object_class" writable="1">
- <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="EventType"
- doc="without a NEWSEGMENT event.
-send messages that should be emitted in sync with
-rendering.
-that the downstream elements are being starved of or
-flooded with data.
-user requests, such as mouse or keyboard movements,
-to upstream elements.
-data flow.
-In-band when travelling downstream.
-#GstEventType lists the standard event types that can be sent in a pipeline.
-The custom event types can be used for private messages between elements
-that can't be expressed using normal
-GStreamer buffer passing semantics. Custom events carry an arbitrary
-#GstStructure.
-Specific custom events are distinguished by the name of the structure."
- c:type="GstEventType">
- <member name="unknown" value="0" c:identifier="GST_EVENT_UNKNOWN"/>
- <member name="flush_start"
- value="19"
- c:identifier="GST_EVENT_FLUSH_START"/>
- <member name="flush_stop"
- value="39"
- c:identifier="GST_EVENT_FLUSH_STOP"/>
- <member name="eos" value="86" c:identifier="GST_EVENT_EOS"/>
- <member name="newsegment"
- value="102"
- c:identifier="GST_EVENT_NEWSEGMENT"/>
- <member name="tag" value="118" c:identifier="GST_EVENT_TAG"/>
- <member name="buffersize"
- value="134"
- c:identifier="GST_EVENT_BUFFERSIZE"/>
- <member name="sink_message"
- value="150"
- c:identifier="GST_EVENT_SINK_MESSAGE"/>
- <member name="qos" value="241" c:identifier="GST_EVENT_QOS"/>
- <member name="seek" value="257" c:identifier="GST_EVENT_SEEK"/>
- <member name="navigation"
- value="273"
- c:identifier="GST_EVENT_NAVIGATION"/>
- <member name="latency" value="289" c:identifier="GST_EVENT_LATENCY"/>
- <member name="step" value="305" c:identifier="GST_EVENT_STEP"/>
- <member name="custom_upstream"
- value="513"
- c:identifier="GST_EVENT_CUSTOM_UPSTREAM"/>
- <member name="custom_downstream"
- value="518"
- c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM"/>
- <member name="custom_downstream_oob"
- value="514"
- c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_OOB"/>
- <member name="custom_both"
- value="519"
- c:identifier="GST_EVENT_CUSTOM_BOTH"/>
- <member name="custom_both_oob"
- value="515"
- c:identifier="GST_EVENT_CUSTOM_BOTH_OOB"/>
- </bitfield>
- <bitfield name="EventTypeFlags"
- doc="flow.
-#GstEventTypeFlags indicate the aspects of the different #GstEventType
-values. You can get the type flags of a #GstEventType with the
-gst_event_type_get_flags() function."
- c:type="GstEventTypeFlags">
- <member name="upstream"
- value="1"
- c:identifier="GST_EVENT_TYPE_UPSTREAM"/>
- <member name="downstream"
- value="2"
- c:identifier="GST_EVENT_TYPE_DOWNSTREAM"/>
- <member name="serialized"
- value="4"
- c:identifier="GST_EVENT_TYPE_SERIALIZED"/>
- </bitfield>
- <constant name="FOURCC_FORMAT" value="c%c%c%c">
- <type name="utf8"/>
- </constant>
- <callback name="FilterFunc"
- c:type="GstFilterFunc"
- doc="Function prototype for a filter callback taht can be use in gst_filter_run().
-The function should apply its filtering to @obj. Additional data passed to
-gst_filter_run() are in @data.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="FlowReturn"
- doc="sent yet) (unused/unimplemented).
-this error should post an error message with more
-details.
-this (and higher) to define custom success
-codes. Since 0.10.7.
-custom success code to this to avoid compiler
-warnings). Since 0.10.29.
-this (and lower) to define custom error codes.
-Since 0.10.7.
-custom error code to this to avoid compiler
-warnings). Since 0.10.29.
-The result of passing data to a pad.
-Note that the custom return values should not be exposed outside of the
-element scope and are available since 0.10.7."
- c:type="GstFlowReturn">
- <member name="custom_success_2"
- value="102"
- c:identifier="GST_FLOW_CUSTOM_SUCCESS_2"/>
- <member name="custom_success_1"
- value="101"
- c:identifier="GST_FLOW_CUSTOM_SUCCESS_1"/>
- <member name="custom_success"
- value="100"
- c:identifier="GST_FLOW_CUSTOM_SUCCESS"/>
- <member name="resend" value="1" c:identifier="GST_FLOW_RESEND"/>
- <member name="ok" value="0" c:identifier="GST_FLOW_OK"/>
- <member name="not_linked" value="-1" c:identifier="GST_FLOW_NOT_LINKED"/>
- <member name="wrong_state"
- value="-2"
- c:identifier="GST_FLOW_WRONG_STATE"/>
- <member name="unexpected" value="-3" c:identifier="GST_FLOW_UNEXPECTED"/>
- <member name="not_negotiated"
- value="-4"
- c:identifier="GST_FLOW_NOT_NEGOTIATED"/>
- <member name="error" value="-5" c:identifier="GST_FLOW_ERROR"/>
- <member name="not_supported"
- value="-6"
- c:identifier="GST_FLOW_NOT_SUPPORTED"/>
- <member name="custom_error"
- value="-100"
- c:identifier="GST_FLOW_CUSTOM_ERROR"/>
- <member name="custom_error_1"
- value="-101"
- c:identifier="GST_FLOW_CUSTOM_ERROR_1"/>
- <member name="custom_error_2"
- value="-102"
- c:identifier="GST_FLOW_CUSTOM_ERROR_2"/>
- </enumeration>
- <enumeration name="Format"
- doc="samples for raw audio, frames/fields for raw video (some, but not all,
-elements support this; use @GST_FORMAT_TIME if you don't have a good
-reason to query for samples/frames)
-May 2009)
-this as of May 2009)
-Standard predefined formats"
- c:type="GstFormat">
- <member name="undefined" value="0" c:identifier="GST_FORMAT_UNDEFINED"/>
- <member name="default" value="1" c:identifier="GST_FORMAT_DEFAULT"/>
- <member name="bytes" value="2" c:identifier="GST_FORMAT_BYTES"/>
- <member name="time" value="3" c:identifier="GST_FORMAT_TIME"/>
- <member name="buffers" value="4" c:identifier="GST_FORMAT_BUFFERS"/>
- <member name="percent" value="5" c:identifier="GST_FORMAT_PERCENT"/>
- </enumeration>
- <record name="FormatDefinition"
- c:type="GstFormatDefinition"
- doc="A format definition">
- <field name="value" writable="1">
- <type name="Format" c:type="GstFormat"/>
- </field>
- <field name="nick" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="description" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="quark" writable="1">
- <type name="GLib.Quark" c:type="GQuark"/>
- </field>
- </record>
- <glib:boxed c:type="GstGError"
- glib:name="GError"
- glib:type-name="GstGError"
- glib:get-type="gst_g_error_get_type">
- </glib:boxed>
- <class name="GhostPad"
- c:type="GstGhostPad"
- doc="Opaque #GstGhostPad structure."
- parent="ProxyPad"
- glib:type-name="GstGhostPad"
- glib:get-type="gst_ghost_pad_get_type"
- glib:type-struct="GhostPadClass">
- <constructor name="new"
- c:identifier="gst_ghost_pad_new"
- doc="Create a new ghostpad with @target as the target. The direction will be taken
-from the target pad. @target must be unlinked.
-Will ref the target.">
- <return-value transfer-ownership="full">
- <type name="GhostPad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_no_target"
- c:identifier="gst_ghost_pad_new_no_target"
- doc="Create a new ghostpad without a target with the given direction.
-A target can be set on the ghostpad later with the
-gst_ghost_pad_set_target() function.
-The created ghostpad will not have a padtemplate.">
- <return-value transfer-ownership="full">
- <type name="GhostPad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="dir" transfer-ownership="none">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_template"
- c:identifier="gst_ghost_pad_new_from_template"
- doc="Create a new ghostpad with @target as the target. The direction will be taken
-from the target pad. The template used on the ghostpad will be @template.
-Will ref the target."
- version="0.10.10">
- <return-value transfer-ownership="full">
- <type name="GhostPad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_no_target_from_template"
- c:identifier="gst_ghost_pad_new_no_target_from_template"
- doc="Create a new ghostpad based on @templ, without setting a target. The
-direction will be taken from the @templ."
- version="0.10.10">
- <return-value transfer-ownership="full">
- <type name="GhostPad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="get_target"
- c:identifier="gst_ghost_pad_get_target"
- doc="Get the target pad of @gpad. Unref target pad after usage.
-has no target set. Unref target pad after usage.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- </method>
- <method name="set_target"
- c:identifier="gst_ghost_pad_set_target"
- doc="Set the new target of the ghostpad @gpad. Any existing target
-is unlinked and links to the new target are established. if @newtarget is
-NULL the target will be cleared.
-when the internal pads could not be linked.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="newtarget" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="construct"
- c:identifier="gst_ghost_pad_construct"
- doc="Finish initialization of a newly allocated ghost pad.
-This function is most useful in language bindings and when subclassing
-#GstGhostPad; plugin and application developers normally will not call this
-function. Call this function directly after a call to g_object_new
-(GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL)."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <field name="pad">
- <type name="ProxyPad" c:type="GstProxyPad"/>
- </field>
- <field name="priv">
- <type name="GhostPadPrivate" c:type="GstGhostPadPrivate*"/>
- </field>
- </class>
- <record name="GhostPadClass"
- c:type="GstGhostPadClass"
- glib:is-gtype-struct-for="GhostPad">
- <field name="parent_class">
- <type name="ProxyPadClass" c:type="GstProxyPadClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="GhostPadPrivate" c:type="GstGhostPadPrivate">
- </record>
- <constant name="INDEX_ID_INVALID" value="-1">
- <type name="int"/>
- </constant>
- <interface name="ImplementsInterface"
- c:type="GstImplementsInterface"
- doc="Opaque #GstImplementsInterface structure."
- glib:type-name="GstImplementsInterface"
- glib:get-type="gst_implements_interface_get_type"
- glib:type-struct="ImplementsInterfaceClass">
- <prerequisite name="Element"/>
- <virtual-method name="supported">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="iface_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </virtual-method>
- </interface>
- <record name="ImplementsInterfaceClass"
- c:type="GstImplementsInterfaceClass"
- glib:is-gtype-struct-for="ImplementsInterface">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="supported">
- <callback name="supported" c:type="supported">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="iface" transfer-ownership="none">
- <type name="ImplementsInterface"
- c:type="GstImplementsInterface*"/>
- </parameter>
- <parameter name="iface_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="Index"
- c:type="GstIndex"
- doc="Opaque #GstIndex structure."
- parent="Object"
- glib:type-name="GstIndex"
- glib:get-type="gst_index_get_type"
- glib:type-struct="IndexClass">
- <constructor name="new"
- c:identifier="gst_index_new"
- doc="Create a new tileindex object">
- <return-value transfer-ownership="full">
- <type name="Index" c:type="GstIndex*"/>
- </return-value>
- </constructor>
- <virtual-method name="get_writer_id">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="writer_id"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="writer_string" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="commit" invoker="commit">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="add_entry">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="entry" transfer-ownership="none">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_assoc_entry">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="method" transfer-ownership="none">
- <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="func" transfer-ownership="none">
- <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="7">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="commit"
- c:identifier="gst_index_commit"
- doc="Tell the index that the writer with the given id is done
-with this index and is not going to write any more entries
-to it.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_group"
- c:identifier="gst_index_get_group"
- doc="Get the id of the current group.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <method name="new_group"
- c:identifier="gst_index_new_group"
- doc="Create a new group for the given index. It will be
-set as the current group.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <method name="set_group"
- c:identifier="gst_index_set_group"
- doc="Set the current groupnumber to the given argument.
-did not exist.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="groupnum" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_certainty"
- c:identifier="gst_index_set_certainty"
- doc="Set the certainty of the given index.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="certainty" transfer-ownership="none">
- <type name="IndexCertainty" c:type="GstIndexCertainty"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_certainty"
- c:identifier="gst_index_get_certainty"
- doc="Get the certainty of the given index.">
- <return-value transfer-ownership="full">
- <type name="IndexCertainty" c:type="GstIndexCertainty"/>
- </return-value>
- </method>
- <method name="set_filter"
- c:identifier="gst_index_set_filter"
- doc="Lets the app register a custom filter function so that
-it can select what entries should be stored in the index.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="filter"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="IndexFilter" c:type="GstIndexFilter"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_filter_full"
- c:identifier="gst_index_set_filter_full"
- doc="Lets the app register a custom filter function so that
-it can select what entries should be stored in the index.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="filter"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <type name="IndexFilter" c:type="GstIndexFilter"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="user_data_destroy"
- transfer-ownership="none"
- scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_resolver"
- c:identifier="gst_index_set_resolver"
- doc="Lets the app register a custom function to map index
-ids to writer descriptions.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="resolver"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="IndexResolver" c:type="GstIndexResolver"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_resolver_full"
- c:identifier="gst_index_set_resolver_full"
- doc="Lets the app register a custom function to map index
-ids to writer descriptions."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="resolver"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <type name="IndexResolver" c:type="GstIndexResolver"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="user_data_destroy"
- transfer-ownership="none"
- scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_writer_id"
- c:identifier="gst_index_get_writer_id"
- doc="Before entries can be added to the index, a writer
-should obtain a unique id. The methods to add new entries
-to the index require this id as an argument.
-The application can implement a custom function to map the writer object
-to a string. That string will be used to register or look up an id
-in the index.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="writer" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="id" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_format"
- c:identifier="gst_index_add_format"
- doc="Adds a format entry into the index. This function is
-used to map dynamic GstFormat ids to their original
-format key.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_associationv"
- c:identifier="gst_index_add_associationv"
- doc="Associate given format/value pairs with each other.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </parameter>
- <parameter name="n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <type name="IndexAssociation" c:type="GstIndexAssociation*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_association"
- c:identifier="gst_index_add_association"
- doc="Associate given format/value pairs with each other.
-Be sure to pass gint64 values to this functions varargs,
-you might want to use a gint64 cast to be sure.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="add_object"
- c:identifier="gst_index_add_object"
- doc="Add the given object to the index with the given key.
-This function is not yet implemented.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="key" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_id"
- c:identifier="gst_index_add_id"
- doc="Add an id entry into the index.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="description" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_assoc_entry"
- c:identifier="gst_index_get_assoc_entry"
- doc="Finds the given format/value in the index
-value was not found.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="method" transfer-ownership="none">
- <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_assoc_entry_full"
- c:identifier="gst_index_get_assoc_entry_full"
- doc="Finds the given format/value in the index with the given
-compare function and user_data.
-value was not found.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="method" transfer-ownership="none">
- <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="7">
- <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <property name="resolver" writable="1">
- <type name="IndexResolver" c:type="GstIndexResolver"/>
- </property>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="groups">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="curgroup">
- <type name="IndexGroup" c:type="GstIndexGroup*"/>
- </field>
- <field name="maxgroup">
- <type name="int" c:type="gint"/>
- </field>
- <field name="method">
- <type name="IndexResolverMethod" c:type="GstIndexResolverMethod"/>
- </field>
- <field name="resolver">
- <type name="IndexResolver" c:type="GstIndexResolver"/>
- </field>
- <field name="resolver_user_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="filter">
- <type name="IndexFilter" c:type="GstIndexFilter"/>
- </field>
- <field name="filter_user_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="filter_user_data_destroy">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </field>
- <field name="writers">
- <type name="GLib.HashTable" c:type="GHashTable*"/>
- </field>
- <field name="last_id">
- <type name="int" c:type="gint"/>
- </field>
- <field name="resolver_user_data_destroy">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="entry-added">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="IndexEntry" c:type="GstIndexEntry"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="IndexAssociation"
- c:type="GstIndexAssociation"
- doc="An association in an entry.">
- <field name="format" writable="1">
- <type name="Format" c:type="GstFormat"/>
- </field>
- <field name="value" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- </record>
- <enumeration name="IndexCertainty"
- doc="The certainty of a group in the index."
- c:type="GstIndexCertainty">
- <member name="unknown" value="0" c:identifier="GST_INDEX_UNKNOWN"/>
- <member name="certain" value="1" c:identifier="GST_INDEX_CERTAIN"/>
- <member name="fuzzy" value="2" c:identifier="GST_INDEX_FUZZY"/>
- </enumeration>
- <record name="IndexClass"
- c:type="GstIndexClass"
- glib:is-gtype-struct-for="Index">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="get_writer_id">
- <callback name="get_writer_id" c:type="get_writer_id">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="writer_id"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="writer_string" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="commit">
- <callback name="commit" c:type="commit">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="add_entry">
- <callback name="add_entry" c:type="add_entry">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_assoc_entry">
- <callback name="get_assoc_entry" c:type="get_assoc_entry">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="id" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="method" transfer-ownership="none">
- <type name="IndexLookupMethod" c:type="GstIndexLookupMethod"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="func" transfer-ownership="none">
- <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="7">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="entry_added">
- <callback name="entry_added" c:type="entry_added">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="IndexEntry"
- c:type="GstIndexEntry"
- doc="The basic element of an index."
- glib:type-name="GstIndexEntry"
- glib:get-type="gst_index_entry_get_type">
- <field name="type" writable="1">
- <type name="IndexEntryType" c:type="GstIndexEntryType"/>
- </field>
- <field name="id" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <union name="data" c:type="data">
- <record name="id" c:type="id">
- <field name="description" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- </record>
- <record name="assoc" c:type="assoc">
- <field name="nassocs" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="assocs" writable="1">
- <type name="IndexAssociation" c:type="GstIndexAssociation*"/>
- </field>
- <field name="flags" writable="1">
- <type name="AssocFlags" c:type="GstAssocFlags"/>
- </field>
- </record>
- <record name="object" c:type="object">
- <field name="key" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="type" writable="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="object" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- </record>
- <record name="format" c:type="format">
- <field name="format" writable="1">
- <type name="Format" c:type="GstFormat"/>
- </field>
- <field name="key" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- </record>
- </union>
- <method name="copy"
- c:identifier="gst_index_entry_copy"
- doc="Copies an entry and returns the result.">
- <return-value transfer-ownership="full">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_index_entry_free"
- doc="Free the memory used by the given entry.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="assoc_map"
- c:identifier="gst_index_entry_assoc_map"
- doc="Gets alternative formats associated with the indexentry.
-format.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="IndexEntryType"
- doc="The different types of entries in the index."
- c:type="GstIndexEntryType">
- <member name="id" value="0" c:identifier="GST_INDEX_ENTRY_ID"/>
- <member name="association"
- value="1"
- c:identifier="GST_INDEX_ENTRY_ASSOCIATION"/>
- <member name="object" value="2" c:identifier="GST_INDEX_ENTRY_OBJECT"/>
- <member name="format" value="3" c:identifier="GST_INDEX_ENTRY_FORMAT"/>
- </enumeration>
- <class name="IndexFactory"
- c:type="GstIndexFactory"
- doc="The GstIndexFactory object"
- parent="PluginFeature"
- glib:type-name="GstIndexFactory"
- glib:get-type="gst_index_factory_get_type"
- glib:type-struct="IndexFactoryClass">
- <constructor name="new"
- c:identifier="gst_index_factory_new"
- doc="Create a new indexfactory with the given parameters">
- <return-value transfer-ownership="full">
- <type name="IndexFactory" c:type="GstIndexFactory*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="longdesc" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </constructor>
- <function name="find"
- c:identifier="gst_index_factory_find"
- doc="Search for an indexfactory of the given name.">
- <return-value transfer-ownership="full">
- <type name="IndexFactory" c:type="GstIndexFactory*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="make"
- c:identifier="gst_index_factory_make"
- doc="Create a new #GstIndex instance from the
-indexfactory with the given name.">
- <return-value transfer-ownership="full">
- <type name="Index" c:type="GstIndex*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <method name="destroy"
- c:identifier="gst_index_factory_destroy"
- doc="Removes the index from the global list.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="create"
- c:identifier="gst_index_factory_create"
- doc="Create a new #GstIndex instance from the
-given indexfactory.">
- <return-value transfer-ownership="full">
- <type name="Index" c:type="GstIndex*"/>
- </return-value>
- </method>
- <field name="feature">
- <type name="PluginFeature" c:type="GstPluginFeature"/>
- </field>
- <field name="longdesc">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="type">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="IndexFactoryClass"
- c:type="GstIndexFactoryClass"
- glib:is-gtype-struct-for="IndexFactory">
- <field name="parent">
- <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="IndexFilter"
- c:type="GstIndexFilter"
- doc="Function to filter out entries in the index.
-to the index, %FALSE otherwise.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="entry" transfer-ownership="none">
- <type name="IndexEntry" c:type="GstIndexEntry*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="IndexFlags"
- doc="Flags for this index"
- c:type="GstIndexFlags">
- <member name="writable" value="16" c:identifier="GST_INDEX_WRITABLE"/>
- <member name="readable" value="32" c:identifier="GST_INDEX_READABLE"/>
- <member name="flag_last"
- value="4096"
- c:identifier="GST_INDEX_FLAG_LAST"/>
- </bitfield>
- <record name="IndexGroup"
- c:type="GstIndexGroup"
- doc="A group of related entries in an index.">
- <field name="groupnum" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="entries" writable="1">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="certainty" writable="1">
- <type name="IndexCertainty" c:type="GstIndexCertainty"/>
- </field>
- <field name="peergroup" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- </record>
- <enumeration name="IndexLookupMethod"
- doc="Specify the method to find an index entry in the index."
- c:type="GstIndexLookupMethod">
- <member name="exact" value="0" c:identifier="GST_INDEX_LOOKUP_EXACT"/>
- <member name="before" value="1" c:identifier="GST_INDEX_LOOKUP_BEFORE"/>
- <member name="after" value="2" c:identifier="GST_INDEX_LOOKUP_AFTER"/>
- </enumeration>
- <callback name="IndexResolver"
- c:type="GstIndexResolver"
- doc="Function to resolve ids to writer descriptions.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="Index" c:type="GstIndex*"/>
- </parameter>
- <parameter name="writer" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="writer_string" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="3">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="IndexResolverMethod"
- doc="The method used to resolve index writers"
- c:type="GstIndexResolverMethod">
- <member name="custom"
- value="0"
- c:identifier="GST_INDEX_RESOLVER_CUSTOM"/>
- <member name="gtype" value="1" c:identifier="GST_INDEX_RESOLVER_GTYPE"/>
- <member name="path" value="2" c:identifier="GST_INDEX_RESOLVER_PATH"/>
- </enumeration>
- <record name="Iterator"
- c:type="GstIterator"
- doc="created.
-#GstIterator base structure. The values of this structure are
-protected for subclasses, use the methods to use the #GstIterator.">
- <field name="next" writable="1">
- <type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
- </field>
- <field name="item" writable="1">
- <type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
- </field>
- <field name="resync" writable="1">
- <type name="IteratorResyncFunction"
- c:type="GstIteratorResyncFunction"/>
- </field>
- <field name="free" writable="1">
- <type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
- </field>
- <field name="pushed" writable="1">
- <type name="Iterator" c:type="GstIterator*"/>
- </field>
- <field name="type" writable="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="lock" writable="1">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="cookie" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="master_cookie" writable="1">
- <type name="any" c:type="guint32*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_iterator_new"
- doc="iterator changed.
-Create a new iterator. This function is mainly used for objects
-implementing the next/resync/free function to iterate a data structure.
-For each item retrieved, the @item function is called with the lock
-held. The @free function is called when the iterator is freed.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="lock" transfer-ownership="none">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </parameter>
- <parameter name="master_cookie"
- direction="out"
- transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="next" transfer-ownership="none" scope="call">
- <type name="IteratorNextFunction"
- c:type="GstIteratorNextFunction"/>
- </parameter>
- <parameter name="item" transfer-ownership="none" scope="call">
- <type name="IteratorItemFunction"
- c:type="GstIteratorItemFunction"/>
- </parameter>
- <parameter name="resync" transfer-ownership="none" scope="call">
- <type name="IteratorResyncFunction"
- c:type="GstIteratorResyncFunction"/>
- </parameter>
- <parameter name="free" transfer-ownership="none" scope="call">
- <type name="IteratorFreeFunction"
- c:type="GstIteratorFreeFunction"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_list"
- c:identifier="gst_iterator_new_list"
- doc="is changed.
-Create a new iterator designed for iterating @list.
-The list you iterate is usually part of a data structure @owner and is
-protected with @lock.
-The iterator will use @lock to retrieve the next item of the list and it
-will then call the @item function before releasing @lock again.
-The @item function usualy makes sure that the item remains alive while
-responsible for freeing/unreffing the item after usage as explained in
-gst_iterator_next().
-When a concurrent update to the list is performed, usually by @owner while
-holding @lock, @master_cookie will be updated. The iterator implementation
-will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to
-the user of the iterator in the next call to gst_iterator_next().
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="lock" transfer-ownership="none">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </parameter>
- <parameter name="master_cookie"
- direction="out"
- transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList**"/>
- </parameter>
- <parameter name="owner" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="item" transfer-ownership="none" scope="call">
- <type name="IteratorItemFunction"
- c:type="GstIteratorItemFunction"/>
- </parameter>
- <parameter name="free" transfer-ownership="none" scope="call">
- <type name="IteratorDisposeFunction"
- c:type="GstIteratorDisposeFunction"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_single"
- c:identifier="gst_iterator_new_single"
- doc="This #GstIterator is a convenient iterator for the common
-case where a #GstIterator needs to be returned but only
-a single object has to be considered. This happens often
-for the #GstPadIterIntLinkFunction."
- version="0.10.25">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="copy" transfer-ownership="none" scope="call">
- <type name="CopyFunction" c:type="GstCopyFunction"/>
- </parameter>
- <parameter name="free" transfer-ownership="none" scope="call">
- <type name="GLib.FreeFunc" c:type="GFreeFunc"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="next"
- c:identifier="gst_iterator_next"
- doc="Get the next item from the iterator in @elem.
-Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid
-value. For iterators that return refcounted objects, the returned object
-will have its refcount increased and should therefore be unreffed after
-usage.
-When this function returns %GST_ITERATOR_DONE, no more elements can be
-retrieved from @it.
-A return value of %GST_ITERATOR_RESYNC indicates that the element list was
-concurrently updated. The user of @it should call gst_iterator_resync() to
-get the newly updated list.
-A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error.
-is a refcounted object.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="IteratorResult" c:type="GstIteratorResult"/>
- </return-value>
- <parameters>
- <parameter name="elem" transfer-ownership="none">
- <type name="any" c:type="gpointer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="resync"
- c:identifier="gst_iterator_resync"
- doc="Resync the iterator. this function is mostly called
-after gst_iterator_next() returned %GST_ITERATOR_RESYNC.
-When an iterator was pushed on @it, it will automatically be popped again
-with this function.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_iterator_free"
- doc="Free the iterator.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="push"
- c:identifier="gst_iterator_push"
- doc="Pushes @other iterator onto @it. All calls performed on @it are
-forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is
-popped again and calls are handled by @it again.
-This function is mainly used by objects implementing the iterator
-next function to recurse into substructures.
-When gst_iterator_resync() is called on @it, @other will automatically be
-popped.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="other" transfer-ownership="none">
- <type name="Iterator" c:type="GstIterator*"/>
- </parameter>
- </parameters>
- </method>
- <method name="filter"
- c:identifier="gst_iterator_filter"
- doc="Create a new iterator from an existing iterator. The new iterator
-will only return those elements that match the given compare function @func.
-in the iterator.
-When this iterator is freed, @it will also be freed.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="fold"
- c:identifier="gst_iterator_fold"
- doc="Folds @func over the elements of @iter. That is to say, @func will be called
-as @func (object, @ret, @user_data) for each object in @it. The normal use
-of this procedure is to accumulate the results of operating on the objects in
-before @func is called, and it should be unrefed after use in @func.
-This procedure can be used (and is used internally) to implement the
-gst_iterator_foreach() and gst_iterator_find_custom() operations.
-The fold will proceed as long as @func returns TRUE. When the iterator has no
-more arguments, %GST_ITERATOR_DONE will be returned. If @func returns FALSE,
-the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs
-will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as
-appropriate.
-The iterator will not be freed.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="IteratorResult" c:type="GstIteratorResult"/>
- </return-value>
- <parameters>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="IteratorFoldFunction"
- c:type="GstIteratorFoldFunction"/>
- </parameter>
- <parameter name="ret" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="foreach"
- c:identifier="gst_iterator_foreach"
- doc="Iterate over all element of @it and call the given function @func for
-each element. As in gst_iterator_fold(), the refcount of a refcounted
-object will be increased before @func is called, and should be unrefed
-after use.
-freed.
-MT safe.">
- <return-value transfer-ownership="full" doc="The iterator will not be">
- <type name="IteratorResult" c:type="GstIteratorResult"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="GLib.Func" c:type="GFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="find_custom"
- c:identifier="gst_iterator_find_custom"
- doc="Find the first element in @it that matches the compare function @func.
-the refcount of a refcounted object will be increased before @func is
-called, and should be unrefed after use.
-The iterator will not be freed.
-This function will return NULL if an error or resync happened to
-the iterator.
-function or NULL when no element matched.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <callback name="IteratorDisposeFunction"
- c:type="GstIteratorDisposeFunction"
- doc="The function that will be called when a #GList iterator is freed. The
-owner of the #GList iterator can then clean up its resources.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="owner" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="IteratorFoldFunction"
- c:type="GstIteratorFoldFunction"
- doc="A function to be passed to gst_iterator_fold().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="item" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="ret" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="IteratorFreeFunction"
- c:type="GstIteratorFreeFunction"
- doc="This function will be called when the iterator is freed.
-Implementors of a #GstIterator should implement this
-function and pass it to the constructor of the custom iterator.
-The function will be called with the iterator lock held.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="it" transfer-ownership="none">
- <type name="Iterator" c:type="GstIterator*"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="IteratorItem"
- doc="The result of a #GstIteratorItemFunction."
- c:type="GstIteratorItem">
- <member name="skip" value="0" c:identifier="GST_ITERATOR_ITEM_SKIP"/>
- <member name="pass" value="1" c:identifier="GST_ITERATOR_ITEM_PASS"/>
- <member name="end" value="2" c:identifier="GST_ITERATOR_ITEM_END"/>
- </enumeration>
- <callback name="IteratorItemFunction"
- c:type="GstIteratorItemFunction"
- doc="The function that will be called after the next item of the iterator
-has been retrieved. This function will typically increase the refcount
-of the item or make a copy.
-Implementors of a #GstIterator should implement this
-function and pass it to the constructor of the custom iterator.
-The function will be called with the iterator lock held.">
- <return-value transfer-ownership="full">
- <type name="IteratorItem" c:type="GstIteratorItem"/>
- </return-value>
- <parameters>
- <parameter name="it" transfer-ownership="none">
- <type name="Iterator" c:type="GstIterator*"/>
- </parameter>
- <parameter name="item" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="IteratorNextFunction"
- c:type="GstIteratorNextFunction"
- doc="The function that will be called when the next element of the iterator
-should be retrieved.
-Implementors of a #GstIterator should implement this
-function and pass it to the constructor of the custom iterator.
-The function will be called with the iterator lock held.">
- <return-value transfer-ownership="full">
- <type name="IteratorResult" c:type="GstIteratorResult"/>
- </return-value>
- <parameters>
- <parameter name="it" transfer-ownership="none">
- <type name="Iterator" c:type="GstIterator*"/>
- </parameter>
- <parameter name="result" transfer-ownership="none">
- <type name="any" c:type="gpointer*"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="IteratorResult"
- doc="The result of gst_iterator_next()."
- c:type="GstIteratorResult">
- <member name="done" value="0" c:identifier="GST_ITERATOR_DONE"/>
- <member name="ok" value="1" c:identifier="GST_ITERATOR_OK"/>
- <member name="resync" value="2" c:identifier="GST_ITERATOR_RESYNC"/>
- <member name="error" value="3" c:identifier="GST_ITERATOR_ERROR"/>
- </enumeration>
- <callback name="IteratorResyncFunction"
- c:type="GstIteratorResyncFunction"
- doc="This function will be called whenever a concurrent update happened
-to the iterated datastructure. The implementor of the iterator should
-restart the iterator from the beginning and clean up any state it might
-have.
-Implementors of a #GstIterator should implement this
-function and pass it to the constructor of the custom iterator.
-The function will be called with the iterator lock held.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="it" transfer-ownership="none">
- <type name="Iterator" c:type="GstIterator*"/>
- </parameter>
- </parameters>
- </callback>
- <constant name="LICENSE_UNKNOWN" value="unknown">
- <type name="utf8"/>
- </constant>
- <enumeration name="LibraryError"
- doc="category. Make sure you add a custom message to the error call.
-deciding where to go while developing code.
-Library errors are for errors from the library being used by elements
-(initializing, finalizing, settings, ...)"
- c:type="GstLibraryError"
- glib:error-quark="gst_library_error_quark">
- <member name="failed" value="1" c:identifier="GST_LIBRARY_ERROR_FAILED"/>
- <member name="too_lazy"
- value="2"
- c:identifier="GST_LIBRARY_ERROR_TOO_LAZY"/>
- <member name="init" value="3" c:identifier="GST_LIBRARY_ERROR_INIT"/>
- <member name="shutdown"
- value="4"
- c:identifier="GST_LIBRARY_ERROR_SHUTDOWN"/>
- <member name="settings"
- value="5"
- c:identifier="GST_LIBRARY_ERROR_SETTINGS"/>
- <member name="encode" value="6" c:identifier="GST_LIBRARY_ERROR_ENCODE"/>
- <member name="num_errors"
- value="7"
- c:identifier="GST_LIBRARY_ERROR_NUM_ERRORS"/>
- </enumeration>
- <callback name="LogFunction"
- c:type="GstLogFunction"
- doc="Function prototype for a logging function that can be registered with
-gst_debug_add_log_function().
-Use G_GNUC_NO_INSTRUMENT on that function.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="category" transfer-ownership="none">
- <type name="DebugCategory" c:type="GstDebugCategory*"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- <parameter name="file" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="function" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="line" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="DebugMessage" c:type="GstDebugMessage*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <constant name="MESSAGE_TRACE_NAME" value="GstMessage">
- <type name="utf8"/>
- </constant>
- <constant name="MSECOND" value="0">
- <type name="int"/>
- </constant>
- <constant name="M_PI" value="3.14159265359">
- <type name="double"/>
- </constant>
- <record name="Message" c:type="GstMessage" doc="A #GstMessage.">
- <field name="mini_object" writable="1">
- <type name="MiniObject" c:type="GstMiniObject"/>
- </field>
- <field name="lock" writable="1">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="cond" writable="1">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="type" writable="1">
- <type name="MessageType" c:type="GstMessageType"/>
- </field>
- <field name="timestamp" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="src" writable="1">
- <type name="Object" c:type="GstObject*"/>
- </field>
- <field name="structure" writable="1">
- <type name="Structure" c:type="GstStructure*"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="seqnum" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </union>
- <constructor name="new_eos"
- c:identifier="gst_message_new_eos"
- doc="Create a new eos message. This message is generated and posted in
-the sink elements of a GstBin. The bin will only forward the EOS
-message to the application if all sinks have posted an EOS message.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_error"
- c:identifier="gst_message_new_error"
- doc="Create a new error message. The message will copy @error and
-occured. The pipeline will probably (partially) stop. The application
-receiving this message should stop the pipeline.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="error" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError*"/>
- </parameter>
- <parameter name="debug" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_warning"
- c:identifier="gst_message_new_warning"
- doc="Create a new warning message. The message will make copies of @error and
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="error" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError*"/>
- </parameter>
- <parameter name="debug" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_info"
- c:identifier="gst_message_new_info"
- doc="Create a new info message. The message will make copies of @error and
-MT safe."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="error" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError*"/>
- </parameter>
- <parameter name="debug" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_tag"
- c:identifier="gst_message_new_tag"
- doc="Create a new tag message. The message will take ownership of the tag list.
-The message is posted by elements that discovered a new taglist.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="tag_list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_tag_full"
- c:identifier="gst_message_new_tag_full"
- doc="Create a new tag message. The message will take ownership of the tag list.
-The message is posted by elements that discovered a new taglist.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="tag_list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_buffering"
- c:identifier="gst_message_new_buffering"
- doc="Create a new buffering message. This message can be posted by an element that
-needs to buffer data before it can continue processing. @percent should be a
-value between 0 and 100. A value of 100 means that the buffering completed.
-When @percent is < 100 the application should PAUSE a PLAYING pipeline. When
-The application must be prepared to receive BUFFERING messages in the
-PREROLLING state and may only set the pipeline to PLAYING after receiving a
-message with @percent set to 100, which can happen after the pipeline
-completed prerolling.
-MT safe."
- version="0.10.11">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="percent" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_state_changed"
- c:identifier="gst_message_new_state_changed"
- doc="Create a state change message. This message is posted whenever an element
-changed its state.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="oldstate" transfer-ownership="none">
- <type name="State" c:type="GstState"/>
- </parameter>
- <parameter name="newstate" transfer-ownership="none" doc="state">
- <type name="State" c:type="GstState"/>
- </parameter>
- <parameter name="pending" transfer-ownership="none" doc="state">
- <type name="State" c:type="GstState"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_state_dirty"
- c:identifier="gst_message_new_state_dirty"
- doc="Create a state dirty message. This message is posted whenever an element
-changed its state asynchronously and is used internally to update the
-states of container objects.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_step_done"
- c:identifier="gst_message_new_step_done"
- doc="This message is posted by elements when they complete a part, when @intermediate set
-to TRUE, or a complete step operation.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="amount" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="flush" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="intermediate" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="duration" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="eos" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_clock_provide"
- c:identifier="gst_message_new_clock_provide"
- doc="Create a clock provide message. This message is posted whenever an
-element is ready to provide a clock or lost its ability to provide
-a clock (maybe because it paused or became EOS).
-This message is mainly used internally to manage the clock
-selection.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="ready" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_clock_lost"
- c:identifier="gst_message_new_clock_lost"
- doc="Create a clock lost message. This message is posted whenever the
-clock is not valid anymore.
-If this message is posted by the pipeline, the pipeline will
-select a new clock again when it goes to PLAYING. It might therefore
-be needed to set the pipeline to PAUSED and PLAYING again.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_new_clock"
- c:identifier="gst_message_new_new_clock"
- doc="Create a new clock message. This message is posted whenever the
-pipeline selectes a new clock for the pipeline.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_application"
- c:identifier="gst_message_new_application"
- doc="the structure.
-Create a new application-typed message. GStreamer will never create these
-messages; they are a gift from us to you. Enjoy.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_element"
- c:identifier="gst_message_new_element"
- doc="the structure.
-Create a new element-specific message. This is meant as a generic way of
-allowing one-way communication from an element to an application, for example
-"the firewire cable was unplugged". The format of the message should be
-documented in the element's documentation. The structure field can be NULL.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_segment_start"
- c:identifier="gst_message_new_segment_start"
- doc="Create a new segment message. This message is posted by elements that
-start playback of a segment as a result of a segment seek. This message
-is not received by the application but is used for maintenance reasons in
-container elements.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_segment_done"
- c:identifier="gst_message_new_segment_done"
- doc="Create a new segment done message. This message is posted by elements that
-finish playback of a segment as a result of a segment seek. This message
-is received by the application after all elements that posted a segment_start
-have posted the segment_done.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_duration"
- c:identifier="gst_message_new_duration"
- doc="Create a new duration message. This message is posted by elements that
-know the duration of a stream in a specific format. This message
-is received by bins and is used to calculate the total duration of a
-pipeline. Elements may post a duration message with a duration of
-GST_CLOCK_TIME_NONE to indicate that the duration has changed and the
-cached duration should be discarded. The new duration can then be
-retrieved via a query.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="duration" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_latency"
- c:identifier="gst_message_new_latency"
- doc="This message can be posted by elements when their latency requirements have
-changed.
-MT safe."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_async_start"
- c:identifier="gst_message_new_async_start"
- doc="This message is posted by elements when they start an ASYNC state change.
-PLAYING.
-MT safe."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="new_base_time" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_async_done"
- c:identifier="gst_message_new_async_done"
- doc="The message is posted when elements completed an ASYNC state change.
-MT safe."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_structure_change"
- c:identifier="gst_message_new_structure_change"
- doc="Create a new structure change message. This message is posted when the
-structure of a pipeline is in the process of being changed, for example
-when pads are linked or unlinked.
-MT safe."
- version="0.10.22.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="StructureChangeType" c:type="GstStructureChangeType"/>
- </parameter>
- <parameter name="owner" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="busy" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_stream_status"
- c:identifier="gst_message_new_stream_status"
- doc="Create a new stream status message. This message is posted when a streaming
-thread is created/destroyed or when the state changed.
-MT safe."
- version="0.10.24.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="StreamStatusType" c:type="GstStreamStatusType"/>
- </parameter>
- <parameter name="owner" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_request_state"
- c:identifier="gst_message_new_request_state"
- doc="This message can be posted by elements when they want to have their state
-changed. A typical use case would be an audio server that wants to pause the
-pipeline because a higher priority stream is being played.
-MT safe."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_step_start"
- c:identifier="gst_message_new_step_start"
- doc="This message is posted by elements when they accept or activate a new step
-event for @amount in @format.
-queued it for execution in the streaming threads.
-is now ready to start executing the step in the streaming thread. After this
-message is emited, the application can queue a new step operation in the
-element.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="amount" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="flush" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="intermediate" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_qos"
- c:identifier="gst_message_new_qos"
- doc="A QOS message is posted on the bus whenever an element decides to drop a
-buffer because of QoS reasons or whenever it changes its processing strategy
-because of QoS reasons (quality adjustments such as processing at lower
-accuracy).
-This message can be posted by an element that performs synchronisation against the
-clock (live) or it could be dropped by an element that performs QoS because of QOS
-events received from a downstream element (!live).
-respective running-time, stream-time, timestamp and duration of the (dropped)
-buffer that generated the QoS event. Values can be left to
-GST_CLOCK_TIME_NONE when unknown.
-MT safe."
- version="0.10.29">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="live" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="running_time" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="stream_time" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="duration" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_custom"
- c:identifier="gst_message_new_custom"
- doc="the structure.
-Create a new custom-typed message. This can be used for anything not
-handled by other message-specific functions to pass a message to the
-app. The structure field can be NULL.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- <parameter name="src" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="get_seqnum"
- c:identifier="gst_message_get_seqnum"
- doc="Retrieve the sequence number of a message.
-Messages have ever-incrementing sequence numbers, which may also be set
-explicitly via gst_message_set_seqnum(). Sequence numbers are typically used
-to indicate that a message corresponds to some other set of messages or
-events, for example a SEGMENT_DONE message corresponding to a SEEK event. It
-is considered good practice to make this correspondence when possible, though
-it is not required.
-Note that events and messages share the same sequence number incrementor;
-two events or messages will never not have the same sequence number unless
-that correspondence was made explicitly.
-MT safe."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="set_seqnum"
- c:identifier="gst_message_set_seqnum"
- doc="Set the sequence number of a message.
-This function might be called by the creator of a message to indicate that
-the message relates to other messages or events. See gst_message_get_seqnum()
-for more information.
-MT safe."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="seqnum" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_error"
- c:identifier="gst_message_parse_error"
- doc="Extracts the GError and debug string from the GstMessage. The values returned
-in the output arguments are copies; the caller must free them when done.
-Typical usage of this function might be:
-|[
-...
-switch (GST_MESSAGE_TYPE (msg)) {
-GError *err = NULL;
-gchar *dbg_info = NULL;
-gst_message_parse_error (msg, &amp;err, &amp;dbg_info);
-GST_OBJECT_NAME (msg->src), err->message);
-g_error_free (err);
-g_free (dbg_info);
-break;
-}
-...
-}
-...
-]|
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="gerror" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError**"/>
- </parameter>
- <parameter name="debug" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="parse_warning"
- c:identifier="gst_message_parse_warning"
- doc="Extracts the GError and debug string from the GstMessage. The values returned
-in the output arguments are copies; the caller must free them when done.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="gerror" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError**"/>
- </parameter>
- <parameter name="debug" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="parse_info"
- c:identifier="gst_message_parse_info"
- doc="Extracts the GError and debug string from the GstMessage. The values returned
-in the output arguments are copies; the caller must free them when done.
-MT safe."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="gerror" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError**"/>
- </parameter>
- <parameter name="debug" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="parse_tag"
- c:identifier="gst_message_parse_tag"
- doc="Extracts the tag list from the GstMessage. The tag list returned in the
-output argument is a copy; the caller must free it when done.
-Typical usage of this function might be:
-|[
-...
-switch (GST_MESSAGE_TYPE (msg)) {
-GstTagList *tags = NULL;
-gst_message_parse_tag (msg, &amp;tags);
-g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src));
-handle_tags (tags);
-gst_tag_list_free (tags);
-break;
-}
-...
-}
-...
-]|
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tag_list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList**"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_tag_full"
- c:identifier="gst_message_parse_tag_full"
- doc="Extracts the tag list from the GstMessage. The tag list returned in the
-output argument is a copy; the caller must free it when done.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad**"/>
- </parameter>
- <parameter name="tag_list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList**"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_buffering"
- c:identifier="gst_message_parse_buffering"
- doc="Extracts the buffering percent from the GstMessage. see also
-gst_message_new_buffering().
-MT safe."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="percent" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_buffering_stats"
- c:identifier="gst_message_set_buffering_stats"
- doc="Configures the buffering stats values in @message."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="BufferingMode" c:type="GstBufferingMode"/>
- </parameter>
- <parameter name="avg_in" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="avg_out" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="buffering_left" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_buffering_stats"
- c:identifier="gst_message_parse_buffering_stats"
- doc="Extracts the buffering stats values from @message."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="BufferingMode" c:type="GstBufferingMode*"/>
- </parameter>
- <parameter name="avg_in" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="avg_out" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="buffering_left"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_state_changed"
- c:identifier="gst_message_parse_state_changed"
- doc="Extracts the old and new states from the GstMessage.
-Typical usage of this function might be:
-|[
-...
-switch (GST_MESSAGE_TYPE (msg)) {
-GstState old_state, new_state;
-gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL);
-g_print ("Element %s changed state from %s to %s.\n",
-GST_OBJECT_NAME (msg->src),
-gst_element_state_get_name (old_state),
-gst_element_state_get_name (new_state));
-break;
-}
-...
-}
-...
-]|
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="oldstate" transfer-ownership="none">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="newstate"
- transfer-ownership="none"
- doc="state, or NULL">
- <type name="State" c:type="GstState*"/>
- </parameter>
- <parameter name="pending"
- transfer-ownership="none"
- doc="state, or NULL">
- <type name="State" c:type="GstState*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_step_done"
- c:identifier="gst_message_parse_step_done"
- doc="Extract the values the step_done message.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="amount" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="flush" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="intermediate"
- direction="out"
- transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="duration" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="eos" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_clock_provide"
- c:identifier="gst_message_parse_clock_provide"
- doc="Extracts the clock and ready flag from the GstMessage.
-The clock object returned remains valid until the message is freed.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock**"/>
- </parameter>
- <parameter name="ready" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_clock_lost"
- c:identifier="gst_message_parse_clock_lost"
- doc="Extracts the lost clock from the GstMessage.
-The clock object returned remains valid until the message is freed.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock**"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_new_clock"
- c:identifier="gst_message_parse_new_clock"
- doc="Extracts the new clock from the GstMessage.
-The clock object returned remains valid until the message is freed.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock**"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_segment_start"
- c:identifier="gst_message_parse_segment_start"
- doc="Extracts the position and format from the segment start message.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="position" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_segment_done"
- c:identifier="gst_message_parse_segment_done"
- doc="Extracts the position and format from the segment start message.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="position" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_duration"
- c:identifier="gst_message_parse_duration"
- doc="Extracts the duration and format from the duration message. The duration
-might be GST_CLOCK_TIME_NONE, which indicates that the duration has
-changed. Applications should always use a query to retrieve the duration
-of a pipeline.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="duration" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_async_start"
- c:identifier="gst_message_parse_async_start"
- doc="Extract the new_base_time from the async_start message.
-MT safe."
- version="0.10.13">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="new_base_time"
- direction="out"
- transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_structure_change"
- c:identifier="gst_message_parse_structure_change"
- doc="completed
-Extracts the change type and completion status from the GstMessage.
-MT safe."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="StructureChangeType" c:type="GstStructureChangeType*"/>
- </parameter>
- <parameter name="owner" transfer-ownership="none">
- <type name="Element" c:type="GstElement**"/>
- </parameter>
- <parameter name="busy" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_stream_status"
- c:identifier="gst_message_parse_stream_status"
- doc="Extracts the stream status type and owner the GstMessage. The returned
-owner remains valid for as long as the reference to @message is valid and
-should thus not be unreffed.
-MT safe."
- version="0.10.24.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="StreamStatusType" c:type="GstStreamStatusType*"/>
- </parameter>
- <parameter name="owner" transfer-ownership="none">
- <type name="Element" c:type="GstElement**"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_stream_status_object"
- c:identifier="gst_message_set_stream_status_object"
- doc="Configures the object handling the streaming thread. This is usually a
-GstTask object but other objects might be added in the future."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_stream_status_object"
- c:identifier="gst_message_get_stream_status_object"
- doc="Extracts the object managing the streaming thread from @message.
-This object is usually of type GstTask but other types can be added in the
-future. The object remains valid as long as @message is valid."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- </method>
- <method name="parse_request_state"
- c:identifier="gst_message_parse_request_state"
- doc="Extract the requested state from the request_state message.
-MT safe."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="state" transfer-ownership="none">
- <type name="State" c:type="GstState*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_step_start"
- c:identifier="gst_message_parse_step_start"
- doc="Extract the values from step_start message.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="active" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="amount" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="flush" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="intermediate"
- direction="out"
- transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_qos_values"
- c:identifier="gst_message_set_qos_values"
- doc="to get optimal quality.
-quality level of the element. The default maximum quality is 1000000.
-Set the QoS values that have been calculated/analysed from the QoS data
-MT safe."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="jitter" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="proportion" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="quality" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_qos_stats"
- c:identifier="gst_message_set_qos_stats"
- doc="filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters
-will likely use GST_FORMAT_DEFAULT (samples).
-change to READY or a flushing operation.
-or a flushing operation.
-Set the QoS stats representing the history of the current continuous pipeline
-playback period.
-When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
-invalid. Values of -1 for either @processed or @dropped mean unknown values.
-MT safe."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="processed" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="dropped" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_qos"
- c:identifier="gst_message_parse_qos"
- doc="Extract the timestamps and live status from the QoS message.
-The returned values give the running_time, stream_time, timestamp and
-duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown
-values.
-MT safe."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="live" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="running_time"
- direction="out"
- transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="stream_time"
- direction="out"
- transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="timestamp"
- direction="out"
- transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="duration" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_qos_values"
- c:identifier="gst_message_parse_qos_values"
- doc="to get optimal quality.
-quality level of the element. The default maximum quality is 1000000.
-Extract the QoS values that have been calculated/analysed from the QoS data
-MT safe."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="jitter" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="proportion"
- direction="out"
- transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="quality" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_qos_stats"
- c:identifier="gst_message_parse_qos_stats"
- doc="filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters
-will likely use GST_FORMAT_DEFAULT (samples).
-change to READY or a flushing operation.
-or a flushing operation.
-Extract the QoS stats representing the history of the current continuous
-pipeline playback period.
-When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
-invalid. Values of -1 for either @processed or @dropped mean unknown values.
-MT safe."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="processed"
- direction="out"
- transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="dropped" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_structure"
- c:identifier="gst_message_get_structure"
- doc="Access the structure of the message.
-owned by the message, which means that you should not free it and
-that the pointer becomes invalid when you free the message.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- </method>
- </record>
- <record name="MessageClass" c:type="GstMessageClass">
- <field name="mini_object_class" writable="1">
- <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="MessageType"
- doc="only receive this message in the PLAYING state and every time it sets a
-pipeline to PLAYING that is in the EOS state. The application can perform a
-flushing seek in the pipeline, which will undo the EOS state again.
-message it should stop playback of the pipeline and not assume that more
-data will be played.
-receives a buffering message in the PLAYING state for a non-live pipeline it
-must PAUSE the pipeline until the buffering completes, when the percentage
-field in the message is 100%. For live pipelines, no action must be
-performed and the buffering percentage can be used to inform the user about
-the progress.
-This message is deprecated.
-a clock. This message is used internally and
-never forwarded to the application.
-unusable. The pipeline will select a new clock on
-the next PLAYING state change. The application
-should set the pipeline to PAUSED and back to
-PLAYING when this message is received.
-message is used internally and never forwarded to the application.
-stops, errors, etc..
-via an application-specific element.
-documentation
-message is used internally and never forwarded to the application.
-message is forwarded to the application after all elements that posted
-can get the new duration with a duration query.
-change. This message is not forwarded to the application but is used
-change. The application will only receive this message from the toplevel
-change state. This message is a suggestion to the application which can
-The different message types that are available."
- c:type="GstMessageType">
- <member name="unknown" value="0" c:identifier="GST_MESSAGE_UNKNOWN"/>
- <member name="eos" value="1" c:identifier="GST_MESSAGE_EOS"/>
- <member name="error" value="2" c:identifier="GST_MESSAGE_ERROR"/>
- <member name="warning" value="4" c:identifier="GST_MESSAGE_WARNING"/>
- <member name="info" value="8" c:identifier="GST_MESSAGE_INFO"/>
- <member name="tag" value="16" c:identifier="GST_MESSAGE_TAG"/>
- <member name="buffering"
- value="32"
- c:identifier="GST_MESSAGE_BUFFERING"/>
- <member name="state_changed"
- value="64"
- c:identifier="GST_MESSAGE_STATE_CHANGED"/>
- <member name="state_dirty"
- value="128"
- c:identifier="GST_MESSAGE_STATE_DIRTY"/>
- <member name="step_done"
- value="256"
- c:identifier="GST_MESSAGE_STEP_DONE"/>
- <member name="clock_provide"
- value="512"
- c:identifier="GST_MESSAGE_CLOCK_PROVIDE"/>
- <member name="clock_lost"
- value="1024"
- c:identifier="GST_MESSAGE_CLOCK_LOST"/>
- <member name="new_clock"
- value="2048"
- c:identifier="GST_MESSAGE_NEW_CLOCK"/>
- <member name="structure_change"
- value="4096"
- c:identifier="GST_MESSAGE_STRUCTURE_CHANGE"/>
- <member name="stream_status"
- value="8192"
- c:identifier="GST_MESSAGE_STREAM_STATUS"/>
- <member name="application"
- value="16384"
- c:identifier="GST_MESSAGE_APPLICATION"/>
- <member name="element" value="32768" c:identifier="GST_MESSAGE_ELEMENT"/>
- <member name="segment_start"
- value="65536"
- c:identifier="GST_MESSAGE_SEGMENT_START"/>
- <member name="segment_done"
- value="131072"
- c:identifier="GST_MESSAGE_SEGMENT_DONE"/>
- <member name="duration"
- value="262144"
- c:identifier="GST_MESSAGE_DURATION"/>
- <member name="latency"
- value="524288"
- c:identifier="GST_MESSAGE_LATENCY"/>
- <member name="async_start"
- value="1048576"
- c:identifier="GST_MESSAGE_ASYNC_START"/>
- <member name="async_done"
- value="2097152"
- c:identifier="GST_MESSAGE_ASYNC_DONE"/>
- <member name="request_state"
- value="4194304"
- c:identifier="GST_MESSAGE_REQUEST_STATE"/>
- <member name="step_start"
- value="8388608"
- c:identifier="GST_MESSAGE_STEP_START"/>
- <member name="qos" value="16777216" c:identifier="GST_MESSAGE_QOS"/>
- <member name="any" value="-1" c:identifier="GST_MESSAGE_ANY"/>
- </bitfield>
- <record name="MiniObject"
- c:type="GstMiniObject"
- doc="Base class for refcounted lightweight objects.">
- <field name="instance" writable="1">
- <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
- </field>
- <field name="refcount" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="flags" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- <constructor name="new"
- c:identifier="gst_mini_object_new"
- doc="Creates a new mini-object of the desired type.
-MT safe">
- <return-value transfer-ownership="full">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy"
- c:identifier="gst_mini_object_copy"
- doc="Creates a copy of the mini-object.
-MT safe">
- <return-value transfer-ownership="full">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- </method>
- <method name="is_writable"
- c:identifier="gst_mini_object_is_writable"
- doc="Checks if a mini-object is writable. A mini-object is writable
-if the reference count is one and the #GST_MINI_OBJECT_FLAG_READONLY
-flag is not set. Modification of a mini-object should only be
-done after verifying that it is writable.
-MT safe">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="make_writable"
- c:identifier="gst_mini_object_make_writable"
- doc="Checks if a mini-object is writable. If not, a writable copy is made and
-returned. This gives away the reference to the original mini object,
-and returns a reference to the new object.
-MT safe">
- <return-value transfer-ownership="full" doc="that is writable.">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- </method>
- <method name="ref"
- c:identifier="gst_mini_object_ref"
- doc="Increase the reference count of the mini-object.
-Note that the refcount affects the writeability
-of @mini-object, see gst_mini_object_is_writable(). It is
-important to note that keeping additional references to
-GstMiniObject instances can potentially increase the number
-of memcpy operations in a pipeline, especially if the miniobject
-is a #GstBuffer.">
- <return-value transfer-ownership="full">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- </method>
- <method name="unref"
- c:identifier="gst_mini_object_unref"
- doc="Decreases the reference count of the mini-object, possibly freeing
-the mini-object.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="replace"
- c:identifier="gst_mini_object_replace"
- doc="Modifies a pointer to point to a new mini-object. The modification
-is done atomically, and the reference counts are updated correctly.
-Either @newdata and the value pointed to by @olddata may be NULL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="newdata" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="MiniObjectClass" c:type="GstMiniObjectClass">
- <field name="type_class" writable="1">
- <type name="GObject.TypeClass" c:type="GTypeClass"/>
- </field>
- <field name="copy" writable="1">
- <type name="MiniObjectCopyFunction"
- c:type="GstMiniObjectCopyFunction"/>
- </field>
- <field name="finalize" writable="1">
- <type name="MiniObjectFinalizeFunction"
- c:type="GstMiniObjectFinalizeFunction"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- </record>
- <callback name="MiniObjectCopyFunction"
- c:type="GstMiniObjectCopyFunction"
- doc="Virtual function prototype for methods to create copies of instances.">
- <return-value transfer-ownership="full">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="MiniObjectFinalizeFunction"
- c:type="GstMiniObjectFinalizeFunction"
- doc="Virtual function prototype for methods to free ressources used by
-mini-objects. Subclasses of the mini object are allowed to revive the
-passed object by doing a gst_mini_object_ref(). If the object is not
-revived after the finalize function, the memory associated with the
-object is freed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="MiniObjectFlags"
- doc="Flags for the padtemplate"
- c:type="GstMiniObjectFlags">
- <member name="readonly"
- value="1"
- c:identifier="GST_MINI_OBJECT_FLAG_READONLY"/>
- <member name="last" value="16" c:identifier="GST_MINI_OBJECT_FLAG_LAST"/>
- </bitfield>
- <constant name="NSECOND" value="0">
- <type name="int"/>
- </constant>
- <class name="Object"
- c:type="GstObject"
- doc="GStreamer base object class."
- parent="GObject.Object"
- abstract="1"
- glib:type-name="GstObject"
- glib:get-type="gst_object_get_type"
- glib:type-struct="ObjectClass">
- <function name="default_deep_notify"
- c:identifier="gst_object_default_deep_notify"
- doc="NULL to show all changes.
-A default deep_notify signal callback for an object. The user data
-should contain a pointer to an array of strings that should be excluded
-from the notify. The default handler will print the new value of the property
-using g_print.
-MT safe. This function grabs and releases @object's LOCK for getting its
-path string.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="orig" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- <parameter name="excluded_props" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="ref"
- c:identifier="gst_object_ref"
- doc="Increments the reference count on @object. This function
-does not take the lock on @object because it relies on
-atomic refcounting.
-This object returns the input parameter to ease writing
-constructs like :
-result = gst_object_ref (object->parent);">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="unref"
- c:identifier="gst_object_unref"
- doc="Decrements the reference count on @object. If reference count hits
-zero, destroy @object. This function does not take the lock
-on @object as it relies on atomic refcounting.
-The unref method should never be called with the LOCK held since
-this might deadlock the dispose function.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="ref_sink"
- c:identifier="gst_object_ref_sink"
- doc="Increase the reference count of @object, and possibly remove the floating
-reference, if @object has a floating reference.
-In other words, if the object is floating, then this call "assumes ownership"
-of the floating reference, converting it to a normal reference by clearing
-the floating flag while leaving the reference count unchanged. If the object
-is not floating, then this call adds a new normal reference increasing the
-reference count by one.
-MT safe. This function grabs and releases @object lock."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="sink"
- c:identifier="gst_object_sink"
- doc="If @object was floating, the #GST_OBJECT_FLOATING flag is removed
-and @object is unreffed. When @object was not floating,
-this function does nothing.
-Any newly created object has a refcount of 1 and is floating.
-This function should be used when creating a new object to
-symbolically 'take ownership' of @object. This done by first doing a
-gst_object_ref() to keep a reference to @object and then gst_object_sink()
-to remove and unref any floating references to @object.
-Use gst_object_set_parent() to have this done for you.
-MT safe. This function grabs and releases @object lock.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="check_uniqueness"
- c:identifier="gst_object_check_uniqueness"
- doc="Checks to see if there is any object named @name in @list. This function
-does not do any locking of any kind. You might want to protect the
-provided list with the lock of the owner of the list. This function
-will lock each #GstObject in the list to compare the name, so be
-carefull when passing a list with a locked object.
-FALSE if it does.
-MT safe. Grabs and releases the LOCK of each object in the list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="save_thyself" invoker="save_thyself">
- <return-value transfer-ownership="full">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="restore_thyself" invoker="restore_thyself">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="set_name"
- c:identifier="gst_object_set_name"
- doc="Sets the name of @object, or gives @object a guaranteed unique
-name (if @name is NULL).
-This function makes a copy of the provided name, so the caller
-retains ownership of the name it sent.
-a parent cannot be renamed, this function returns FALSE in those
-cases.
-MT safe. This function grabs and releases @object's LOCK.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_name"
- c:identifier="gst_object_get_name"
- doc="Returns a copy of the name of @object.
-Caller should g_free() the return value after usage.
-For a nameless object, this returns NULL, which you can safely g_free()
-as well.
-MT safe. This function grabs and releases @object's LOCK.">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_name_prefix"
- c:identifier="gst_object_set_name_prefix"
- doc="Sets the name prefix of @object to @name_prefix.
-This function makes a copy of the provided name prefix, so the caller
-retains ownership of the name prefix it sent.
-MT safe. This function grabs and releases @object's LOCK.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name_prefix" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_name_prefix"
- c:identifier="gst_object_get_name_prefix"
- doc="Returns a copy of the name prefix of @object.
-Caller should g_free() the return value after usage.
-For a prefixless object, this returns NULL, which you can safely g_free()
-as well.
-MT safe. This function grabs and releases @object's LOCK.">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_parent"
- c:identifier="gst_object_set_parent"
- doc="Sets the parent of @object to @parent. The object's reference count will
-be incremented, and any floating reference will be removed (see gst_object_sink()).
-This function causes the parent-set signal to be emitted when the parent
-was successfully set.
-already had a parent or @object and @parent are the same.
-MT safe. Grabs and releases @object's LOCK.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_parent"
- c:identifier="gst_object_get_parent"
- doc="Returns the parent of @object. This function increases the refcount
-of the parent object so you should gst_object_unref() it after usage.
-parent. unref after usage.
-MT safe. Grabs and releases @object's LOCK.">
- <return-value transfer-ownership="full">
- <type name="Object" c:type="GstObject*"/>
- </return-value>
- </method>
- <method name="unparent"
- c:identifier="gst_object_unparent"
- doc="Clear the parent of @object, removing the associated reference.
-This function decreases the refcount of @object.
-MT safe. Grabs and releases @object's lock.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="has_ancestor"
- c:identifier="gst_object_has_ancestor"
- doc="Check if @object has an ancestor @ancestor somewhere up in
-the hierarchy.
-MT safe. Grabs and releases @object's locks.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ancestor" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </method>
- <method name="replace"
- c:identifier="gst_object_replace"
- doc="Unrefs the #GstObject pointed to by @oldobj, refs @newobj and
-puts @newobj in *@oldobj. Be carefull when calling this
-function, it does not take any locks. You might want to lock
-the object owning @oldobj pointer before calling this
-function.
-Make sure not to LOCK @oldobj because it might be unreffed
-which could cause a deadlock when it is disposed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="newobj" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_path_string"
- c:identifier="gst_object_get_path_string"
- doc="Generates a string describing the path of @object in
-the object hierarchy. Only useful (or used) for debugging.
-g_free() the string after usage.
-MT safe. Grabs and releases the #GstObject's LOCK for all objects
-in the hierarchy.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="save_thyself"
- c:identifier="gst_object_save_thyself"
- doc="Saves @object into the parent XML node.">
- <return-value transfer-ownership="full">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </method>
- <method name="restore_thyself"
- c:identifier="gst_object_restore_thyself"
- doc="Restores @object with the data from the parent XML node.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </method>
- <method name="default_error"
- c:identifier="gst_object_default_error"
- doc="A default error function.
-The default handler will simply print the error string using g_print.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="error" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError*"/>
- </parameter>
- <parameter name="debug" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <property name="name" writable="1" construct="1">
- <type name="utf8" c:type="gchararray"/>
- </property>
- <field name="object">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="refcount">
- <type name="int" c:type="gint"/>
- </field>
- <field name="lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="name">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="name_prefix">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="parent">
- <type name="Object" c:type="GstObject*"/>
- </field>
- <field name="flags">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="_gst_reserved">
- <type name="any" c:type="gpointer"/>
- </field>
- <glib:signal name="deep-notify"
- doc="The deep notify signal is used to be notified of property changes. It is
-typically attached to the toplevel bin to receive notifications from all
-the elements contained in that bin.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="prop_object" transfer-ownership="none">
- <type name="Object" c:type="GstObject"/>
- </parameter>
- <parameter name="prop" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParam"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="object-saved"
- doc="Trigered whenever a new object is saved to XML. You can connect to this
-signal to insert custom XML tags into the core XML.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xml_node" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="parent-set"
- doc="Emitted when the parent of an object is set.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="parent-unset"
- doc="Emitted when the parent of an object is unset.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="ObjectClass"
- c:type="GstObjectClass"
- glib:is-gtype-struct-for="Object"
- doc="GStreamer base object class.">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="path_string_separator">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="signal_object">
- <type name="GObject.Object" c:type="GObject*"/>
- </field>
- <field name="lock">
- <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
- </field>
- <field name="parent_set">
- <callback name="parent_set" c:type="parent_set">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="parent_unset">
- <callback name="parent_unset" c:type="parent_unset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="object_saved">
- <callback name="object_saved" c:type="object_saved">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="parent" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="deep_notify">
- <callback name="deep_notify" c:type="deep_notify">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="orig" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="save_thyself">
- <callback name="save_thyself" c:type="save_thyself">
- <return-value transfer-ownership="full">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="parent" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="restore_thyself">
- <callback name="restore_thyself" c:type="restore_thyself">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="ObjectFlags"
- doc="not assigned to a bin)
-The standard flags that an gstobject may have."
- c:type="GstObjectFlags">
- <member name="disposing" value="1" c:identifier="GST_OBJECT_DISPOSING"/>
- <member name="floating" value="2" c:identifier="GST_OBJECT_FLOATING"/>
- <member name="flag_last" value="16" c:identifier="GST_OBJECT_FLAG_LAST"/>
- </bitfield>
- <constant name="PARAM_CONTROLLABLE" value="2">
- <type name="int"/>
- </constant>
- <constant name="PARAM_MUTABLE_PAUSED" value="8">
- <type name="int"/>
- </constant>
- <constant name="PARAM_MUTABLE_PLAYING" value="16">
- <type name="int"/>
- </constant>
- <constant name="PARAM_MUTABLE_READY" value="4">
- <type name="int"/>
- </constant>
- <constant name="PARAM_USER_SHIFT" value="256">
- <type name="int"/>
- </constant>
- <class name="Pad"
- c:type="GstPad"
- doc="the pad.
-the data used in streaming.
-The #GstPad structure. Use the functions to update the variables."
- parent="Object"
- glib:type-name="GstPad"
- glib:get-type="gst_pad_get_type"
- glib:type-struct="PadClass">
- <constructor name="new"
- c:identifier="gst_pad_new"
- doc="Creates a new pad with the given name in the given direction.
-If name is NULL, a guaranteed unique name (across all pads)
-will be assigned.
-This function makes a copy of the name so you can safely free the name.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_template"
- c:identifier="gst_pad_new_from_template"
- doc="Creates a new pad with the given name from the given template.
-If name is NULL, a guaranteed unique name (across all pads)
-will be assigned.
-This function makes a copy of the name so you can safely free the name.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_static_template"
- c:identifier="gst_pad_new_from_static_template"
- doc="Creates a new pad with the given name from the given static template.
-If name is NULL, a guaranteed unique name (across all pads)
-will be assigned.
-This function makes a copy of the name so you can safely free the name.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- <parameters>
- <parameter name="templ" transfer-ownership="none">
- <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <function name="load_and_link"
- c:identifier="gst_pad_load_and_link"
- doc="Reads the pad definition from the XML node and links the given pad
-in the element to a pad of an element up in the hierarchy.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </function>
- <method name="get_direction"
- c:identifier="gst_pad_get_direction"
- doc="Gets the direction of the pad. The direction of the pad is
-decided at construction time so this function does not take
-the LOCK.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </return-value>
- </method>
- <method name="set_active"
- c:identifier="gst_pad_set_active"
- doc="Activates or deactivates the given pad.
-Normally called from within core state change functions.
-If @active, makes sure the pad is active. If it is already active, either in
-push or pull mode, just return. Otherwise dispatches to the pad's activate
-function to perform the actual activation.
-If not @active, checks the pad's current mode and calls
-gst_pad_activate_push() or gst_pad_activate_pull(), as appropriate, with a
-FALSE argument.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_active"
- c:identifier="gst_pad_is_active"
- doc="Query if a pad is active
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="activate_pull"
- c:identifier="gst_pad_activate_pull"
- doc="Activates or deactivates the given pad in pull mode via dispatching to the
-pad's activatepullfunc. For use from within pad activation functions only.
-When called on sink pads, will first proxy the call to the peer pad, which
-is expected to activate its internally linked pads from within its
-activate_pull function.
-If you don't know what this is, you probably don't want to call it.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="activate_push"
- c:identifier="gst_pad_activate_push"
- doc="Activates or deactivates the given pad in push mode via dispatching to the
-pad's activatepushfunc. For use from within pad activation functions only.
-If you don't know what this is, you probably don't want to call it.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_blocked"
- c:identifier="gst_pad_set_blocked"
- doc="Blocks or unblocks the dataflow on a pad. This function is
-a shortcut for gst_pad_set_blocked_async() with a NULL
-callback.
-wrong parameters were passed or the pad was already in the requested state.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="blocked" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_blocked_async"
- c:identifier="gst_pad_set_blocked_async"
- doc="operation succeeds
-Blocks or unblocks the dataflow on a pad. The provided callback
-is called when the operation succeeds; this happens right before the next
-attempt at pushing a buffer on the pad.
-This can take a while as the pad can only become blocked when real dataflow
-is happening.
-When the pipeline is stalled, for example in PAUSED, this can
-take an indeterminate amount of time.
-You can pass NULL as the callback to make this call block. Be careful with
-this blocking call as it might not return for reasons stated above.
-wrong parameters were passed or the pad was already in the requested state.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="blocked" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="call"
- closure="3">
- <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_blocked_async_full"
- c:identifier="gst_pad_set_blocked_async_full"
- doc="operation succeeds
-Blocks or unblocks the dataflow on a pad. The provided callback
-is called when the operation succeeds; this happens right before the next
-attempt at pushing a buffer on the pad.
-This can take a while as the pad can only become blocked when real dataflow
-is happening.
-When the pipeline is stalled, for example in PAUSED, this can
-take an indeterminate amount of time.
-You can pass NULL as the callback to make this call block. Be careful with
-this blocking call as it might not return for reasons stated above.
-wrong parameters were passed or the pad was already in the requested state.
-MT safe."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="blocked" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="3"
- destroy="4">
- <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_data"
- transfer-ownership="none"
- scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_blocked"
- c:identifier="gst_pad_is_blocked"
- doc="Checks if the pad is blocked or not. This function returns the
-last requested state of the pad. It is not certain that the pad
-is actually blocking at this point (see gst_pad_is_blocking()).
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="is_blocking"
- c:identifier="gst_pad_is_blocking"
- doc="Checks if the pad is blocking or not. This is a guaranteed state
-of whether the pad is actually blocking on a #GstBuffer or a #GstEvent.
-MT safe."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_element_private"
- c:identifier="gst_pad_set_element_private"
- doc="Set the given private data gpointer on the pad.
-This function can only be used by the element that owns the pad.
-No locking is performed in this function.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="priv" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_element_private"
- c:identifier="gst_pad_get_element_private"
- doc="Gets the private data of a pad.
-No locking is performed in this function.">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- </method>
- <method name="get_pad_template"
- c:identifier="gst_pad_get_pad_template"
- doc="Gets the template for @pad.
-if this pad has no template.">
- <return-value transfer-ownership="full">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </return-value>
- </method>
- <method name="set_bufferalloc_function"
- c:identifier="gst_pad_set_bufferalloc_function"
- doc="Sets the given bufferalloc function for the pad. Note that the
-bufferalloc function can only be set on sinkpads.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bufalloc" transfer-ownership="none" scope="call">
- <type name="PadBufferAllocFunction"
- c:type="GstPadBufferAllocFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="alloc_buffer"
- c:identifier="gst_pad_alloc_buffer"
- doc="Allocates a new, empty buffer optimized to push to pad @pad. This
-function only works if @pad is a source pad and has a peer.
-A new, empty #GstBuffer will be put in the @buf argument.
-You need to check the caps of the buffer after performing this
-function and renegotiate to the format if needed. If the caps changed, it is
-possible that the buffer returned in @buf is not of the right size for the
-new format, @buf needs to be unreffed and reallocated if this is the case.
-result code other than #GST_FLOW_OK is an error and @buf should
-not be used.
-An error can occur if the pad is not connected or when the downstream
-peer elements cannot provide an acceptable buffer.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </method>
- <method name="alloc_buffer_and_set_caps"
- c:identifier="gst_pad_alloc_buffer_and_set_caps"
- doc="In addition to the function gst_pad_alloc_buffer(), this function
-automatically calls gst_pad_set_caps() when the caps of the
-newly allocated buffer are different from the @pad caps.
-After a renegotiation, the size of the new buffer returned in @buf could
-be of the wrong size for the new format and must be unreffed an reallocated
-in that case.
-result code other than #GST_FLOW_OK is an error and @buf should
-not be used.
-An error can occur if the pad is not connected or when the downstream
-peer elements cannot provide an acceptable buffer.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_activate_function"
- c:identifier="gst_pad_set_activate_function"
- doc="Sets the given activate function for @pad. The activate function will
-dispatch to gst_pad_activate_push() or gst_pad_activate_pull() to perform
-the actual activation. Only makes sense to set on sink pads.
-Call this function if your sink pad can start a pull-based task.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="activate" transfer-ownership="none" scope="call">
- <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_activatepull_function"
- c:identifier="gst_pad_set_activatepull_function"
- doc="Sets the given activate_pull function for the pad. An activate_pull function
-prepares the element and any upstream connections for pulling. See XXX
-part-activation.txt for details.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="activatepull"
- transfer-ownership="none"
- scope="call">
- <type name="PadActivateModeFunction"
- c:type="GstPadActivateModeFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_activatepush_function"
- c:identifier="gst_pad_set_activatepush_function"
- doc="Sets the given activate_push function for the pad. An activate_push function
-prepares the element for pushing. See XXX part-activation.txt for details.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="activatepush"
- transfer-ownership="none"
- scope="call">
- <type name="PadActivateModeFunction"
- c:type="GstPadActivateModeFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_chain_function"
- c:identifier="gst_pad_set_chain_function"
- doc="Sets the given chain function for the pad. The chain function is called to
-process a #GstBuffer input buffer. see #GstPadChainFunction for more details.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="chain" transfer-ownership="none" scope="call">
- <type name="PadChainFunction" c:type="GstPadChainFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_chain_list_function"
- c:identifier="gst_pad_set_chain_list_function"
- doc="Sets the given chain list function for the pad. The chainlist function is
-called to process a #GstBufferList input buffer list. See
-#GstPadChainListFunction for more details."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="chainlist" transfer-ownership="none" scope="call">
- <type name="PadChainListFunction"
- c:type="GstPadChainListFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_getrange_function"
- c:identifier="gst_pad_set_getrange_function"
- doc="Sets the given getrange function for the pad. The getrange function is
-called to produce a new #GstBuffer to start the processing pipeline. see
-#GstPadGetRangeFunction for a description of the getrange function.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="get" transfer-ownership="none" scope="call">
- <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_checkgetrange_function"
- c:identifier="gst_pad_set_checkgetrange_function"
- doc="Sets the given checkgetrange function for the pad. Implement this function
-on a pad if you dynamically support getrange based scheduling on the pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="check" transfer-ownership="none" scope="call">
- <type name="PadCheckGetRangeFunction"
- c:type="GstPadCheckGetRangeFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_event_function"
- c:identifier="gst_pad_set_event_function"
- doc="Sets the given event handler for the pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none" scope="call">
- <type name="PadEventFunction" c:type="GstPadEventFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_link_function"
- c:identifier="gst_pad_set_link_function"
- doc="Sets the given link function for the pad. It will be called when
-the pad is linked with another pad.
-The return value #GST_PAD_LINK_OK should be used when the connection can be
-made.
-The return value #GST_PAD_LINK_REFUSED should be used when the connection
-cannot be made for some reason.
-If @link is installed on a source pad, it should call the #GstPadLinkFunction
-of the peer sink pad, if present.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="link" transfer-ownership="none" scope="call">
- <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_unlink_function"
- c:identifier="gst_pad_set_unlink_function"
- doc="Sets the given unlink function for the pad. It will be called
-when the pad is unlinked.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="unlink" transfer-ownership="none" scope="call">
- <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="can_link"
- c:identifier="gst_pad_can_link"
- doc="Checks if the source pad and the sink pad are compatible so they can be
-linked.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sinkpad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="link"
- c:identifier="gst_pad_link"
- doc="Links the source pad and the sink pad.
-what went wrong.
-MT Safe.">
- <return-value transfer-ownership="full">
- <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
- </return-value>
- <parameters>
- <parameter name="sinkpad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unlink"
- c:identifier="gst_pad_unlink"
- doc="Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked
-signal on both pads.
-the pads were not linked together.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sinkpad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_linked"
- c:identifier="gst_pad_is_linked"
- doc="Checks if a @pad is linked to another pad or not.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_peer"
- c:identifier="gst_pad_get_peer"
- doc="Gets the peer of @pad. This function refs the peer pad so
-you need to unref it after use.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Pad" c:type="GstPad*"/>
- </return-value>
- </method>
- <method name="set_getcaps_function"
- c:identifier="gst_pad_set_getcaps_function"
- doc="Sets the given getcaps function for the pad. @getcaps should return the
-allowable caps for a pad in the context of the element's state, its link to
-other elements, and the devices or files it has opened. These caps must be a
-subset of the pad template caps. In the NULL state with no links, @getcaps
-should ideally return the same caps as the pad template. In rare
-circumstances, an object property can affect the caps returned by @getcaps,
-but this is discouraged.
-You do not need to call this function if @pad's allowed caps are always the
-same as the pad template caps. This can only be true if the padtemplate
-has fixed simple caps.
-For most filters, the caps returned by @getcaps is directly affected by the
-allowed caps on other pads. For demuxers and decoders, the caps returned by
-the srcpad's getcaps function is directly related to the stream data. Again,
-helps with autoplugging.
-Note that the return value from @getcaps is owned by the caller, so the
-caller should unref the caps after usage.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="getcaps" transfer-ownership="none" scope="call">
- <type name="PadGetCapsFunction" c:type="GstPadGetCapsFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_acceptcaps_function"
- c:identifier="gst_pad_set_acceptcaps_function"
- doc="Sets the given acceptcaps function for the pad. The acceptcaps function
-will be called to check if the pad can accept the given caps. Setting the
-acceptcaps function to NULL restores the default behaviour of allowing
-any caps that matches the caps from gst_pad_get_caps.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="acceptcaps" transfer-ownership="none" scope="call">
- <type name="PadAcceptCapsFunction"
- c:type="GstPadAcceptCapsFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_fixatecaps_function"
- c:identifier="gst_pad_set_fixatecaps_function"
- doc="Sets the given fixatecaps function for the pad. The fixatecaps function
-will be called whenever the default values for a GstCaps needs to be
-filled in.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fixatecaps" transfer-ownership="none" scope="call">
- <type name="PadFixateCapsFunction"
- c:type="GstPadFixateCapsFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_setcaps_function"
- c:identifier="gst_pad_set_setcaps_function"
- doc="Sets the given setcaps function for the pad. The setcaps function
-will be called whenever a buffer with a new media type is pushed or
-pulled from the pad. The pad/element needs to update its internal
-structures to process the new media type. If this new type is not
-acceptable, the setcaps function should return FALSE.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="setcaps" transfer-ownership="none" scope="call">
- <type name="PadSetCapsFunction" c:type="GstPadSetCapsFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pad_template_caps"
- c:identifier="gst_pad_get_pad_template_caps"
- doc="Gets the capabilities for @pad's template.
-reference on the caps, make a copy (see gst_caps_copy ()).">
- <return-value transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="get_caps_reffed"
- c:identifier="gst_pad_get_caps_reffed"
- doc="Gets the capabilities this pad can produce or consume. Preferred function if
-one only wants to read or intersect the caps."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="get_caps"
- c:identifier="gst_pad_get_caps"
- doc="Gets the capabilities this pad can produce or consume.
-Note that this method doesn't necessarily return the caps set by
-gst_pad_set_caps() - use GST_PAD_CAPS() for that instead.
-gst_pad_get_caps returns all possible caps a pad can operate with, using
-the pad's get_caps function;
-this returns the pad template caps if not explicitly set.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="fixate_caps"
- c:identifier="gst_pad_fixate_caps"
- doc="Fixate a caps on the given pad. Modifies the caps in place, so you should
-make sure that the caps are actually writable (see gst_caps_make_writable()).">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="accept_caps"
- c:identifier="gst_pad_accept_caps"
- doc="Check if the given pad accepts the caps.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_caps"
- c:identifier="gst_pad_set_caps"
- doc="Sets the capabilities of this pad. The caps must be fixed. Any previous
-caps on the pad will be unreffed. This function refs the caps so you should
-unref if as soon as you don't need it anymore.
-It is possible to set NULL caps, which will make the pad unnegotiated
-again.
-or bad parameters were provided to this function.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peer_get_caps_reffed"
- c:identifier="gst_pad_peer_get_caps_reffed"
- doc="Gets the capabilities of the peer connected to this pad. Preferred function
-if one only wants to read or intersect the caps."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="peer_get_caps"
- c:identifier="gst_pad_peer_get_caps"
- doc="Gets the capabilities of the peer connected to this pad. Similar to
-gst_pad_get_caps().
-gst_caps_unref() to get rid of it. This function returns %NULL if there is
-no peer pad.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="peer_accept_caps"
- c:identifier="gst_pad_peer_accept_caps"
- doc="Check if the peer of @pad accepts @caps. If @pad has no peer, this function
-returns TRUE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_allowed_caps"
- c:identifier="gst_pad_get_allowed_caps"
- doc="Gets the capabilities of the allowed media types that can flow through
-The allowed capabilities is calculated as the intersection of the results of
-calling gst_pad_get_caps() on @pad and its peer. The caller owns a reference
-on the resulting caps.
-longer need it. This function returns NULL when @pad has no peer.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="get_negotiated_caps"
- c:identifier="gst_pad_get_negotiated_caps"
- doc="Gets the capabilities of the media type that currently flows through @pad
-and its peer.
-This function can be used on both src and sinkpads. Note that srcpads are
-always negotiated before sinkpads so it is possible that the negotiated caps
-on the srcpad do not match the negotiated caps of the peer.
-you no longer need it. This function returns NULL when the @pad has no
-peer or is not negotiated yet.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="push"
- c:identifier="gst_pad_push"
- doc="Pushes a buffer to the peer of @pad.
-This function will call an installed pad block before triggering any
-installed pad probes.
-If the caps on @buffer are different from the currently configured caps on
-gst_pad_set_setcaps_function()). In case of failure to renegotiate the new
-format, this function returns #GST_FLOW_NOT_NEGOTIATED.
-The function proceeds calling gst_pad_chain() on the peer pad and returns
-the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
-be returned.
-In all cases, success or failure, the caller loses its reference to @buffer
-after calling this function.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="push_list"
- c:identifier="gst_pad_push_list"
- doc="Pushes a buffer list to the peer of @pad.
-This function will call an installed pad block before triggering any
-installed pad probes.
-If the caps on the first buffer in the first group of @list are different
-from the currently configured caps on @pad, this function will call any
-installed setcaps function on @pad (see gst_pad_set_setcaps_function()). In
-case of failure to renegotiate the new format, this function returns
-#GST_FLOW_NOT_NEGOTIATED.
-If there are any probes installed on @pad every group of the buffer list
-will be merged into a normal #GstBuffer and pushed via gst_pad_push and the
-buffer list will be unreffed.
-The function proceeds calling the chain function on the peer pad and returns
-the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
-be returned. If the peer pad does not have any installed chainlist function
-every group buffer of the list will be merged into a normal #GstBuffer and
-chained via gst_pad_chain().
-In all cases, success or failure, the caller loses its reference to @list
-after calling this function.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="check_pull_range"
- c:identifier="gst_pad_check_pull_range"
- doc="Checks if a gst_pad_pull_range() can be performed on the peer
-source pad. This function is used by plugins that want to check
-if they can use random access on the peer source pad.
-The peer sourcepad can implement a custom #GstPadCheckGetRangeFunction
-if it needs to perform some logic to determine if pull_range is
-possible.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="pull_range"
- c:identifier="gst_pad_pull_range"
- doc="Pulls a @buffer from the peer pad.
-This function will first trigger the pad block signal if it was
-installed.
-When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this
-function returns the result of gst_pad_get_range() on the peer pad.
-See gst_pad_get_range() for a list of return values and for the
-semantics of the arguments of this function.
-configured on @pad. Renegotiation within a running pull-mode pipeline is not
-supported.
-When this function returns #GST_FLOW_OK, @buffer will contain a valid
-#GstBuffer that should be freed with gst_buffer_unref() after usage.
-#GST_FLOW_OK is returned.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </method>
- <method name="push_event"
- c:identifier="gst_pad_push_event"
- doc="Sends the event to the peer of the given pad. This function is
-mainly used by elements to send events to their peer
-elements.
-This function takes owership of the provided event so you should
-gst_event_ref() it if you want to reuse the event after this call.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </method>
- <method name="event_default"
- c:identifier="gst_pad_event_default"
- doc="Invokes the default event handler for the given pad. End-of-stream and
-discontinuity events are handled specially, and then the event is sent to all
-pads internally linked to @pad. Note that if there are many possible sink
-pads that are internally linked to @pad, only one will be sent an event.
-Multi-sinkpad elements should implement custom event handlers.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </method>
- <method name="chain"
- c:identifier="gst_pad_chain"
- doc="Chain a buffer to @pad.
-The function returns #GST_FLOW_WRONG_STATE if the pad was flushing.
-If the caps on @buffer are different from the current caps on @pad, this
-function will call any setcaps function (see gst_pad_set_setcaps_function())
-installed on @pad. If the new caps are not acceptable for @pad, this
-function returns #GST_FLOW_NOT_NEGOTIATED.
-The function proceeds calling the chain function installed on @pad (see
-gst_pad_set_chain_function()) and the return value of that function is
-returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
-chain function.
-In all cases, success or failure, the caller loses its reference to @buffer
-after calling this function.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="chain_list"
- c:identifier="gst_pad_chain_list"
- doc="Chain a bufferlist to @pad.
-The function returns #GST_FLOW_WRONG_STATE if the pad was flushing.
-If the caps on the first buffer of @list are different from the current
-caps on @pad, this function will call any setcaps function
-(see gst_pad_set_setcaps_function()) installed on @pad. If the new caps
-are not acceptable for @pad, this function returns #GST_FLOW_NOT_NEGOTIATED.
-The function proceeds calling the chainlist function installed on @pad (see
-gst_pad_set_chain_list_function()) and the return value of that function is
-returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
-chainlist function.
-In all cases, success or failure, the caller loses its reference to @list
-after calling this function.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_range"
- c:identifier="gst_pad_get_range"
- doc="When @pad is flushing this function returns #GST_FLOW_WRONG_STATE
-immediatly.
-Calls the getrange function of @pad, see #GstPadGetRangeFunction for a
-description of a getrange function. If @pad has no getrange function
-installed (see gst_pad_set_getrange_function()) this function returns
-#GST_FLOW_NOT_SUPPORTED.
-This is a lowlevel function. Usualy gst_pad_pull_range() is used.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_event"
- c:identifier="gst_pad_send_event"
- doc="Sends the event to the pad. This function can be used
-by applications to send events in the pipeline.
-If @pad is a source pad, @event should be an upstream event. If @pad is a
-sink pad, @event should be a downstream event. For example, you would not
-send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream.
-Furthermore, some downstream events have to be serialized with data flow,
-like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If
-the event needs to be serialized with data flow, this function will take the
-pad's stream lock while calling its event function.
-To find out whether an event type is upstream, downstream, or downstream and
-serialized, see #GstEventTypeFlags, gst_event_type_get_flags(),
-#GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and
-#GST_EVENT_IS_SERIALIZED. Note that in practice that an application or
-plugin doesn't need to bother itself with this information; the core handles
-all necessary locks and checks.
-This function takes owership of the provided event so you should
-gst_event_ref() it if you want to reuse the event after this call.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </method>
- <method name="start_task"
- c:identifier="gst_pad_start_task"
- doc="Starts a task that repeatedly calls @func with @data. This function
-is mostly used in pad activation functions to start the dataflow.
-The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired
-before @func is called.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="TaskFunction" c:type="GstTaskFunction"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="pause_task"
- c:identifier="gst_pad_pause_task"
- doc="Pause the task of @pad. This function will also wait until the
-function executed by the task is finished if this function is not
-called from the task function.
-has no task.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="stop_task"
- c:identifier="gst_pad_stop_task"
- doc="Stop the task of @pad. This function will also make sure that the
-function executed by the task will effectively stop if not called
-from the GstTaskFunction.
-This function will deadlock if called from the GstTaskFunction of
-the task. Use gst_task_pause() instead.
-Regardless of whether the pad has a task, the stream lock is acquired and
-released so as to ensure that streaming through this pad has finished.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_internal_link_function"
- c:identifier="gst_pad_set_internal_link_function"
- doc="Sets the given internal link function for the pad."
- deprecated="Use the thread-safe gst_pad_set_iterate_internal_links_function()">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="intlink" transfer-ownership="none" scope="call">
- <type name="PadIntLinkFunction" c:type="GstPadIntLinkFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_internal_links"
- c:identifier="gst_pad_get_internal_links"
- doc="Gets a list of pads to which the given pad is linked to
-inside of the parent element.
-The caller must free this list after use.
-Not MT safe.
-could become invalid by the time the application accesses them. It's also
-possible that the list changes while handling the pads, which the caller of
-this function is unable to know. Use the thread-safe
-gst_pad_iterate_internal_links() instead."
- deprecated="This function does not ref the pads in the list so that they">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="get_internal_links_default"
- c:identifier="gst_pad_get_internal_links_default"
- doc="Gets a list of pads to which the given pad is linked to
-inside of the parent element.
-This is the default handler, and thus returns a list of all of the
-pads inside the parent element with opposite direction.
-The caller must free this list after use with g_list_free().
-Not MT safe.
-could become invalid by the time the application accesses them. It's also
-possible that the list changes while handling the pads, which the caller of
-this function is unable to know. Use the thread-safe
-gst_pad_iterate_internal_links_default() instead."
- deprecated="This function does not ref the pads in the list so that they">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="set_iterate_internal_links_function"
- c:identifier="gst_pad_set_iterate_internal_links_function"
- doc="Sets the given internal link iterator function for the pad."
- version="0.10.21">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="iterintlink" transfer-ownership="none" scope="call">
- <type name="PadIterIntLinkFunction"
- c:type="GstPadIterIntLinkFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="iterate_internal_links"
- c:identifier="gst_pad_iterate_internal_links"
- doc="Gets an iterator for the pads to which the given pad is linked to inside
-of the parent element.
-Each #GstPad element yielded by the iterator will have its refcount increased,
-so unref after use.
-iterator function configured. Use gst_iterator_free() after usage."
- version="0.10.21">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="iterate_internal_links_default"
- c:identifier="gst_pad_iterate_internal_links_default"
- doc="Iterate the list of pads to which the given pad is linked to inside of
-the parent element.
-This is the default handler, and thus returns an iterator of all of the
-pads inside the parent element with opposite direction.
-The caller must free this iterator after use with gst_iterator_free().
-returned pad with gst_object_unref()."
- version="0.10.21">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </method>
- <method name="set_query_type_function"
- c:identifier="gst_pad_set_query_type_function"
- doc="Set the given query type function for the pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type_func" transfer-ownership="none" scope="call">
- <type name="PadQueryTypeFunction"
- c:type="GstPadQueryTypeFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_query_types"
- c:identifier="gst_pad_get_query_types"
- doc="Get an array of supported queries that can be performed
-on this pad.">
- <return-value transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </return-value>
- </method>
- <method name="get_query_types_default"
- c:identifier="gst_pad_get_query_types_default"
- doc="Invoke the default dispatcher for the query types on
-the pad.
-internally-linked pads has a query types function.">
- <return-value transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </return-value>
- </method>
- <method name="query"
- c:identifier="gst_pad_query"
- doc="Dispatches a query to a pad. The query should have been allocated by the
-caller via one of the type-specific allocation functions in gstquery.h. The
-element is responsible for filling the query with an appropriate response,
-which should then be parsed with a type-specific query parsing function.
-Again, the caller is responsible for both the allocation and deallocation of
-the query structure.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peer_query"
- c:identifier="gst_pad_peer_query"
- doc="Performs gst_pad_query() on the peer of @pad.
-The caller is responsible for both the allocation and deallocation of
-the query structure.
-if @pad has no peer."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_query_function"
- c:identifier="gst_pad_set_query_function"
- doc="Set the given query function for the pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none" scope="call">
- <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_default"
- c:identifier="gst_pad_query_default"
- doc="Invokes the default query handler for the given pad.
-The query is sent to all pads internally linked to @pad. Note that
-if there are many possible sink pads that are internally linked to
-Multi-sinkpad elements should implement custom query handlers.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </method>
- <method name="dispatcher"
- c:identifier="gst_pad_dispatcher"
- doc="Invokes the given dispatcher function on each respective peer of
-all pads that are internally linked to the given pad.
-The GstPadDispatcherFunction should return TRUE when no further pads
-need to be processed.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dispatch"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="PadDispatcherFunction"
- c:type="GstPadDispatcherFunction"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="use_fixed_caps"
- c:identifier="gst_pad_use_fixed_caps"
- doc="A helper function you can use that sets the
-pad. This way the function will always return the negotiated caps
-or in case the pad is not negotiated, the padtemplate caps.
-Use this function on a pad that, once gst_pad_set_caps() has been called
-on it, cannot be renegotiated to something else.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_fixed_caps_func"
- c:identifier="gst_pad_get_fixed_caps_func"
- doc="A helper function you can use as a GetCaps function that
-will return the currently negotiated caps or the padtemplate
-when NULL.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="proxy_getcaps"
- c:identifier="gst_pad_proxy_getcaps"
- doc="Calls gst_pad_get_allowed_caps() for every other pad belonging to the
-same element as @pad, and returns the intersection of the results.
-This function is useful as a default getcaps function for an element
-that can handle any stream format, but requires all its pads to have
-the same caps. Two such elements are tee and adder.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="proxy_setcaps" c:identifier="gst_pad_proxy_setcaps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_parent_element"
- c:identifier="gst_pad_get_parent_element"
- doc="Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or
-its parent is not an element, return NULL.
-unref when you're finished with it.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- </method>
- <method name="query_position"
- c:identifier="gst_pad_query_position"
- doc="On return contains the #GstFormat used.
-Queries a pad for the stream position.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format"
- direction="inout"
- transfer-ownership="full"
- doc="a pointer to the #GstFormat asked for.">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="cur"
- direction="out"
- transfer-ownership="full"
- doc="A location in which to store the current position, or NULL.">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_duration"
- c:identifier="gst_pad_query_duration"
- doc="On return contains the #GstFormat used.
-Queries a pad for the total stream duration.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="duration" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_convert"
- c:identifier="gst_pad_query_convert"
- doc="Queries a pad to convert @src_val in @src_format to @dest_format.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="src_val" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="dest_val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_peer_position"
- c:identifier="gst_pad_query_peer_position"
- doc="Must be a sink pad.
-On return contains the #GstFormat used.
-Queries the peer of a given sink pad for the stream position.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="cur" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_peer_duration"
- c:identifier="gst_pad_query_peer_duration"
- doc="Must be a sink pad.
-On return contains the #GstFormat used.
-Queries the peer pad of a given sink pad for the total stream duration.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="duration" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_peer_convert"
- c:identifier="gst_pad_query_peer_convert"
- doc="Must be a sink pad.
-Queries the peer pad of a given sink pad to convert @src_val in @src_format
-to @dest_format.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="src_val" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="dest_val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_data_probe"
- c:identifier="gst_pad_add_data_probe"
- doc="Adds a "data probe" to a pad. This function will be called whenever data
-passes through a pad. In this case data means both events and buffers. The
-probe will be called with the data as an argument, meaning @handler should
-have the same callback signature as the #GstPad::have-data signal.
-Note that the data will have a reference count greater than 1, so it will
-be immutable -- you must not change it.
-For source pads, the probe will be called after the blocking function, if any
-(see gst_pad_set_blocked_async()), but before looking up the peer to chain
-to. For sink pads, the probe function will be called before configuring the
-sink with new caps, if any, and before calling the pad's chain function.
-Your data probe should return TRUE to let the data continue to flow, or FALSE
-to drop it. Dropping data is rarely useful, but occasionally comes in handy
-with events.
-Although probes are implemented internally by connecting @handler to the
-have-data signal on the pad, if you want to remove a probe it is insufficient
-to only call g_signal_handler_disconnect on the returned handler id. To
-remove a probe, use the appropriate function, such as
-gst_pad_remove_data_probe().">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="handler"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_data_probe_full"
- c:identifier="gst_pad_add_data_probe_full"
- doc="Adds a "data probe" to a pad. This function will be called whenever data
-passes through a pad. In this case data means both events and buffers. The
-probe will be called with the data as an argument, meaning @handler should
-have the same callback signature as the #GstPad::have-data signal.
-Note that the data will have a reference count greater than 1, so it will
-be immutable -- you must not change it.
-For source pads, the probe will be called after the blocking function, if any
-(see gst_pad_set_blocked_async()), but before looking up the peer to chain
-to. For sink pads, the probe function will be called before configuring the
-sink with new caps, if any, and before calling the pad's chain function.
-Your data probe should return TRUE to let the data continue to flow, or FALSE
-to drop it. Dropping data is rarely useful, but occasionally comes in handy
-with events.
-Although probes are implemented internally by connecting @handler to the
-have-data signal on the pad, if you want to remove a probe it is insufficient
-to only call g_signal_handler_disconnect on the returned handler id. To
-remove a probe, use the appropriate function, such as
-gst_pad_remove_data_probe().
-The @notify function is called when the probe is disconnected and usually
-used to free @data."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="handler"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_data_probe"
- c:identifier="gst_pad_remove_data_probe"
- doc="Removes a data probe from @pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="handler_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_event_probe"
- c:identifier="gst_pad_add_event_probe"
- doc="Adds a probe that will be called for all events passing through a pad. See
-gst_pad_add_data_probe() for more information.">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="handler"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_event_probe_full"
- c:identifier="gst_pad_add_event_probe_full"
- doc="Adds a probe that will be called for all events passing through a pad. See
-gst_pad_add_data_probe() for more information.
-The @notify function is called when the probe is disconnected and usually
-used to free @data."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="handler"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_event_probe"
- c:identifier="gst_pad_remove_event_probe"
- doc="Removes an event probe from @pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="handler_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_buffer_probe"
- c:identifier="gst_pad_add_buffer_probe"
- doc="Adds a probe that will be called for all buffers passing through a pad. See
-gst_pad_add_data_probe() for more information.">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="handler"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_buffer_probe_full"
- c:identifier="gst_pad_add_buffer_probe_full"
- doc="Adds a probe that will be called for all buffers passing through a pad. See
-gst_pad_add_data_probe() for more information.
-The @notify function is called when the probe is disconnected and usually
-used to free @data."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="handler"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_buffer_probe"
- c:identifier="gst_pad_remove_buffer_probe"
- doc="Removes a buffer probe from @pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="handler_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <property name="caps">
- <type name="Caps" c:type="GstCaps"/>
- </property>
- <property name="direction" writable="1" construct-only="1">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </property>
- <property name="template" writable="1">
- <type name="PadTemplate" c:type="GstPadTemplate"/>
- </property>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="element_private">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="padtemplate">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </field>
- <field name="direction">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </field>
- <field name="stream_rec_lock">
- <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
- </field>
- <field name="task">
- <type name="Task" c:type="GstTask*"/>
- </field>
- <field name="preroll_lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="preroll_cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="block_cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="block_callback">
- <type name="PadBlockCallback" c:type="GstPadBlockCallback"/>
- </field>
- <field name="block_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="caps">
- <type name="Caps" c:type="GstCaps*"/>
- </field>
- <field name="getcapsfunc">
- <type name="PadGetCapsFunction" c:type="GstPadGetCapsFunction"/>
- </field>
- <field name="setcapsfunc">
- <type name="PadSetCapsFunction" c:type="GstPadSetCapsFunction"/>
- </field>
- <field name="acceptcapsfunc">
- <type name="PadAcceptCapsFunction" c:type="GstPadAcceptCapsFunction"/>
- </field>
- <field name="fixatecapsfunc">
- <type name="PadFixateCapsFunction" c:type="GstPadFixateCapsFunction"/>
- </field>
- <field name="activatefunc">
- <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
- </field>
- <field name="activatepushfunc">
- <type name="PadActivateModeFunction"
- c:type="GstPadActivateModeFunction"/>
- </field>
- <field name="activatepullfunc">
- <type name="PadActivateModeFunction"
- c:type="GstPadActivateModeFunction"/>
- </field>
- <field name="linkfunc">
- <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
- </field>
- <field name="unlinkfunc">
- <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
- </field>
- <field name="peer">
- <type name="Pad" c:type="GstPad*"/>
- </field>
- <field name="sched_private">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="chainfunc">
- <type name="PadChainFunction" c:type="GstPadChainFunction"/>
- </field>
- <field name="checkgetrangefunc">
- <type name="PadCheckGetRangeFunction"
- c:type="GstPadCheckGetRangeFunction"/>
- </field>
- <field name="getrangefunc">
- <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
- </field>
- <field name="eventfunc">
- <type name="PadEventFunction" c:type="GstPadEventFunction"/>
- </field>
- <field name="mode">
- <type name="ActivateMode" c:type="GstActivateMode"/>
- </field>
- <field name="querytypefunc">
- <type name="PadQueryTypeFunction" c:type="GstPadQueryTypeFunction"/>
- </field>
- <field name="queryfunc">
- <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
- </field>
- <field name="intlinkfunc">
- <type name="PadIntLinkFunction" c:type="GstPadIntLinkFunction"/>
- </field>
- <field name="bufferallocfunc">
- <type name="PadBufferAllocFunction"
- c:type="GstPadBufferAllocFunction"/>
- </field>
- <field name="do_buffer_signals">
- <type name="int" c:type="gint"/>
- </field>
- <field name="do_event_signals">
- <type name="int" c:type="gint"/>
- </field>
- <field name="iterintlinkfunc">
- <type name="PadIterIntLinkFunction"
- c:type="GstPadIterIntLinkFunction"/>
- </field>
- <field name="block_destroy_data">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="block_callback_called" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="priv" writable="1">
- <type name="PadPrivate" c:type="GstPadPrivate*"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </union>
- <glib:signal name="have-data"
- doc="Signals that new data is available on the pad. This signal is used
-internally for implementing pad probes.
-See gst_pad_add_*_probe functions.">
- <return-value transfer-ownership="full">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="mini_obj" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="linked"
- doc="Signals that a pad has been linked to the peer pad.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="peer" transfer-ownership="none">
- <type name="Pad" c:type="GstPad"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-link"
- doc="Signals that a pad connection has been requested.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="unlinked"
- doc="Signals that a pad has been unlinked from the peer pad.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="peer" transfer-ownership="none">
- <type name="Pad" c:type="GstPad"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <callback name="PadAcceptCapsFunction"
- c:type="GstPadAcceptCapsFunction"
- doc="Check if @pad can accept @caps. By default this function will see if @caps
-intersect with the result from gst_pad_get_caps() by can be overridden to
-perform extra checks.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadActivateFunction"
- c:type="GstPadActivateFunction"
- doc="This function is called when the pad is activated during the element
-READY to PAUSED state change. By default this function will call the
-activate function that puts the pad in push mode but elements can
-override this function to activate the pad in pull mode if they wish.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadActivateModeFunction"
- c:type="GstPadActivateModeFunction"
- doc="The prototype of the push and pull activate functions.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadBlockCallback"
- c:type="GstPadBlockCallback"
- doc="Callback used by gst_pad_set_blocked_async(). Gets called when the blocking
-operation succeeds.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="blocked" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadBufferAllocFunction"
- c:type="GstPadBufferAllocFunction"
- doc="Ask the sinkpad @pad to allocate a buffer with @offset, @size and @caps.
-The result will be stored in @buf.
-The purpose of this function is to allocate a buffer that is optimal to
-be processed by @pad. The function is mostly overridden by elements that can
-provide a hardware buffer in order to avoid additional memcpy operations.
-The function can return a buffer that has caps different from the requested
-new caps.
-If a format change was requested, the returned buffer will be one to hold
-the data of said new caps, so its size might be different from the requested
-When this function returns anything else than #GST_FLOW_OK, the buffer allocation
-failed and @buf does not contain valid data. If the function returns #GST_FLOW_OK and
-the @buf is NULL, a #GstBuffer will be created with @caps, @offset and @size.
-By default this function returns a new buffer of @size and with @caps containing
-purely malloced data. The buffer should be freed with gst_buffer_unref()
-after usage.
-value means @buf does not hold a valid buffer.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadChainFunction"
- c:type="GstPadChainFunction"
- doc="A function that will be called on sinkpads when chaining buffers.
-The function typically processes the data contained in the buffer and
-either consumes the data or passes it on to the internally linked pad(s).
-The implementer of this function receives a refcount to @buffer and should
-gst_buffer_unref() when the buffer is no longer needed.
-When a chain function detects an error in the data stream, it must post an
-error on the bus and return an appropriate #GstFlowReturn value.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadChainListFunction"
- c:type="GstPadChainListFunction"
- doc="A function that will be called on sinkpads when chaining buffer lists.
-The function typically processes the data contained in the buffer list and
-either consumes the data or passes it on to the internally linked pad(s).
-The implementer of this function receives a refcount to @list and
-should gst_buffer_list_unref() when the list is no longer needed.
-When a chainlist function detects an error in the data stream, it must
-post an error on the bus and return an appropriate #GstFlowReturn value.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <type name="BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadCheckGetRangeFunction"
- c:type="GstPadCheckGetRangeFunction"
- doc="Check if @pad can be activated in pull mode.
-This function will be deprecated after 0.10; use the seeking query to check
-if a pad can support random access.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="PadClass"
- c:type="GstPadClass"
- glib:is-gtype-struct-for="Pad">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="linked">
- <callback name="linked" c:type="linked">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="peer" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unlinked">
- <callback name="unlinked" c:type="unlinked">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="peer" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_link">
- <callback name="request_link" c:type="request_link">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="have_data">
- <callback name="have_data" c:type="have_data">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="PadDirection"
- doc="The direction of a pad."
- c:type="GstPadDirection">
- <member name="unknown" value="0" c:identifier="GST_PAD_UNKNOWN"/>
- <member name="src" value="1" c:identifier="GST_PAD_SRC"/>
- <member name="sink" value="2" c:identifier="GST_PAD_SINK"/>
- </enumeration>
- <callback name="PadDispatcherFunction"
- c:type="GstPadDispatcherFunction"
- doc="A dispatcher function is called for all internally linked pads, see
-gst_pad_dispatcher().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadEventFunction"
- c:type="GstPadEventFunction"
- doc="Function signature to handle an event for the pad.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadFixateCapsFunction"
- c:type="GstPadFixateCapsFunction"
- doc="Given possibly unfixed caps @caps, let @pad use its default prefered
-format to make a fixed caps. @caps should be writable. By default this
-function will pick the first value of any ranges or lists in the caps but
-elements can override this function to perform other behaviour.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="PadFlags" doc="Pad state flags" c:type="GstPadFlags">
- <member name="blocked" value="16" c:identifier="GST_PAD_BLOCKED"/>
- <member name="flushing" value="32" c:identifier="GST_PAD_FLUSHING"/>
- <member name="in_getcaps" value="64" c:identifier="GST_PAD_IN_GETCAPS"/>
- <member name="in_setcaps" value="128" c:identifier="GST_PAD_IN_SETCAPS"/>
- <member name="blocking" value="256" c:identifier="GST_PAD_BLOCKING"/>
- <member name="flag_last" value="4096" c:identifier="GST_PAD_FLAG_LAST"/>
- </bitfield>
- <callback name="PadGetCapsFunction"
- c:type="GstPadGetCapsFunction"
- doc="Returns a copy of the capabilities of the specified pad. By default this
-function will return the pad template capabilities, but can optionally
-be overridden by elements.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadGetRangeFunction"
- c:type="GstPadGetRangeFunction"
- doc="This function will be called on source pads when a peer element
-request a buffer at the specified @offset and @length. If this function
-returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The
-contents of @buffer is invalid for any other return value.
-This function is installed on a source pad with
-gst_pad_set_getrange_function() and can only be called on source pads after
-they are successfully activated with gst_pad_activate_pull().
-between 0 and the length in bytes of the data available on @pad. The
-length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a
-#GST_QUERY_SEEKING.
-Any @offset larger or equal than the length will make the function return
-#GST_FLOW_UNEXPECTED, which corresponds to EOS. In this case @buffer does not
-contain a valid buffer.
-The buffer size of @buffer might be smaller than @length when @offset is near
-the end of the stream.
-It is allowed to call this function with a 0 @length and valid @offset, in
-which case @buffer will contain a 0-sized buffer and the function returns
-#GST_FLOW_OK.
-When this function is called with a -1 @offset, the sequentially next buffer
-of length @length in the stream is returned.
-When this function is called with a -1 @length, a buffer with a default
-optimal length is returned in @buffer. The length might depend on the value
-of @offset.">
- <return-value transfer-ownership="full">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadIntLinkFunction"
- c:type="GstPadIntLinkFunction"
- doc="The signature of the internal pad link function.
-the inside of the parent element.
-The caller must call g_list_free() on it after use."
- deprecated="use the threadsafe #GstPadIterIntLinkFunction instead.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadIterIntLinkFunction"
- c:type="GstPadIterIntLinkFunction"
- doc="The signature of the internal pad link iterator function.
-linked to the given pad on the inside of the parent element.
-the caller must call gst_iterator_free() after usage.
-Since 0.10.21">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadLinkFunction" c:type="GstPadLinkFunction">
- <return-value transfer-ownership="full">
- <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="peer" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="PadLinkReturn"
- doc="Result values from gst_pad_link and friends."
- c:type="GstPadLinkReturn">
- <member name="ok" value="0" c:identifier="GST_PAD_LINK_OK"/>
- <member name="wrong_hierarchy"
- value="-1"
- c:identifier="GST_PAD_LINK_WRONG_HIERARCHY"/>
- <member name="was_linked"
- value="-2"
- c:identifier="GST_PAD_LINK_WAS_LINKED"/>
- <member name="wrong_direction"
- value="-3"
- c:identifier="GST_PAD_LINK_WRONG_DIRECTION"/>
- <member name="noformat" value="-4" c:identifier="GST_PAD_LINK_NOFORMAT"/>
- <member name="nosched" value="-5" c:identifier="GST_PAD_LINK_NOSCHED"/>
- <member name="refused" value="-6" c:identifier="GST_PAD_LINK_REFUSED"/>
- </enumeration>
- <enumeration name="PadPresence"
- doc="gst_element_get_request_pad().
-Indicates when this pad will become available."
- c:type="GstPadPresence">
- <member name="always" value="0" c:identifier="GST_PAD_ALWAYS"/>
- <member name="sometimes" value="1" c:identifier="GST_PAD_SOMETIMES"/>
- <member name="request" value="2" c:identifier="GST_PAD_REQUEST"/>
- </enumeration>
- <record name="PadPrivate" c:type="GstPadPrivate">
- </record>
- <callback name="PadQueryFunction"
- c:type="GstPadQueryFunction"
- doc="The signature of the query function.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="query" transfer-ownership="none">
- <type name="Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadQueryTypeFunction"
- c:type="GstPadQueryTypeFunction"
- doc="The signature of the query types function.">
- <return-value transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PadSetCapsFunction"
- c:type="GstPadSetCapsFunction"
- doc="Set @caps on @pad. By default this function updates the caps of the
-pad but the function can be overriden by elements to perform extra
-actions or verifications.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- <class name="PadTemplate"
- c:type="GstPadTemplate"
- doc="The padtemplate object."
- parent="Object"
- glib:type-name="GstPadTemplate"
- glib:get-type="gst_pad_template_get_type"
- glib:type-struct="PadTemplateClass">
- <constructor name="new"
- c:identifier="gst_pad_template_new"
- doc="Creates a new pad template with a name according to the given template
-and with the given arguments. This functions takes ownership of the provided
-caps, so be sure to not use them afterwards.">
- <return-value transfer-ownership="full">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </return-value>
- <parameters>
- <parameter name="name_template" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="presence" transfer-ownership="none">
- <type name="PadPresence" c:type="GstPadPresence"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="get_caps"
- c:identifier="gst_pad_template_get_caps"
- doc="Gets the capabilities of the pad template.
-the caps, take a ref (see gst_caps_ref ()).">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="pad_created"
- c:identifier="gst_pad_template_pad_created"
- doc="Emit the pad-created signal for this template when created by this pad.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <property name="caps" writable="1" construct-only="1">
- <type name="Caps" c:type="GstCaps"/>
- </property>
- <property name="direction" writable="1" construct-only="1">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </property>
- <property name="name-template" writable="1" construct-only="1">
- <type name="utf8" c:type="gchararray"/>
- </property>
- <property name="presence" writable="1" construct-only="1">
- <type name="PadPresence" c:type="GstPadPresence"/>
- </property>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="name_template">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="direction">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </field>
- <field name="presence">
- <type name="PadPresence" c:type="GstPadPresence"/>
- </field>
- <field name="caps">
- <type name="Caps" c:type="GstCaps*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="pad-created"
- doc="This signal is fired when an element creates a pad from this template.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="PadTemplateClass"
- c:type="GstPadTemplateClass"
- glib:is-gtype-struct-for="PadTemplate">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="pad_created">
- <callback name="pad_created" c:type="pad_created">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="templ" transfer-ownership="none">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="PadTemplateFlags"
- doc="Flags for the padtemplate"
- c:type="GstPadTemplateFlags">
- <member name="fixed" value="16" c:identifier="GST_PAD_TEMPLATE_FIXED"/>
- <member name="flag_last"
- value="256"
- c:identifier="GST_PAD_TEMPLATE_FLAG_LAST"/>
- </bitfield>
- <callback name="PadUnlinkFunction" c:type="GstPadUnlinkFunction">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ParamSpecFraction"
- c:type="GstParamSpecFraction"
- doc="A GParamSpec derived structure that contains the meta data for fractional
-properties.">
- <field name="parent_instance" writable="1">
- <type name="GObject.ParamSpec" c:type="GParamSpec"/>
- </field>
- <field name="min_num" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="min_den" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="max_num" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="max_den" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="def_num" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="def_den" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- </record>
- <record name="ParamSpecMiniObject"
- c:type="GstParamSpecMiniObject"
- doc="A %GParamSpec derived structure that contains the meta data
-for %GstMiniObject properties.">
- <field name="parent_instance" writable="1">
- <type name="GObject.ParamSpec" c:type="GParamSpec"/>
- </field>
- </record>
- <record name="ParseContext"
- c:type="GstParseContext"
- doc="Opaque structure."
- version="0.10.20">
- <constructor name="new"
- c:identifier="gst_parse_context_new"
- doc="Allocates a parse context for use with gst_parse_launch_full() or
-gst_parse_launchv_full().
-when no longer needed."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="ParseContext" c:type="GstParseContext*"/>
- </return-value>
- </constructor>
- <method name="get_missing_elements"
- c:identifier="gst_parse_context_get_missing_elements"
- doc="Retrieve missing elements from a previous run of gst_parse_launch_full()
-or gst_parse_launchv_full(). Will only return results if an error code
-of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned.
-missing elements. Free with g_strfreev() when no longer needed."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_parse_context_free"
- doc="Frees a parse context previously allocated with gst_parse_context_new()."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- </record>
- <enumeration name="ParseError"
- doc="The different parsing errors that can occur."
- c:type="GstParseError"
- glib:error-quark="gst_parse_error_quark">
- <member name="syntax" value="0" c:identifier="GST_PARSE_ERROR_SYNTAX"/>
- <member name="no_such_element"
- value="1"
- c:identifier="GST_PARSE_ERROR_NO_SUCH_ELEMENT"/>
- <member name="no_such_property"
- value="2"
- c:identifier="GST_PARSE_ERROR_NO_SUCH_PROPERTY"/>
- <member name="link" value="3" c:identifier="GST_PARSE_ERROR_LINK"/>
- <member name="could_not_set_property"
- value="4"
- c:identifier="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY"/>
- <member name="empty_bin"
- value="5"
- c:identifier="GST_PARSE_ERROR_EMPTY_BIN"/>
- <member name="empty" value="6" c:identifier="GST_PARSE_ERROR_EMPTY"/>
- </enumeration>
- <bitfield name="ParseFlags"
- doc="(default behaviour is to return partially constructed bins or elements
-in some cases)
-Parsing options."
- version="0.10.20"
- c:type="GstParseFlags">
- <member name="none" value="0" c:identifier="GST_PARSE_FLAG_NONE"/>
- <member name="fatal_errors"
- value="1"
- c:identifier="GST_PARSE_FLAG_FATAL_ERRORS"/>
- </bitfield>
- <class name="Pipeline"
- c:type="GstPipeline"
- doc="GST_PIPELINE_FLAG_FIXED_CLOCK is set.
-property would be the running_time, the total time spent in the
-PLAYING state without being flushed. (deprecated, use the start_time
-on GstElement).
-when setting elements to PLAYING.
-The #GstPipeline structure."
- parent="Bin"
- glib:type-name="GstPipeline"
- glib:get-type="gst_pipeline_get_type"
- glib:type-struct="PipelineClass">
- <implements name="ChildProxy"/>
- <constructor name="new"
- c:identifier="gst_pipeline_new"
- doc="Create a new pipeline with the given name.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Pipeline" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="get_bus"
- c:identifier="gst_pipeline_get_bus"
- doc="Gets the #GstBus of @pipeline. The bus allows applications to receive
-#GstMessage packets.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Bus" c:type="GstBus*"/>
- </return-value>
- </method>
- <method name="set_new_stream_time"
- c:identifier="gst_pipeline_set_new_stream_time"
- doc="Set the new start time of @pipeline to @time. The start time is used to
-set the base time on the elements (see gst_element_set_base_time())
-in the PAUSED->PLAYING state transition.
-Setting @time to #GST_CLOCK_TIME_NONE will disable the pipeline's management
-of element base time. The application will then be responsible for
-performing base time distribution. This is sometimes useful if you want to
-synchronize capture from multiple pipelines, and you can also ensure that the
-pipelines have the same clock.
-MT safe.
-gst_element_set_start_time()."
- deprecated="This function has the wrong name and is equivalent to">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_last_stream_time"
- c:identifier="gst_pipeline_get_last_stream_time"
- doc="Gets the last running time of @pipeline. If the pipeline is PLAYING,
-the returned time is the running time used to configure the element's
-base time in the PAUSED->PLAYING state. If the pipeline is PAUSED, the
-returned time is the running time when the pipeline was paused.
-This function returns #GST_CLOCK_TIME_NONE if the pipeline was
-configured to not handle the management of the element's base time
-(see gst_pipeline_set_new_stream_time()).
-MT safe.
-gst_element_get_start_time()."
- deprecated="This function has the wrong name and is equivalent to">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="use_clock"
- c:identifier="gst_pipeline_use_clock"
- doc="Force @pipeline to use the given @clock. The pipeline will
-always use the given clock even if new clock providers are added
-to this pipeline.
-If @clock is NULL all clocking will be disabled which will make
-the pipeline run as fast as possible.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_clock"
- c:identifier="gst_pipeline_set_clock"
- doc="Set the clock for @pipeline. The clock will be distributed
-to all the elements managed by the pipeline.
-some element did not accept the clock.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Clock" c:type="GstClock*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_clock"
- c:identifier="gst_pipeline_get_clock"
- doc="Gets the current clock used by @pipeline.">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- </method>
- <method name="auto_clock"
- c:identifier="gst_pipeline_auto_clock"
- doc="Let @pipeline select a clock automatically. This is the default
-behaviour.
-Use this function if you previous forced a fixed clock with
-gst_pipeline_use_clock() and want to restore the default
-pipeline clock selection algorithm.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_delay"
- c:identifier="gst_pipeline_set_delay"
- doc="Set the expected delay needed for all elements to perform the
-PAUSED to PLAYING state change. @delay will be added to the
-base time of the elements so that they wait an additional @delay
-amount of time before starting to process buffers and cannot be
-#GST_CLOCK_TIME_NONE.
-This option is used for tuning purposes and should normally not be
-used.
-MT safe."
- version="0.10.5">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="delay" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_delay"
- c:identifier="gst_pipeline_get_delay"
- doc="Get the configured delay (see gst_pipeline_set_delay()).
-MT safe."
- version="0.10.5">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="set_auto_flush_bus"
- c:identifier="gst_pipeline_set_auto_flush_bus"
- doc="the pipeline goes from READY to NULL state
-Usually, when a pipeline goes from READY to NULL state, it automatically
-flushes all pending messages on the bus, which is done for refcounting
-purposes, to break circular references.
-This means that applications that update state using (async) bus messages
-(e.g. do certain things when a pipeline goes from PAUSED to READY) might
-not get to see messages when the pipeline is shut down, because they might
-be flushed before they can be dispatched in the main thread. This behaviour
-can be disabled using this function.
-It is important that all messages on the bus are handled when the
-automatic flushing is disabled else memory leaks will be introduced.
-MT safe."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="auto_flush" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_auto_flush_bus"
- c:identifier="gst_pipeline_get_auto_flush_bus"
- doc="Check if @pipeline will automatically flush messages when going to
-the NULL state.
-going from READY to NULL state or not.
-MT safe."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <property name="auto-flush-bus"
- version="0.10.4"
- writable="1"
- doc="Whether or not to automatically flush all messages on the
-pipeline's bus when going from READY to NULL state. Please see
-gst_pipeline_set_auto_flush_bus() for more information on this option.">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="delay" writable="1">
- <type name="uint64" c:type="guint64"/>
- </property>
- <field name="bin">
- <type name="Bin" c:type="GstBin"/>
- </field>
- <field name="fixed_clock">
- <type name="Clock" c:type="GstClock*"/>
- </field>
- <field name="stream_time">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="delay">
- <type name="ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="priv">
- <type name="PipelinePrivate" c:type="GstPipelinePrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="PipelineClass"
- c:type="GstPipelineClass"
- glib:is-gtype-struct-for="Pipeline">
- <field name="parent_class">
- <type name="BinClass" c:type="GstBinClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="PipelineFlags"
- doc="Pipeline flags"
- c:type="GstPipelineFlags">
- <member name="fixed_clock"
- value="33554432"
- c:identifier="GST_PIPELINE_FLAG_FIXED_CLOCK"/>
- <member name="last"
- value="536870912"
- c:identifier="GST_PIPELINE_FLAG_LAST"/>
- </bitfield>
- <record name="PipelinePrivate" c:type="GstPipelinePrivate">
- </record>
- <class name="Plugin"
- c:type="GstPlugin"
- doc="The plugin object"
- parent="Object"
- glib:type-name="GstPlugin"
- glib:get-type="gst_plugin_get_type"
- glib:type-struct="PluginClass">
- <function name="register_static"
- c:identifier="gst_plugin_register_static"
- doc="plugin was compiled for, you can just use GST_VERSION_MAJOR here
-plugin was compiled for, you can just use GST_VERSION_MINOR here
-library-specific namespace prefix in order to avoid name conflicts in
-case a similar plugin with the same name ever gets added to GStreamer)
-(see #GstPluginDesc above) or the plugin will not be registered.
-Registers a static plugin, ie. a plugin which is private to an application
-or library and contained within the application or library (as opposed to
-being shipped as a separate module file).
-You must make sure that GStreamer has been initialised (with gst_init() or
-via gst_init_get_option_group()) before calling this function."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="major_version" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="minor_version" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="init_func" transfer-ownership="none" scope="call">
- <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
- </parameter>
- <parameter name="version" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="license" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="source" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="package" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="origin" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="register_static_full"
- c:identifier="gst_plugin_register_static_full"
- doc="plugin was compiled for, you can just use GST_VERSION_MAJOR here
-plugin was compiled for, you can just use GST_VERSION_MINOR here
-library-specific namespace prefix in order to avoid name conflicts in
-case a similar plugin with the same name ever gets added to GStreamer)
-(see #GstPluginDesc above) or the plugin will not be registered.
-Registers a static plugin, ie. a plugin which is private to an application
-or library and contained within the application or library (as opposed to
-being shipped as a separate module file) with a #GstPluginInitFullFunc
-which allows user data to be passed to the callback function (useful
-for bindings).
-You must make sure that GStreamer has been initialised (with gst_init() or
-via gst_init_get_option_group()) before calling this function."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="major_version" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="minor_version" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="init_full_func"
- transfer-ownership="none"
- scope="call">
- <type name="PluginInitFullFunc" c:type="GstPluginInitFullFunc"/>
- </parameter>
- <parameter name="version" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="license" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="source" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="package" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="origin" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="load_file"
- c:identifier="gst_plugin_load_file"
- doc="Loads the given plugin and refs it. Caller needs to unref after use.
-newly-loaded GstPlugin, or NULL if an error occurred."
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Plugin" c:type="GstPlugin*"/>
- </return-value>
- <parameters>
- <parameter name="filename" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="load_by_name"
- c:identifier="gst_plugin_load_by_name"
- doc="Load the named plugin. Refs the plugin.">
- <return-value transfer-ownership="full">
- <type name="Plugin" c:type="GstPlugin*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="list_free"
- c:identifier="gst_plugin_list_free"
- doc="Unrefs each member of @list, then frees the list.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- </parameters>
- </function>
- <method name="get_name"
- c:identifier="gst_plugin_get_name"
- doc="Get the short name of the plugin">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_description"
- c:identifier="gst_plugin_get_description"
- doc="Get the long descriptive name of the plugin">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_filename"
- c:identifier="gst_plugin_get_filename"
- doc="get the filename of the plugin">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_version"
- c:identifier="gst_plugin_get_version"
- doc="get the version of the plugin">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_license"
- c:identifier="gst_plugin_get_license"
- doc="get the license of the plugin">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_source"
- c:identifier="gst_plugin_get_source"
- doc="get the source module the plugin belongs to.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_package"
- c:identifier="gst_plugin_get_package"
- doc="get the package the plugin belongs to.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_origin"
- c:identifier="gst_plugin_get_origin"
- doc="get the URL where the plugin comes from">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_cache_data"
- c:identifier="gst_plugin_get_cache_data"
- doc="Gets the plugin specific data cache. If it is %NULL there is no cached data
-stored. This is the case when the registry is getting rebuilt."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- </method>
- <method name="set_cache_data"
- c:identifier="gst_plugin_set_cache_data"
- doc="Adds plugin specific data to cache. Passes the ownership of the structure to
-the @plugin.
-The cache is flushed every time the registry is rebuilt."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cache_data" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_module"
- c:identifier="gst_plugin_get_module"
- doc="Gets the #GModule of the plugin. If the plugin isn't loaded yet, NULL is
-returned.
-loaded yet.">
- <return-value transfer-ownership="full">
- <type name="GModule.Module" c:type="GModule*"/>
- </return-value>
- </method>
- <method name="is_loaded"
- c:identifier="gst_plugin_is_loaded"
- doc="queries if the plugin is loaded into memory">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="name_filter"
- c:identifier="gst_plugin_name_filter"
- doc="A standard filter that returns TRUE when the plugin is of the
-given name.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="load"
- c:identifier="gst_plugin_load"
- doc="Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is
-untouched. The normal use pattern of this function goes like this:
-<programlisting>
-GstPlugin *loaded_plugin;
-loaded_plugin = gst_plugin_load (plugin);
-// presumably, we're no longer interested in the potentially-unloaded plugin
-gst_object_unref (plugin);
-plugin = loaded_plugin;
-</programlisting>">
- <return-value transfer-ownership="full">
- <type name="Plugin" c:type="GstPlugin*"/>
- </return-value>
- </method>
- <method name="add_dependency"
- c:identifier="gst_plugin_add_dependency"
- doc="feature set of the plugin (e.g. an environment variable containing
-paths where to look for additional modules/plugins of a library),
-or NULL. Environment variable names may be followed by a path component
-which will be added to the content of the environment variable, e.g.
-"HOME/.mystuff/plugins".
-may be.
-depending on @flags) to be used in combination with the paths from
-Make GStreamer aware of external dependencies which affect the feature
-set of this plugin (ie. the elements or typefinders associated with it).
-GStreamer will re-inspect plugins with external dependencies whenever any
-of the external dependencies change. This is useful for plugins which wrap
-other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
-library and makes visualisations available as GStreamer elements, or a
-codec loader which exposes elements and/or caps dependent on what external
-codec libraries are currently installed."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="env_vars" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="paths" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="names" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="PluginDependencyFlags"
- c:type="GstPluginDependencyFlags"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_dependency_simple"
- c:identifier="gst_plugin_add_dependency_simple"
- doc="or NULL. Environment variable names may be followed by a path component
-which will be added to the content of the environment variable, e.g.
-"HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"
-or NULL
-Make GStreamer aware of external dependencies which affect the feature
-set of this plugin (ie. the elements or typefinders associated with it).
-GStreamer will re-inspect plugins with external dependencies whenever any
-of the external dependencies change. This is useful for plugins which wrap
-other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
-library and makes visualisations available as GStreamer elements, or a
-codec loader which exposes elements and/or caps dependent on what external
-codec libraries are currently installed.
-Convenience wrapper function for gst_plugin_add_dependency() which
-takes simple strings as arguments instead of string arrays, with multiple
-arguments separated by predefined delimiters (see above)."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="env_vars" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="paths" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="names" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="PluginDependencyFlags"
- c:type="GstPluginDependencyFlags"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="desc">
- <type name="PluginDesc" c:type="GstPluginDesc"/>
- </field>
- <field name="orig_desc">
- <type name="PluginDesc" c:type="GstPluginDesc*"/>
- </field>
- <field name="flags">
- <type name="uint" c:type="unsigned"/>
- </field>
- <field name="filename">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="basename">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="module">
- <type name="GModule.Module" c:type="GModule*"/>
- </field>
- <field name="file_size">
- <type name="size_t" c:type="off_t"/>
- </field>
- <field name="file_mtime">
- <type name="time_t" c:type="time_t"/>
- </field>
- <field name="registered">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="priv">
- <type name="PluginPrivate" c:type="GstPluginPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="PluginClass"
- c:type="GstPluginClass"
- glib:is-gtype-struct-for="Plugin">
- <field name="object_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="PluginDependencyFlags"
- doc="argument only if none of the environment variables is set
-filename argument as filter suffix and check all matching files in
-the directory
-Flags used in connection with gst_plugin_add_dependency()."
- version="0.10.22"
- c:type="GstPluginDependencyFlags">
- <member name="none"
- value="0"
- c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_NONE"/>
- <member name="recurse"
- value="1"
- c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE"/>
- <member name="paths_are_default_only"
- value="2"
- c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY"/>
- <member name="file_name_is_suffix"
- value="4"
- c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX"/>
- </bitfield>
- <record name="PluginDesc"
- c:type="GstPluginDesc"
- doc="A plugin should export a variable of this type called plugin_desc. The plugin
-loader will use the data provided there to initialize the plugin.
-BSD, MIT/X11, Proprietary, unknown.">
- <field name="major_version" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="minor_version" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="description" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="plugin_init" writable="1">
- <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
- </field>
- <field name="version" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="license" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="source" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="package" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="origin" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="PluginError"
- doc="The plugin loading errors"
- c:type="GstPluginError"
- glib:error-quark="gst_plugin_error_quark">
- <member name="module" value="0" c:identifier="GST_PLUGIN_ERROR_MODULE"/>
- <member name="dependencies"
- value="1"
- c:identifier="GST_PLUGIN_ERROR_DEPENDENCIES"/>
- <member name="name_mismatch"
- value="2"
- c:identifier="GST_PLUGIN_ERROR_NAME_MISMATCH"/>
- </enumeration>
- <class name="PluginFeature"
- c:type="GstPluginFeature"
- doc="Opaque #GstPluginFeature structure."
- parent="Object"
- abstract="1"
- glib:type-name="GstPluginFeature"
- glib:get-type="gst_plugin_feature_get_type"
- glib:type-struct="PluginFeatureClass">
- <function name="list_free"
- c:identifier="gst_plugin_feature_list_free"
- doc="Unrefs each member of @list, then frees the list.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="list_copy"
- c:identifier="gst_plugin_feature_list_copy"
- doc="Copies the list of features. Caller should call @gst_plugin_feature_list_free
-when done with the list."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- </parameters>
- </function>
- <method name="load"
- c:identifier="gst_plugin_feature_load"
- doc="Loads the plugin containing @feature if it's not already loaded. @feature is
-unaffected; use the return value instead.
-Normally this function is used like this:
-|[
-GstPluginFeature *loaded_feature;
-loaded_feature = gst_plugin_feature_load (feature);
-// presumably, we're no longer interested in the potentially-unloaded feature
-gst_object_unref (feature);
-feature = loaded_feature;
-]|">
- <return-value transfer-ownership="full">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </return-value>
- </method>
- <method name="type_name_filter"
- c:identifier="gst_plugin_feature_type_name_filter"
- doc="Compares type and name of plugin feature. Can be used with gst_filter_run().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="TypeNameData" c:type="GstTypeNameData*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_rank"
- c:identifier="gst_plugin_feature_set_rank"
- doc="Specifies a rank for a plugin feature, so that autoplugging uses
-the most appropriate feature.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="rank" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_name"
- c:identifier="gst_plugin_feature_set_name"
- doc="Sets the name of a plugin feature. The name uniquely identifies a feature
-within all features of the same type. Renaming a plugin feature is not
-allowed. A copy is made of the name so you should free the supplied @name
-after calling this function.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_rank"
- c:identifier="gst_plugin_feature_get_rank"
- doc="Gets the rank of a plugin feature.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_name"
- c:identifier="gst_plugin_feature_get_name"
- doc="Gets the name of a plugin feature.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="check_version"
- c:identifier="gst_plugin_feature_check_version"
- doc="Checks whether the given plugin feature is at least
-the required version
-the required version, otherwise #FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="min_major" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="min_minor" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="min_micro" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="loaded">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="name">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="rank">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="plugin_name">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="PluginFeatureClass"
- c:type="GstPluginFeatureClass"
- glib:is-gtype-struct-for="PluginFeature">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="PluginFeatureFilter"
- c:type="GstPluginFeatureFilter"
- doc="gst_registry_feature_filter()
-A function that can be used with e.g. gst_registry_feature_filter()
-to get a list of pluginfeature that match certain criteria.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PluginFilter"
- c:type="GstPluginFilter"
- doc="A function that can be used with e.g. gst_registry_plugin_filter()
-to get a list of plugins that match certain criteria.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="PluginFlags"
- doc="The plugin loading state"
- c:type="GstPluginFlags">
- <member name="cached" value="1" c:identifier="GST_PLUGIN_FLAG_CACHED"/>
- <member name="blacklisted"
- value="2"
- c:identifier="GST_PLUGIN_FLAG_BLACKLISTED"/>
- </bitfield>
- <callback name="PluginInitFullFunc"
- c:type="GstPluginInitFullFunc"
- doc="A plugin should provide a pointer to a function of either #GstPluginInitFunc
-or this type in the plugin_desc struct.
-The function will be called by the loader at startup. One would then
-register each #GstPluginFeature. This version allows
-user data to be passed to init function (useful for bindings)."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="PluginInitFunc"
- c:type="GstPluginInitFunc"
- doc="A plugin should provide a pointer to a function of this type in the
-plugin_desc struct.
-This function will be called by the loader at startup. One would then
-register each #GstPluginFeature.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="PluginPrivate" c:type="GstPluginPrivate">
- </record>
- <record name="Poll"
- c:type="GstPoll"
- doc="A set of file/network descriptors.">
- <constructor name="new"
- c:identifier="gst_poll_new"
- doc="Create a new file descriptor set. If @controllable, it
-is possible to restart or flush a call to gst_poll_wait() with
-gst_poll_restart() and gst_poll_set_flushing() respectively.
-gst_poll_free()."
- version="0.10.18">
- <return-value transfer-ownership="full">
- <type name="Poll" c:type="GstPoll*"/>
- </return-value>
- <parameters>
- <parameter name="controllable" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_timer"
- c:identifier="gst_poll_new_timer"
- doc="Create a new poll object that can be used for scheduling cancellable
-timeouts.
-A timeout is performed with gst_poll_wait(). Multiple timeouts can be
-performed from different threads.
-gst_poll_free()."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Poll" c:type="GstPoll*"/>
- </return-value>
- </constructor>
- <method name="free"
- c:identifier="gst_poll_free"
- doc="Free a file descriptor set."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="add_fd"
- c:identifier="gst_poll_add_fd"
- doc="Add a file descriptor to the file descriptor set."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_fd"
- c:identifier="gst_poll_remove_fd"
- doc="Remove a file descriptor from the file descriptor set."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_ctl_write"
- c:identifier="gst_poll_fd_ctl_write"
- doc="Control whether the descriptor @fd in @set will be monitored for
-writability."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_ctl_read"
- c:identifier="gst_poll_fd_ctl_read"
- doc="Control whether the descriptor @fd in @set will be monitored for
-readability."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_ignored"
- c:identifier="gst_poll_fd_ignored"
- doc="Mark @fd as ignored so that the next call to gst_poll_wait() will yield
-the same result for @fd as last time. This function must be called if no
-operation (read/write/recv/send/etc.) will be performed on @fd before
-the next call to gst_poll_wait().
-The reason why this is needed is because the underlying implementation
-might not allow querying the fd more than once between calls to one of
-the re-enabling operations."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_has_closed"
- c:identifier="gst_poll_fd_has_closed"
- doc="Check if @fd in @set has closed the connection."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_has_error"
- c:identifier="gst_poll_fd_has_error"
- doc="Check if @fd in @set has an error."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_can_read"
- c:identifier="gst_poll_fd_can_read"
- doc="Check if @fd in @set has data to be read."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="fd_can_write"
- c:identifier="gst_poll_fd_can_write"
- doc="Check if @fd in @set can be used for writing."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="PollFD" c:type="GstPollFD*"/>
- </parameter>
- </parameters>
- </method>
- <method name="wait"
- c:identifier="gst_poll_wait"
- doc="Wait for activity on the file descriptors in @set. This function waits up to
-the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever.
-For #GstPoll objects created with gst_poll_new(), this function can only be
-called from a single thread at a time. If called from multiple threads,
--1 will be returned with errno set to EPERM.
-This is not true for timer #GstPoll objects created with
-gst_poll_new_timer(), where it is allowed to have multiple threads waiting
-simultaneously.
-activity was detected after @timeout. If an error occurs, -1 is returned
-and errno is set."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="timeout" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_controllable"
- c:identifier="gst_poll_set_controllable"
- doc="When @controllable is %TRUE, this function ensures that future calls to
-gst_poll_wait() will be affected by gst_poll_restart() and
-gst_poll_set_flushing()."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="controllable" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="restart"
- c:identifier="gst_poll_restart"
- doc="Restart any gst_poll_wait() that is in progress. This function is typically
-used after adding or removing descriptors to @set.
-If @set is not controllable, then this call will have no effect."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_flushing"
- c:identifier="gst_poll_set_flushing"
- doc="When @flushing is %TRUE, this function ensures that current and future calls
-to gst_poll_wait() will return -1, with errno set to EBUSY.
-Unsetting the flushing state will restore normal operation of @set."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flushing" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="write_control"
- c:identifier="gst_poll_write_control"
- doc="Write a byte to the control socket of the controllable @set.
-This function is mostly useful for timer #GstPoll objects created with
-gst_poll_new_timer().
-It will make any current and future gst_poll_wait() function return with
-1, meaning the control socket is set. After an equal amount of calls to
-gst_poll_read_control() have been performed, calls to gst_poll_wait() will
-block again until their timeout expired.
-byte could not be written."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="read_control"
- c:identifier="gst_poll_read_control"
- doc="Read a byte from the control socket of the controllable @set.
-This function is mostly useful for timer #GstPoll objects created with
-gst_poll_new_timer().
-was no byte to read."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- </record>
- <record name="PollFD" c:type="GstPollFD" doc="A file descriptor object.">
- <field name="fd" writable="1">
- <type name="int" c:type="int"/>
- </field>
- <field name="idx" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <method name="init"
- c:identifier="gst_poll_fd_init"
- doc="Initializes @fd. Alternatively you can initialize it with
-#GST_POLL_FD_INIT."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- </record>
- <interface name="Preset"
- c:type="GstPreset"
- doc="Opaque #GstPreset data structure."
- glib:type-name="GstPreset"
- glib:get-type="gst_preset_get_type"
- glib:type-struct="PresetInterface">
- <virtual-method name="get_preset_names" invoker="get_preset_names">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </virtual-method>
- <virtual-method name="get_property_names" invoker="get_property_names">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </virtual-method>
- <virtual-method name="load_preset" invoker="load_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="save_preset" invoker="save_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="rename_preset" invoker="rename_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="old_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="new_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="delete_preset" invoker="delete_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_meta" invoker="set_meta">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_meta" invoker="get_meta">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_preset_names"
- c:identifier="gst_preset_get_preset_names"
- doc="Get a copy of preset names as a NULL terminated string array."
- version="0.10.20">
- <return-value transfer-ownership="full" doc="after usage.">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </method>
- <method name="get_property_names"
- c:identifier="gst_preset_get_property_names"
- doc="Get a the names of the GObject properties that can be used for presets."
- version="0.10.20">
- <return-value transfer-ownership="full" doc="after use.">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </method>
- <method name="load_preset"
- c:identifier="gst_preset_load_preset"
- doc="Load the given preset."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="save_preset"
- c:identifier="gst_preset_save_preset"
- doc="Save the current object settings as a preset under the given name. If there
-is already a preset by this @name it will be overwritten."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="rename_preset"
- c:identifier="gst_preset_rename_preset"
- doc="Renames a preset. If there is already a preset by the @new_name it will be
-overwritten."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="old_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="new_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="delete_preset"
- c:identifier="gst_preset_delete_preset"
- doc="Delete the given preset."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_meta"
- c:identifier="gst_preset_set_meta"
- doc="Sets a new @value for an existing meta data item or adds a new item. Meta
-data @tag names can be something like e.g. "comment". Supplying %NULL for the"
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_meta"
- c:identifier="gst_preset_get_meta"
- doc="Gets the @value for an existing meta data @tag. Meta data @tag names can be
-something like e.g. "comment". Returned values need to be released when done.
-or no value for the given @tag"
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- </interface>
- <record name="PresetInterface"
- c:type="GstPresetInterface"
- glib:is-gtype-struct-for="Preset"
- doc="#GstPreset interface.">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="get_preset_names">
- <callback name="get_preset_names" c:type="get_preset_names">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_property_names">
- <callback name="get_property_names" c:type="get_property_names">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="load_preset">
- <callback name="load_preset" c:type="load_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="save_preset">
- <callback name="save_preset" c:type="save_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="rename_preset">
- <callback name="rename_preset" c:type="rename_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- <parameter name="old_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="new_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="delete_preset">
- <callback name="delete_preset" c:type="delete_preset">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_meta">
- <callback name="set_meta" c:type="set_meta">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_meta">
- <callback name="get_meta" c:type="get_meta">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="preset" transfer-ownership="none">
- <type name="Preset" c:type="GstPreset*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="ProxyPad"
- c:type="GstProxyPad"
- parent="Pad"
- glib:type-name="GstProxyPad"
- glib:get-type="gst_proxy_pad_get_type"
- glib:type-struct="ProxyPadClass">
- <field name="pad">
- <type name="Pad" c:type="GstPad"/>
- </field>
- <field name="priv">
- <type name="ProxyPadPrivate" c:type="GstProxyPadPrivate*"/>
- </field>
- </class>
- <record name="ProxyPadClass"
- c:type="GstProxyPadClass"
- glib:is-gtype-struct-for="ProxyPad">
- <field name="parent_class">
- <type name="PadClass" c:type="GstPadClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="1">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="ProxyPadPrivate" c:type="GstProxyPadPrivate">
- </record>
- <record name="Query" c:type="GstQuery" doc="The #GstQuery structure.">
- <field name="mini_object" writable="1">
- <type name="MiniObject" c:type="GstMiniObject"/>
- </field>
- <field name="type" writable="1">
- <type name="QueryType" c:type="GstQueryType"/>
- </field>
- <field name="structure" writable="1">
- <type name="Structure" c:type="GstStructure*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- <constructor name="new_position"
- c:identifier="gst_query_new_position"
- doc="Constructs a new query stream position query object. Use gst_query_unref()
-when done with it. A position query is used to query the current position
-of playback in the streams, in some format.">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_duration"
- c:identifier="gst_query_new_duration"
- doc="Constructs a new stream duration query object to query in the given format.
-Use gst_query_unref() when done with it. A duration query will give the
-total length of the stream.">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_latency"
- c:identifier="gst_query_new_latency"
- doc="Constructs a new latency query object.
-Use gst_query_unref() when done with it. A latency query is usually performed
-by sinks to compensate for additional latency introduced by elements in the
-pipeline."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- </constructor>
- <constructor name="new_convert"
- c:identifier="gst_query_new_convert"
- doc="Constructs a new convert query object. Use gst_query_unref()
-when done with it. A convert query is used to ask for a conversion between
-one format and another.">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_segment"
- c:identifier="gst_query_new_segment"
- doc="Constructs a new segment query object. Use gst_query_unref()
-when done with it. A segment query is used to discover information about the
-currently configured segment for playback.">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_application"
- c:identifier="gst_query_new_application"
- doc="Constructs a new custom application query object. Use gst_query_unref()
-when done with it.">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_seeking"
- c:identifier="gst_query_new_seeking"
- doc="Constructs a new query object for querying seeking properties of
-the stream.">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_formats"
- c:identifier="gst_query_new_formats"
- doc="Constructs a new query object for querying formats of
-the stream."
- version="0.10.4">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- </constructor>
- <constructor name="new_buffering" c:identifier="gst_query_new_buffering">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_uri"
- c:identifier="gst_query_new_uri"
- doc="Constructs a new query URI query object. Use gst_query_unref()
-when done with it. An URI query is used to query the current URI
-that is used by the source or sink."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="Query" c:type="GstQuery*"/>
- </return-value>
- </constructor>
- <method name="set_position"
- c:identifier="gst_query_set_position"
- doc="Answer a position query by setting the requested value in the given format.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="cur" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_position"
- c:identifier="gst_query_parse_position"
- doc="Parse a position query, writing the format into @format, and the position
-into @cur, if the respective parameters are non-NULL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="cur" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_duration"
- c:identifier="gst_query_set_duration"
- doc="Answer a duration query by setting the requested value in the given format.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="duration" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_duration"
- c:identifier="gst_query_parse_duration"
- doc="Parse a duration query answer. Write the format of the duration into @format,
-and the value into @duration, if the respective variables are non-NULL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="duration" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_latency"
- c:identifier="gst_query_set_latency"
- doc="Answer a latency query by setting the requested values in the given format."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="live" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="min_latency" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="max_latency" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_latency"
- c:identifier="gst_query_parse_latency"
- doc="Parse a latency query answer."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="live" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="min_latency" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="max_latency" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_convert"
- c:identifier="gst_query_set_convert"
- doc="Answer a convert query by setting the requested values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="src_value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="dest_value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_convert"
- c:identifier="gst_query_parse_convert"
- doc="Parse a convert query answer. Any of @src_format, @src_value, @dest_format,
-and @dest_value may be NULL, in which case that value is omitted.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="src_value"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="dest_value"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_segment"
- c:identifier="gst_query_set_segment"
- doc="Answer a segment query by setting the requested values. The normal
-playback segment of a pipeline is 0 to duration at the default rate of
-1.0. If a seek was performed on the pipeline to play a different
-segment, this query will return the range specified in the last seek.
-playback range start and stop values expressed in @format.
-The values are always between 0 and the duration of the media and
-negative rates, playback will actually happen from @stop_value to">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start_value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop_value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_segment"
- c:identifier="gst_query_parse_segment"
- doc="Parse a segment query answer. Any of @rate, @format, @start_value, and
-See gst_query_set_segment() for an explanation of the function arguments.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="rate" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="start_value"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="stop_value"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_structure"
- c:identifier="gst_query_get_structure"
- doc="Get the structure of a query.
-by the query and will therefore be freed when the query is unreffed.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- </method>
- <method name="set_seeking"
- c:identifier="gst_query_set_seeking"
- doc="Set the seeking query result fields in @query.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="seekable" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="segment_start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="segment_end" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_seeking"
- c:identifier="gst_query_parse_seeking"
- doc="Parse a seeking query, writing the format into @format, and
-other results into the passed parameters, if the respective parameters
-are non-NULL">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="seekable" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="segment_start"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="segment_end"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_formats"
- c:identifier="gst_query_set_formats"
- doc="Set the formats query result fields in @query. The number of formats passed
-must be equal to @n_formats.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="n_formats" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="set_formatsv"
- c:identifier="gst_query_set_formatsv"
- doc="Set the formats query result fields in @query. The number of formats passed
-in the @formats array must be equal to @n_formats."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="n_formats" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="formats" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_formats_length"
- c:identifier="gst_query_parse_formats_length"
- doc="Parse the number of formats in the formats @query."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="n_formats"
- direction="out"
- transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_formats_nth"
- c:identifier="gst_query_parse_formats_nth"
- doc="Parse the format query and retrieve the @nth format from it into
-set to GST_FORMAT_UNDEFINED."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_buffering_percent"
- c:identifier="gst_query_set_buffering_percent">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="busy" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="percent" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_buffering_percent"
- c:identifier="gst_query_parse_buffering_percent">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="busy" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="percent" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_buffering_stats"
- c:identifier="gst_query_set_buffering_stats"
- doc="Configures the buffering stats values in @query."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="BufferingMode" c:type="GstBufferingMode"/>
- </parameter>
- <parameter name="avg_in" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="avg_out" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="buffering_left" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_buffering_stats"
- c:identifier="gst_query_parse_buffering_stats"
- doc="Extracts the buffering stats values from @query."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="BufferingMode" c:type="GstBufferingMode*"/>
- </parameter>
- <parameter name="avg_in" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="avg_out" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="buffering_left"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_buffering_range"
- c:identifier="gst_query_set_buffering_range"
- doc="Set the available query result fields in @query."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="estimated_total" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_buffering_range"
- c:identifier="gst_query_parse_buffering_range"
- doc="Parse an available query, writing the format into @format, and
-other results into the passed parameters, if the respective parameters
-are non-NULL"
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="start" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="stop" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="estimated_total"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_uri"
- c:identifier="gst_query_parse_uri"
- doc="Parse an URI query, writing the URI into @uri as a newly
-allocated string, if the respective parameters are non-NULL.
-Free the string with g_free() after usage."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="set_uri"
- c:identifier="gst_query_set_uri"
- doc="Answer a URI query by setting the requested URI."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="QueryClass" c:type="GstQueryClass">
- <field name="mini_object_class" writable="1">
- <type name="MiniObjectClass" c:type="GstMiniObjectClass"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="QueryType"
- doc="0.10.20.
-0.10.22.
-Standard predefined Query types"
- c:type="GstQueryType">
- <member name="none" value="0" c:identifier="GST_QUERY_NONE"/>
- <member name="position" value="1" c:identifier="GST_QUERY_POSITION"/>
- <member name="duration" value="2" c:identifier="GST_QUERY_DURATION"/>
- <member name="latency" value="3" c:identifier="GST_QUERY_LATENCY"/>
- <member name="jitter" value="4" c:identifier="GST_QUERY_JITTER"/>
- <member name="rate" value="5" c:identifier="GST_QUERY_RATE"/>
- <member name="seeking" value="6" c:identifier="GST_QUERY_SEEKING"/>
- <member name="segment" value="7" c:identifier="GST_QUERY_SEGMENT"/>
- <member name="convert" value="8" c:identifier="GST_QUERY_CONVERT"/>
- <member name="formats" value="9" c:identifier="GST_QUERY_FORMATS"/>
- <member name="buffering" value="10" c:identifier="GST_QUERY_BUFFERING"/>
- <member name="custom" value="11" c:identifier="GST_QUERY_CUSTOM"/>
- <member name="uri" value="12" c:identifier="GST_QUERY_URI"/>
- </enumeration>
- <record name="QueryTypeDefinition"
- c:type="GstQueryTypeDefinition"
- doc="A Query Type definition">
- <field name="value" writable="1">
- <type name="QueryType" c:type="GstQueryType"/>
- </field>
- <field name="nick" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="description" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="quark" writable="1">
- <type name="GLib.Quark" c:type="GQuark"/>
- </field>
- </record>
- <enumeration name="Rank"
- doc="Element priority ranks. Defines the order in which the autoplugger (or
-similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri())
-will choose this element over an alternative one with the same function.
-These constants serve as a rough guidance for defining the rank of a
-#GstPluginFeature. Any value is valid, including values bigger than"
- c:type="GstRank">
- <member name="none" value="0" c:identifier="GST_RANK_NONE"/>
- <member name="marginal" value="64" c:identifier="GST_RANK_MARGINAL"/>
- <member name="secondary" value="128" c:identifier="GST_RANK_SECONDARY"/>
- <member name="primary" value="256" c:identifier="GST_RANK_PRIMARY"/>
- </enumeration>
- <class name="Registry"
- c:type="GstRegistry"
- doc="Opaque #GstRegistry structure."
- parent="Object"
- glib:type-name="GstRegistry"
- glib:get-type="gst_registry_get_type"
- glib:type-struct="RegistryClass">
- <function name="get_default"
- c:identifier="gst_registry_get_default"
- doc="Retrieves the default registry. The caller does not own a reference on the
-registry, as it is alive as long as GStreamer is initialized.">
- <return-value transfer-ownership="full">
- <type name="Registry" c:type="GstRegistry*"/>
- </return-value>
- </function>
- <function name="fork_is_enabled"
- c:identifier="gst_registry_fork_is_enabled"
- doc="By default GStreamer will perform scanning and rebuilding of the
-registry file using a helper child process.
-Applications might want to disable this behaviour with the
-gst_registry_fork_set_enabled() function, in which case new plugins
-are scanned (and loaded) into the application process.
-rebuilding the registry."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="fork_set_enabled"
- c:identifier="gst_registry_fork_set_enabled"
- doc="Applications might want to disable/enable spawning of a child helper process
-when rebuilding the registry. See gst_registry_fork_is_enabled() for more
-information."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="enabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <method name="scan_path"
- c:identifier="gst_registry_scan_path"
- doc="Scan the given path for plugins to add to the registry. The syntax of the
-path is specific to the registry.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="path" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_path"
- c:identifier="gst_registry_add_path"
- doc="Add the given path to the registry. The syntax of the
-path is specific to the registry. If the path has already been
-added, do nothing.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="path" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_path_list"
- c:identifier="gst_registry_get_path_list"
- doc="Get the list of paths for the given registry.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="add_plugin"
- c:identifier="gst_registry_add_plugin"
- doc="Add the plugin to the registry. The plugin-added signal will be emitted.
-This function will sink @plugin.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_plugin"
- c:identifier="gst_registry_remove_plugin"
- doc="Remove the plugin from the registry.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_feature"
- c:identifier="gst_registry_add_feature"
- doc="Add the feature to the registry. The feature-added signal will be emitted.
-This function sinks @feature.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_feature"
- c:identifier="gst_registry_remove_feature"
- doc="Remove the feature from the registry.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_plugin_list"
- c:identifier="gst_registry_get_plugin_list"
- doc="Get a copy of all plugins registered in the given registry. The refcount
-of each element in the list in incremented.
-MT safe.">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="plugin_filter"
- c:identifier="gst_registry_plugin_filter"
- doc="Runs a filter against all plugins in the registry and returns a #GList with
-the results. If the first flag is set, only the first match is
-returned (as a list with a single object).
-Every plugin is reffed; use gst_plugin_list_free() after use, which
-will unref again.
-MT safe.">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none" scope="call">
- <type name="PluginFilter" c:type="GstPluginFilter"/>
- </parameter>
- <parameter name="first" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="feature_filter"
- c:identifier="gst_registry_feature_filter"
- doc="Runs a filter against all features of the plugins in the registry
-and returns a GList with the results.
-If the first flag is set, only the first match is
-returned (as a list with a single object).
-after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none" scope="call">
- <type name="PluginFeatureFilter" c:type="GstPluginFeatureFilter"/>
- </parameter>
- <parameter name="first" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_feature_list"
- c:identifier="gst_registry_get_feature_list"
- doc="Retrieves a #GList of #GstPluginFeature of @type.
-gst_plugin_feature_list_free() after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_feature_list_by_plugin"
- c:identifier="gst_registry_get_feature_list_by_plugin"
- doc="Retrieves a #GList of features of the plugin with name @name.
-after usage.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_feature_list_cookie"
- c:identifier="gst_registry_get_feature_list_cookie"
- doc="Returns the registrys feature list cookie. This changes
-every time a feature is added or removed from the registry."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="find_plugin"
- c:identifier="gst_registry_find_plugin"
- doc="Find the plugin with the given name in the registry.
-The plugin will be reffed; caller is responsible for unreffing.
-gst_object_unref() after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Plugin" c:type="GstPlugin*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="find_feature"
- c:identifier="gst_registry_find_feature"
- doc="Find the pluginfeature with the given name and type in the registry.
-if the plugin was not found. gst_object_unref() after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="lookup"
- c:identifier="gst_registry_lookup"
- doc="Look up a plugin in the given registry with the given filename.
-If found, plugin is reffed.
-after usage.">
- <return-value transfer-ownership="full">
- <type name="Plugin" c:type="GstPlugin*"/>
- </return-value>
- <parameters>
- <parameter name="filename" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="lookup_feature"
- c:identifier="gst_registry_lookup_feature"
- doc="Find a #GstPluginFeature with @name in @registry.
-gst_object_unref() after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="xml_read_cache" c:identifier="gst_registry_xml_read_cache">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="location" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="xml_write_cache"
- c:identifier="gst_registry_xml_write_cache">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="location" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="plugins">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="features">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="paths">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="cache_file">
- <type name="int" c:type="int"/>
- </field>
- <field name="feature_hash">
- <type name="GLib.HashTable" c:type="GHashTable*"/>
- </field>
- <field name="basename_hash">
- <type name="GLib.HashTable" c:type="GHashTable*"/>
- </field>
- <field name="priv">
- <type name="RegistryPrivate" c:type="GstRegistryPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="1">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="feature-added"
- doc="Signals that a feature has been added to the registry (possibly
-replacing a previously-added one by the same name)">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="plugin-added"
- doc="Signals that a plugin has been added to the registry (possibly
-replacing a previously-added one by the same name)">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="RegistryClass"
- c:type="GstRegistryClass"
- glib:is-gtype-struct-for="Registry">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="plugin_added">
- <callback name="plugin_added" c:type="plugin_added">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="registry" transfer-ownership="none">
- <type name="Registry" c:type="GstRegistry*"/>
- </parameter>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="feature_added">
- <callback name="feature_added" c:type="feature_added">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="registry" transfer-ownership="none">
- <type name="Registry" c:type="GstRegistry*"/>
- </parameter>
- <parameter name="feature" transfer-ownership="none">
- <type name="PluginFeature" c:type="GstPluginFeature*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="RegistryPrivate" c:type="GstRegistryPrivate">
- </record>
- <enumeration name="ResourceError"
- doc="category. Make sure you add a custom message to the error call.
-deciding where to go while developing code.
-both reading and writing, or either (but unspecified which).
-Resource errors are for any resource used by an element:
-memory, files, network connections, process space, ...
-They're typically used by source and sink elements."
- c:type="GstResourceError"
- glib:error-quark="gst_resource_error_quark">
- <member name="failed"
- value="1"
- c:identifier="GST_RESOURCE_ERROR_FAILED"/>
- <member name="too_lazy"
- value="2"
- c:identifier="GST_RESOURCE_ERROR_TOO_LAZY"/>
- <member name="not_found"
- value="3"
- c:identifier="GST_RESOURCE_ERROR_NOT_FOUND"/>
- <member name="busy" value="4" c:identifier="GST_RESOURCE_ERROR_BUSY"/>
- <member name="open_read"
- value="5"
- c:identifier="GST_RESOURCE_ERROR_OPEN_READ"/>
- <member name="open_write"
- value="6"
- c:identifier="GST_RESOURCE_ERROR_OPEN_WRITE"/>
- <member name="open_read_write"
- value="7"
- c:identifier="GST_RESOURCE_ERROR_OPEN_READ_WRITE"/>
- <member name="close" value="8" c:identifier="GST_RESOURCE_ERROR_CLOSE"/>
- <member name="read" value="9" c:identifier="GST_RESOURCE_ERROR_READ"/>
- <member name="write" value="10" c:identifier="GST_RESOURCE_ERROR_WRITE"/>
- <member name="seek" value="11" c:identifier="GST_RESOURCE_ERROR_SEEK"/>
- <member name="sync" value="12" c:identifier="GST_RESOURCE_ERROR_SYNC"/>
- <member name="settings"
- value="13"
- c:identifier="GST_RESOURCE_ERROR_SETTINGS"/>
- <member name="no_space_left"
- value="14"
- c:identifier="GST_RESOURCE_ERROR_NO_SPACE_LEFT"/>
- <member name="num_errors"
- value="15"
- c:identifier="GST_RESOURCE_ERROR_NUM_ERRORS"/>
- </enumeration>
- <constant name="SECOND" value="0">
- <type name="int"/>
- </constant>
- <enumeration name="SearchMode"
- doc="The different search modes."
- version="0.10.23"
- c:type="GstSearchMode">
- <member name="exact" value="0" c:identifier="GST_SEARCH_MODE_EXACT"/>
- <member name="before" value="1" c:identifier="GST_SEARCH_MODE_BEFORE"/>
- <member name="after" value="2" c:identifier="GST_SEARCH_MODE_AFTER"/>
- </enumeration>
- <bitfield name="SeekFlags"
- doc="be considerably slower for some formats.
-faster but less accurate.
-elements to skip frames instead of generating all
-frames. Since 0.10.22.
-Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags
-can be used together.
-A non flushing seek might take some time to perform as the currently
-playing data in the pipeline will not be cleared.
-An accurate seek might be slower for formats that don't have any indexes
-or timestamp markers in the stream. Specifying this flag might require a
-complete scan of the file in those cases.
-no EOS will be emmited by the element that performed the seek, but a
-#GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element.
-When this message is posted, it is possible to send a new seek event to
-continue playback. With this seek method it is possible to perform seemless
-looping or simple linear editing.
-When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode
-playback, the @GST_SEEK_FLAG_SKIP flag can be used to instruct decoders
-and demuxers to adjust the playback rate by skipping frames. This can improve
-performance and decrease CPU usage because not all frames need to be decoded."
- c:type="GstSeekFlags">
- <member name="none" value="0" c:identifier="GST_SEEK_FLAG_NONE"/>
- <member name="flush" value="1" c:identifier="GST_SEEK_FLAG_FLUSH"/>
- <member name="accurate" value="2" c:identifier="GST_SEEK_FLAG_ACCURATE"/>
- <member name="key_unit" value="4" c:identifier="GST_SEEK_FLAG_KEY_UNIT"/>
- <member name="segment" value="8" c:identifier="GST_SEEK_FLAG_SEGMENT"/>
- <member name="skip" value="16" c:identifier="GST_SEEK_FLAG_SKIP"/>
- </bitfield>
- <enumeration name="SeekType"
- doc="can't be used to seek relative to the current playback position - do a
-position query, calculate the desired position and then do an absolute
-position seek instead if that's what you want to do.
-The different types of seek events. When constructing a seek event with
-gst_event_new_seek(), a format, a seek method and optional flags are to
-be provided. The seek event is then inserted into the graph with
-gst_pad_send_event() or gst_element_send_event()."
- c:type="GstSeekType">
- <member name="none" value="0" c:identifier="GST_SEEK_TYPE_NONE"/>
- <member name="cur" value="1" c:identifier="GST_SEEK_TYPE_CUR"/>
- <member name="set" value="2" c:identifier="GST_SEEK_TYPE_SET"/>
- <member name="end" value="3" c:identifier="GST_SEEK_TYPE_END"/>
- </enumeration>
- <record name="Segment"
- c:type="GstSegment"
- doc="A helper structure that holds the configured region of
-interest in a media file."
- glib:type-name="GstSegment"
- glib:get-type="gst_segment_get_type">
- <field name="rate" writable="1">
- <type name="double" c:type="gdouble"/>
- </field>
- <field name="abs_rate" writable="1">
- <type name="double" c:type="gdouble"/>
- </field>
- <field name="format" writable="1">
- <type name="Format" c:type="GstFormat"/>
- </field>
- <field name="flags" writable="1">
- <type name="SeekFlags" c:type="GstSeekFlags"/>
- </field>
- <field name="start" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="stop" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="time" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="accum" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="last_stop" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="duration" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="applied_rate" writable="1">
- <type name="double" c:type="gdouble"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="guint8" fixed-size="0">
- <type name="uint8"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_segment_new"
- doc="Allocate a new #GstSegment structure and initialize it using
-gst_segment_init().">
- <return-value transfer-ownership="full">
- <type name="Segment" c:type="GstSegment*"/>
- </return-value>
- </constructor>
- <method name="copy"
- c:identifier="gst_segment_copy"
- doc="Create a copy of given @segment."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="Segment" c:type="GstSegment*"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_segment_free"
- doc="Free the allocated segment @segment.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="init"
- c:identifier="gst_segment_init"
- doc="The start/last_stop positions are set to 0 and the stop/duration
-fields are set to -1 (unknown). The default rate of 1.0 and no
-flags are set.
-Initialize @segment to its default values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_duration"
- c:identifier="gst_segment_set_duration"
- doc="Set the duration of the segment to @duration. This function is mainly
-used by elements that perform seeking and know the total duration of the
-segment.
-This field should be set to allow seeking requests relative to the
-duration.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="duration" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_last_stop"
- c:identifier="gst_segment_set_last_stop"
- doc="Set the last observed stop position in the segment to @position.
-This field should be set to allow seeking requests relative to the
-current playing position.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_seek"
- c:identifier="gst_segment_set_seek"
- doc="Update the segment structure with the field values of a seek event (see
-gst_event_new_seek()).
-After calling this method, the segment field last_stop and time will
-contain the requested new position in the segment. The new requested
-position in the segment depends on @rate and @start_type and @stop_type.
-For positive @rate, the new position in the segment is the new @segment
-start field when it was updated with a @start_type different from
-#GST_SEEK_TYPE_NONE. If no update was performed on @segment start position
-(#GST_SEEK_TYPE_NONE), @start is ignored and @segment last_stop is
-unmodified.
-For negative @rate, the new position in the segment is the new @segment
-stop field when it was updated with a @stop_type different from
-#GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the
-duration of the segment will be used to update the stop position.
-If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE),
-The applied rate of the segment will be set to 1.0 by default.
-If the caller can apply a rate change, it should update @segment
-rate and applied_rate after calling this function.
-last_stop field. This field can be FALSE if, for example, only the @rate
-has been changed but not the playback position.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="SeekFlags" c:type="GstSeekFlags"/>
- </parameter>
- <parameter name="start_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop_type" transfer-ownership="none">
- <type name="SeekType" c:type="GstSeekType"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="update" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_newsegment"
- c:identifier="gst_segment_set_newsegment"
- doc="Update the segment structure with the field values of a new segment event and
-with a default applied_rate of 1.0."
- version="0.10.6">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="update" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="time" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_newsegment_full"
- c:identifier="gst_segment_set_newsegment_full"
- doc="Update the segment structure with the field values of a new segment event.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="update" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="applied_rate" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="time" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_stream_time"
- c:identifier="gst_segment_to_stream_time"
- doc="Translate @position to stream time using the currently configured
-segment. The @position value must be between @segment start and
-stop value.
-This function is typically used by elements that need to operate on
-the stream time of the buffers it receives, such as effect plugins.
-In those use cases, @position is typically the buffer timestamp or
-clock time that one wants to convert to the stream time.
-The stream time is always between 0 and the total duration of the
-media stream.
-was given.">
- <return-value transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_running_time"
- c:identifier="gst_segment_to_running_time"
- doc="Translate @position to the total running time using the currently configured
-and previously accumulated segments. Position is a value between @segment
-start and stop time.
-This function is typically used by elements that need to synchronize to the
-global clock in a pipeline. The runnning time is a constantly increasing value
-starting from 0. When gst_segment_init() is called, this value will reset to
-0.
-This function returns -1 if the position is outside of @segment start and stop.
-was given.">
- <return-value transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_position"
- c:identifier="gst_segment_to_position"
- doc="Convert @running_time into a position in the segment so that
-gst_segment_to_running_time() with that position returns @running_time.
--1 when @running_time is -1 or when it is not inside @segment."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="running_time" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="clip"
- c:identifier="gst_segment_clip"
- doc="Clip the given @start and @stop values to the segment boundaries given
-in @segment. @start and @stop are compared and clipped to @segment
-start and stop values.
-If the function returns FALSE, @start and @stop are known to fall
-outside of @segment and @clip_start and @clip_stop are not updated.
-When the function returns TRUE, @clip_start and @clip_stop will be
-updated. If @clip_start or @clip_stop are different from @start or @stop
-respectively, the region fell partially in the segment.
-Note that when @stop is -1, @clip_stop will be set to the end of the
-segment. Depending on the use case, this may or may not be what you want.
-completely in @segment, FALSE if the values are completely outside
-of the segment.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="clip_start"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- <parameter name="clip_stop"
- direction="out"
- transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_running_time"
- c:identifier="gst_segment_set_running_time"
- doc="Adjust the start/stop and accum values of @segment such that the next valid
-buffer will be one with @running_time.
-returned, @running_time is -1 or not in @segment."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="running_time" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="State"
- doc="process data. Sink elements however only accept one
-buffer and then block.
-the data is flowing.
-The possible states an element can be in. States can be changed using
-gst_element_set_state() and checked using gst_element_get_state()."
- c:type="GstState">
- <member name="void_pending"
- value="0"
- c:identifier="GST_STATE_VOID_PENDING"/>
- <member name="null" value="1" c:identifier="GST_STATE_NULL"/>
- <member name="ready" value="2" c:identifier="GST_STATE_READY"/>
- <member name="paused" value="3" c:identifier="GST_STATE_PAUSED"/>
- <member name="playing" value="4" c:identifier="GST_STATE_PLAYING"/>
- </enumeration>
- <bitfield name="StateChange"
- doc="<itemizedlist>
-<listitem><para>
-The element must check if the resources it needs are available. Device
-sinks and -sources typically try to probe the device to constrain their
-caps.
-</para></listitem>
-<listitem><para>
-The element opens the device (in case feature need to be probed).
-</para></listitem>
-</itemizedlist>
-<itemizedlist>
-<listitem><para>
-The element pads are activated in order to receive data in PAUSED.
-Streaming threads are started.
-</para></listitem>
-<listitem><para>
-Some elements might need to return ASYNC and complete the state change
-when they have enough information. It is a requirement for sinks to
-return ASYNC and complete the state change when they receive the first
-buffer or EOS event (preroll). Sinks also block the dataflow when in
-PAUSED.
-</para></listitem>
-<listitem><para>
-A pipeline resets the running_time to 0.
-</para></listitem>
-<listitem><para>
-Live sources return NO_PREROLL and don't generate data.
-</para></listitem>
-</itemizedlist>
-<itemizedlist>
-<listitem><para>
-Most elements ignore this state change.
-</para></listitem>
-<listitem><para>
-The pipeline selects a clock and distributes this to all the children
-before setting them to PLAYING. This means that it is only alowed to
-synchronize on the clock in the PLAYING state.
-</para></listitem>
-<listitem><para>
-The pipeline uses the clock and the running_time to calculate the
-base_time. The base_time is distributed to all children when performing
-the state change.
-</para></listitem>
-<listitem><para>
-Sink elements stop blocking on the preroll buffer or event and start
-rendering the data.
-</para></listitem>
-<listitem><para>
-Sinks can post the EOS message in the PLAYING state. It is not allowed to
-post EOS when not in the PLAYING state.
-</para></listitem>
-<listitem><para>
-While streaming in PAUSED or PLAYING elements can create and remove
-sometimes pads.
-</para></listitem>
-<listitem><para>
-Live sources start generating data and return SUCCESS.
-</para></listitem>
-</itemizedlist>
-<itemizedlist>
-<listitem><para>
-Most elements ignore this state change.
-</para></listitem>
-<listitem><para>
-The pipeline calculates the running_time based on the last selected clock
-and the base_time. It stores this information to continue playback when
-going back to the PLAYING state.
-</para></listitem>
-<listitem><para>
-Sinks unblock any clock wait calls.
-</para></listitem>
-<listitem><para>
-When a sink does not have a pending buffer to play, it returns ASYNC from
-this state change and completes the state change when it receives a new
-buffer or an EOS event.
-</para></listitem>
-<listitem><para>
-Any queued EOS messages are removed since they will be reposted when going
-back to the PLAYING state. The EOS messages are queued in GstBins.
-</para></listitem>
-<listitem><para>
-Live sources stop generating data and return NO_PREROLL.
-</para></listitem>
-</itemizedlist>
-<itemizedlist>
-<listitem><para>
-Sinks unblock any waits in the preroll.
-</para></listitem>
-<listitem><para>
-Elements unblock any waits on devices
-</para></listitem>
-<listitem><para>
-Chain or get_range functions return WRONG_STATE.
-</para></listitem>
-<listitem><para>
-The element pads are deactivated so that streaming becomes impossible and
-all streaming threads are stopped.
-</para></listitem>
-<listitem><para>
-The sink forgets all negotiated formats
-</para></listitem>
-<listitem><para>
-Elements remove all sometimes pads
-</para></listitem>
-</itemizedlist>
-<itemizedlist>
-<listitem><para>
-Elements close devices
-</para></listitem>
-<listitem><para>
-Elements reset any internal state.
-</para></listitem>
-</itemizedlist>
-These are the different state changes an element goes through.
-%GST_STATE_NULL &rArr; %GST_STATE_PLAYING is called an upwards state change
-and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change."
- c:type="GstStateChange">
- <member name="null_to_ready"
- value="10"
- c:identifier="GST_STATE_CHANGE_NULL_TO_READY"/>
- <member name="ready_to_paused"
- value="19"
- c:identifier="GST_STATE_CHANGE_READY_TO_PAUSED"/>
- <member name="paused_to_playing"
- value="28"
- c:identifier="GST_STATE_CHANGE_PAUSED_TO_PLAYING"/>
- <member name="playing_to_paused"
- value="35"
- c:identifier="GST_STATE_CHANGE_PLAYING_TO_PAUSED"/>
- <member name="paused_to_ready"
- value="26"
- c:identifier="GST_STATE_CHANGE_PAUSED_TO_READY"/>
- <member name="ready_to_null"
- value="17"
- c:identifier="GST_STATE_CHANGE_READY_TO_NULL"/>
- </bitfield>
- <enumeration name="StateChangeReturn"
- doc="cannot produce data in %GST_STATE_PAUSED.
-This typically happens with live sources.
-The possible return values from a state change function. Only"
- c:type="GstStateChangeReturn">
- <member name="failure"
- value="0"
- c:identifier="GST_STATE_CHANGE_FAILURE"/>
- <member name="success"
- value="1"
- c:identifier="GST_STATE_CHANGE_SUCCESS"/>
- <member name="async" value="2" c:identifier="GST_STATE_CHANGE_ASYNC"/>
- <member name="no_preroll"
- value="3"
- c:identifier="GST_STATE_CHANGE_NO_PREROLL"/>
- </enumeration>
- <record name="StaticCaps"
- c:type="GstStaticCaps"
- doc="Datastructure to initialize #GstCaps from a string description usually
-used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
-instantiate a #GstCaps.">
- <field name="caps" writable="1">
- <type name="Caps" c:type="GstCaps"/>
- </field>
- <field name="string" writable="1">
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <method name="get"
- c:identifier="gst_static_caps_get"
- doc="Converts a #GstStaticCaps to a #GstCaps.
-core holds an additional ref to the returned caps,
-use gst_caps_make_writable() on the returned caps to modify it.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- </record>
- <record name="StaticPadTemplate" c:type="GstStaticPadTemplate">
- <field name="name_template" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="direction" writable="1">
- <type name="PadDirection" c:type="GstPadDirection"/>
- </field>
- <field name="presence" writable="1">
- <type name="PadPresence" c:type="GstPadPresence"/>
- </field>
- <field name="static_caps" writable="1">
- <type name="StaticCaps" c:type="GstStaticCaps"/>
- </field>
- <method name="get"
- c:identifier="gst_static_pad_template_get"
- doc="Converts a #GstStaticPadTemplate into a #GstPadTemplate.">
- <return-value transfer-ownership="full">
- <type name="PadTemplate" c:type="GstPadTemplate*"/>
- </return-value>
- </method>
- <method name="get_caps"
- c:identifier="gst_static_pad_template_get_caps"
- doc="Gets the capabilities of the static pad template.
-Unref after usage. Since the core holds an additional
-ref to the returned caps, use gst_caps_make_writable()
-on the returned caps to modify it.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- </record>
- <enumeration name="StreamError"
- doc="category. Make sure you add a custom message to the error call.
-deciding where to go while developing code.
-this functionality yet.
-stream's type.
-of stream.
-stream's type.
-(for example, wrong caps).
-Stream errors are for anything related to the stream being processed:
-format errors, media type errors, ...
-They're typically used by decoders, demuxers, converters, ..."
- c:type="GstStreamError"
- glib:error-quark="gst_stream_error_quark">
- <member name="failed" value="1" c:identifier="GST_STREAM_ERROR_FAILED"/>
- <member name="too_lazy"
- value="2"
- c:identifier="GST_STREAM_ERROR_TOO_LAZY"/>
- <member name="not_implemented"
- value="3"
- c:identifier="GST_STREAM_ERROR_NOT_IMPLEMENTED"/>
- <member name="type_not_found"
- value="4"
- c:identifier="GST_STREAM_ERROR_TYPE_NOT_FOUND"/>
- <member name="wrong_type"
- value="5"
- c:identifier="GST_STREAM_ERROR_WRONG_TYPE"/>
- <member name="codec_not_found"
- value="6"
- c:identifier="GST_STREAM_ERROR_CODEC_NOT_FOUND"/>
- <member name="decode" value="7" c:identifier="GST_STREAM_ERROR_DECODE"/>
- <member name="encode" value="8" c:identifier="GST_STREAM_ERROR_ENCODE"/>
- <member name="demux" value="9" c:identifier="GST_STREAM_ERROR_DEMUX"/>
- <member name="mux" value="10" c:identifier="GST_STREAM_ERROR_MUX"/>
- <member name="format" value="11" c:identifier="GST_STREAM_ERROR_FORMAT"/>
- <member name="decrypt"
- value="12"
- c:identifier="GST_STREAM_ERROR_DECRYPT"/>
- <member name="decrypt_nokey"
- value="13"
- c:identifier="GST_STREAM_ERROR_DECRYPT_NOKEY"/>
- <member name="num_errors"
- value="14"
- c:identifier="GST_STREAM_ERROR_NUM_ERRORS"/>
- </enumeration>
- <enumeration name="StreamStatusType"
- doc="The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the
-application of new streaming threads and their status."
- version="0.10.24"
- c:type="GstStreamStatusType">
- <member name="create"
- value="0"
- c:identifier="GST_STREAM_STATUS_TYPE_CREATE"/>
- <member name="enter"
- value="1"
- c:identifier="GST_STREAM_STATUS_TYPE_ENTER"/>
- <member name="leave"
- value="2"
- c:identifier="GST_STREAM_STATUS_TYPE_LEAVE"/>
- <member name="destroy"
- value="3"
- c:identifier="GST_STREAM_STATUS_TYPE_DESTROY"/>
- <member name="start"
- value="8"
- c:identifier="GST_STREAM_STATUS_TYPE_START"/>
- <member name="pause"
- value="9"
- c:identifier="GST_STREAM_STATUS_TYPE_PAUSE"/>
- <member name="stop"
- value="10"
- c:identifier="GST_STREAM_STATUS_TYPE_STOP"/>
- </enumeration>
- <record name="Structure"
- c:type="GstStructure"
- doc="The GstStructure object. Most fields are private."
- glib:type-name="GstStructure"
- glib:get-type="gst_structure_get_type">
- <field name="type" writable="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="name" writable="1">
- <type name="GLib.Quark" c:type="GQuark"/>
- </field>
- <field name="parent_refcount" writable="1">
- <type name="any" c:type="gint*"/>
- </field>
- <field name="fields" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- <constructor name="new"
- c:identifier="gst_structure_new"
- doc="Creates a new #GstStructure with the given name. Parses the
-list of variable arguments and sets fields to the values listed.
-Variable arguments should be passed as field name, field type,
-and value. Last variable argument should be NULL.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="firstfield" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy"
- c:identifier="gst_structure_copy"
- doc="Duplicates a #GstStructure and all its fields and values.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- </method>
- <method name="set_parent_refcount"
- c:identifier="gst_structure_set_parent_refcount"
- doc="Sets the parent_refcount field of #GstStructure. This field is used to
-determine whether a structure is mutable or not. This function should only be
-called by code implementing parent objects of #GstStructure, as described in
-the MT Refcounting section of the design documents.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="refcount" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_structure_free"
- doc="Frees a #GstStructure and all its fields and values. The structure must not
-have a parent when this function is called.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_name"
- c:identifier="gst_structure_get_name"
- doc="Get the name of @structure as a string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_name_id"
- c:identifier="gst_structure_get_name_id"
- doc="Get the name of @structure as a GQuark.">
- <return-value transfer-ownership="full">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </method>
- <method name="has_name"
- c:identifier="gst_structure_has_name"
- doc="Checks if the structure has the given name">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_name"
- c:identifier="gst_structure_set_name"
- doc="Sets the name of the structure to the given @name. The string
-provided is copied before being used. It must not be empty, start with a
-letter and can be followed by letters, numbers and any of "/-_.:".">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="id_set_value"
- c:identifier="gst_structure_id_set_value"
- doc="Sets the field with the given GQuark @field to @value. If the field
-does not exist, it is created. If the field exists, the previous
-value is replaced and freed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_value"
- c:identifier="gst_structure_set_value"
- doc="Sets the field with the given name @field to @value. If the field
-does not exist, it is created. If the field exists, the previous
-value is replaced and freed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set"
- c:identifier="gst_structure_set"
- doc="Parses the variable arguments and sets fields accordingly.
-Variable arguments should be in the form field name, field type
-(as a GType), value(s). The last variable argument should be NULL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="id_set"
- c:identifier="gst_structure_id_set"
- doc="Identical to gst_structure_set, except that field names are
-passed using the GQuark for the field name. This allows more efficient
-setting of the structure if the caller already knows the associated
-quark values.
-The last variable argument must be NULL."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="get"
- c:identifier="gst_structure_get"
- doc="Parses the variable arguments and reads fields from @structure accordingly.
-Variable arguments should be in the form field name, field type
-(as a GType), pointer(s) to a variable(s) to hold the return value(s).
-The last variable argument should be NULL.
-For refcounted (mini)objects you will acquire your own reference which
-you must release with a suitable _unref() when no longer needed. For
-strings and boxed types you will acquire a copy which you will need to
-release with either g_free() or the suiteable function for the boxed type.
-because the field requested did not exist, or was of a type other
-than the type specified), otherwise TRUE."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="first_fieldname" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="id_get"
- c:identifier="gst_structure_id_get"
- doc="Parses the variable arguments and reads fields from @structure accordingly.
-Variable arguments should be in the form field id quark, field type
-(as a GType), pointer(s) to a variable(s) to hold the return value(s).
-The last variable argument should be NULL (technically it should be a
-0 quark, but we require NULL so compilers that support it can check for
-the NULL terminator and warn if it's not there).
-This function is just like gst_structure_get() only that it is slightly
-more efficient since it saves the string-to-quark lookup in the global
-quark hashtable.
-For refcounted (mini)objects you will acquire your own reference which
-you must release with a suitable _unref() when no longer needed. For
-strings and boxed types you will acquire a copy which you will need to
-release with either g_free() or the suiteable function for the boxed type.
-because the field requested did not exist, or was of a type other
-than the type specified), otherwise TRUE."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="first_field_id" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="id_get_value"
- c:identifier="gst_structure_id_get_value"
- doc="Get the value of the field with GQuark @field.
-identifier.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_value"
- c:identifier="gst_structure_get_value"
- doc="Get the value of the field with name @fieldname.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_field"
- c:identifier="gst_structure_remove_field"
- doc="Removes the field with the given name. If the field with the given
-name does not exist, the structure is unchanged.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_fields"
- c:identifier="gst_structure_remove_fields"
- doc="Removes the fields with the given names. If a field does not exist, the
-argument is ignored.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="remove_all_fields"
- c:identifier="gst_structure_remove_all_fields"
- doc="Removes all fields in a GstStructure.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_field_type"
- c:identifier="gst_structure_get_field_type"
- doc="Finds the field with the given name, and returns the type of the
-value it contains. If the field is not found, G_TYPE_INVALID is
-returned.">
- <return-value transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="foreach"
- c:identifier="gst_structure_foreach"
- doc="Calls the provided function once for each field in the #GstStructure. The
-function must not modify the fields. Also see gst_structure_map_in_place().
-FALSE otherwise.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="StructureForeachFunc"
- c:type="GstStructureForeachFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="map_in_place"
- c:identifier="gst_structure_map_in_place"
- doc="Calls the provided function once for each field in the #GstStructure. In
-contrast to gst_structure_foreach(), the function may modify but not delete the
-fields. The structure must be mutable.
-FALSE otherwise.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="StructureMapFunc" c:type="GstStructureMapFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="n_fields"
- c:identifier="gst_structure_n_fields"
- doc="Get the number of fields in the structure.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <method name="nth_field_name"
- c:identifier="gst_structure_nth_field_name"
- doc="Get the name of the given field number, counting from 0 onwards.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="id_has_field"
- c:identifier="gst_structure_id_has_field"
- doc="Check if @structure contains a field named @field."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </method>
- <method name="id_has_field_typed"
- c:identifier="gst_structure_id_has_field_typed"
- doc="Check if @structure contains a field named @field and with GType @type."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="has_field"
- c:identifier="gst_structure_has_field"
- doc="Check if @structure contains a field named @fieldname.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="has_field_typed"
- c:identifier="gst_structure_has_field_typed"
- doc="Check if @structure contains a field named @fieldname and with GType @type.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_boolean"
- c:identifier="gst_structure_get_boolean"
- doc="Sets the boolean pointed to by @value corresponding to the value of the
-given field. Caller is responsible for making sure the field exists
-and has the correct type.
-with @fieldname or the existing field did not contain a boolean, this
-function returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int"
- c:identifier="gst_structure_get_int"
- doc="Sets the int pointed to by @value corresponding to the value of the
-given field. Caller is responsible for making sure the field exists
-and has the correct type.
-with @fieldname or the existing field did not contain an int, this function
-returns %FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint"
- c:identifier="gst_structure_get_uint"
- doc="Sets the uint pointed to by @value corresponding to the value of the
-given field. Caller is responsible for making sure the field exists
-and has the correct type.
-with @fieldname or the existing field did not contain a uint, this function
-returns %FALSE."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_fourcc"
- c:identifier="gst_structure_get_fourcc"
- doc="Sets the Fourcc pointed to by @value corresponding to the value of the
-given field. Caller is responsible for making sure the field exists
-and has the correct type.
-with @fieldname or the existing field did not contain a fourcc, this function
-returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_double"
- c:identifier="gst_structure_get_double"
- doc="Sets the double pointed to by @value corresponding to the value of the
-given field. Caller is responsible for making sure the field exists
-and has the correct type.
-with @fieldname or the existing field did not contain a double, this
-function returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_date"
- c:identifier="gst_structure_get_date"
- doc="Sets the date pointed to by @value corresponding to the date of the
-given field. Caller is responsible for making sure the field exists
-and has the correct type.
-On success @value will point to a newly-allocated copy of the date which
-inconsistent with e.g. gst_structure_get_string() which doesn't return a
-copy of the string).
-with @fieldname or the existing field did not contain a data, this function
-returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GLib.Date" c:type="GDate**"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_clock_time"
- c:identifier="gst_structure_get_clock_time"
- doc="Sets the clock time pointed to by @value corresponding to the clock time
-of the given field. Caller is responsible for making sure the field exists
-and has the correct type.
-with @fieldname or the existing field did not contain a #GstClockTime, this
-function returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_string"
- c:identifier="gst_structure_get_string"
- doc="Finds the field corresponding to @fieldname, and returns the string
-contained in the field's value. Caller is responsible for making
-sure the field exists and has the correct type.
-The string should not be modified, and remains valid until the next
-call to a gst_structure_*() function with the given structure.
-or did not contain a string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_enum"
- c:identifier="gst_structure_get_enum"
- doc="Sets the int pointed to by @value corresponding to the value of the
-given field. Caller is responsible for making sure the field exists,
-has the correct type and that the enumtype is correct.
-with @fieldname or the existing field did not contain an enum of the given
-type, this function returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="enumtype" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_fraction"
- c:identifier="gst_structure_get_fraction"
- doc="Sets the integers pointed to by @value_numerator and @value_denominator
-corresponding to the value of the given field. Caller is responsible
-for making sure the field exists and has the correct type.
-with @fieldname or the existing field did not contain a GstFraction, this
-function returns FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value_numerator"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="value_denominator"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_string"
- c:identifier="gst_structure_to_string"
- doc="Converts @structure to a human-readable string representation.
-For debugging purposes its easier to do something like this:
-|[
-GST_LOG ("structure is %" GST_PTR_FORMAT, structure);
-]|
-This prints the structure in human readble form.
-usage.">
- <return-value transfer-ownership="full" doc="after">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="fixate_field_nearest_int"
- c:identifier="gst_structure_fixate_field_nearest_int"
- doc="Fixates a #GstStructure by changing the given field to the nearest
-integer to @target that is a subset of the existing field.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field_name" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="fixate_field_nearest_double"
- c:identifier="gst_structure_fixate_field_nearest_double"
- doc="Fixates a #GstStructure by changing the given field to the nearest
-double to @target that is a subset of the existing field.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field_name" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <type name="double" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="fixate_field_boolean"
- c:identifier="gst_structure_fixate_field_boolean"
- doc="Fixates a #GstStructure by changing the given @field_name field to the given">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field_name" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="fixate_field_nearest_fraction"
- c:identifier="gst_structure_fixate_field_nearest_fraction"
- doc="Fixates a #GstStructure by changing the given field to the nearest
-fraction to @target_numerator/@target_denominator that is a subset
-of the existing field.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field_name" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="target_numerator" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="target_denominator" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="StructureChangeType"
- doc="The type of a %GST_MESSAGE_STRUCTURE_CHANGE."
- version="0.10.22"
- c:type="GstStructureChangeType">
- <member name="link"
- value="0"
- c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK"/>
- <member name="unlink"
- value="1"
- c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK"/>
- </enumeration>
- <callback name="StructureForeachFunc"
- c:type="GstStructureForeachFunc"
- doc="A function that will be called in gst_structure_foreach(). The function may
-not modify @value.
-the foreach operation should stop with FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field_id" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="StructureMapFunc"
- c:type="GstStructureMapFunc"
- doc="A function that will be called in gst_structure_map_in_place(). The function
-may modify @value.
-the map operation should stop with FALSE.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field_id" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="SystemClock"
- c:type="GstSystemClock"
- doc="The default implementation of a #GstClock that uses the system time."
- parent="Clock"
- glib:type-name="GstSystemClock"
- glib:get-type="gst_system_clock_get_type"
- glib:type-struct="SystemClockClass">
- <function name="obtain"
- c:identifier="gst_system_clock_obtain"
- doc="Get a handle to the default system clock. The refcount of the
-clock will be increased so you need to unref the clock after
-usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Clock" c:type="GstClock*"/>
- </return-value>
- </function>
- <property name="clock-type" writable="1">
- <type name="ClockType" c:type="GstClockType"/>
- </property>
- <field name="clock">
- <type name="Clock" c:type="GstClock"/>
- </field>
- <field name="thread">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- <field name="stopping">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="priv">
- <type name="SystemClockPrivate" c:type="GstSystemClockPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="SystemClockClass"
- c:type="GstSystemClockClass"
- glib:is-gtype-struct-for="SystemClock">
- <field name="parent_class">
- <type name="ClockClass" c:type="GstClockClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="SystemClockPrivate" c:type="GstSystemClockPrivate">
- </record>
- <constant name="TAG_ALBUM" value="album">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_ARTIST" value="album-artist">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_ARTIST_SORTNAME" value="album-artist-sortname">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_GAIN" value="replaygain-album-gain">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_PEAK" value="replaygain-album-peak">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_SORTNAME" value="album-sortname">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_VOLUME_COUNT" value="album-disc-count">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ALBUM_VOLUME_NUMBER" value="album-disc-number">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ARTIST" value="artist">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ARTIST_SORTNAME" value="musicbrainz-sortname">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ATTACHMENT" value="attachment">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_AUDIO_CODEC" value="audio-codec">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_BEATS_PER_MINUTE" value="beats-per-minute">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_BITRATE" value="bitrate">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_CODEC" value="codec">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_COMMENT" value="comment">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_COMPOSER" value="composer">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_COMPOSER_SORTNAME" value="composer-sortname">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_CONTACT" value="contact">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_CONTAINER_FORMAT" value="container-format">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_COPYRIGHT" value="copyright">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_COPYRIGHT_URI" value="copyright-uri">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_DATE" value="date">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_DESCRIPTION" value="description">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_DURATION" value="duration">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ENCODER" value="encoder">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ENCODER_VERSION" value="encoder-version">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_EXTENDED_COMMENT" value="extended-comment">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GENRE" value="genre">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_CITY" value="geo-location-city">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_COUNTRY" value="geo-location-country">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_ELEVATION" value="geo-location-elevation">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_LATITUDE" value="geo-location-latitude">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_LONGITUDE" value="geo-location-longitude">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_NAME" value="geo-location-name">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GEO_LOCATION_SUBLOCATION"
- value="geo-location-sublocation">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_GROUPING" value="grouping">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_HOMEPAGE" value="homepage">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_IMAGE" value="image">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ISRC" value="isrc">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_KEYWORDS" value="keywords">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_LANGUAGE_CODE" value="language-code">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_LICENSE" value="license">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_LICENSE_URI" value="license-uri">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_LOCATION" value="location">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_LYRICS" value="lyrics">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_MAXIMUM_BITRATE" value="maximum-bitrate">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_MINIMUM_BITRATE" value="minimum-bitrate">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_NOMINAL_BITRATE" value="nominal-bitrate">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_ORGANIZATION" value="organization">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_PERFORMER" value="performer">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_PREVIEW_IMAGE" value="preview-image">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_REFERENCE_LEVEL" value="replaygain-reference-level">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_SERIAL" value="serial">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_SHOW_EPISODE_NUMBER" value="show-episode-number">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_SHOW_NAME" value="show-name">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_SHOW_SEASON_NUMBER" value="show-season-number">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_SHOW_SORTNAME" value="show-sortname">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_SUBTITLE_CODEC" value="subtitle-codec">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_TITLE" value="title">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_TITLE_SORTNAME" value="title-sortname">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_TRACK_COUNT" value="track-count">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_TRACK_GAIN" value="replaygain-track-gain">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_TRACK_NUMBER" value="track-number">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_TRACK_PEAK" value="replaygain-track-peak">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_USER_RATING" value="user-rating">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_VERSION" value="version">
- <type name="utf8"/>
- </constant>
- <constant name="TAG_VIDEO_CODEC" value="video-codec">
- <type name="utf8"/>
- </constant>
- <constant name="TIME_FORMAT" value="u:%02u:%02u.%09u">
- <type name="utf8"/>
- </constant>
- <enumeration name="TagFlag"
- doc="Extra tag flags used when registering tags."
- c:type="GstTagFlag">
- <member name="undefined"
- value="0"
- c:identifier="GST_TAG_FLAG_UNDEFINED"/>
- <member name="meta" value="1" c:identifier="GST_TAG_FLAG_META"/>
- <member name="encoded" value="2" c:identifier="GST_TAG_FLAG_ENCODED"/>
- <member name="decoded" value="3" c:identifier="GST_TAG_FLAG_DECODED"/>
- <member name="count" value="4" c:identifier="GST_TAG_FLAG_COUNT"/>
- </enumeration>
- <callback name="TagForeachFunc"
- c:type="GstTagForeachFunc"
- doc="A function that will be called in gst_tag_list_foreach(). The function may
-not modify the tag list.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="TagList"
- c:type="GstTagList"
- doc="Opaque #GstTagList data structure."
- glib:type-name="GstTagList"
- glib:get-type="gst_tag_list_get_type">
- <constructor name="new"
- c:identifier="gst_tag_list_new"
- doc="Creates a new empty GstTagList.">
- <return-value transfer-ownership="full">
- <type name="TagList" c:type="GstTagList*"/>
- </return-value>
- </constructor>
- <constructor name="new_full"
- c:identifier="gst_tag_list_new_full"
- doc="Creates a new taglist and appends the values for the given tags. It expects
-tag-value pairs like gst_tag_list_add(), and a NULL terminator after the
-last pair. The type of the values is implicit and is documented in the API
-reference, but can also be queried at runtime with gst_tag_get_type(). It
-is an error to pass a value of a type not matching the tag type into this
-function. The tag list will make copies of any arguments passed
-(e.g. strings, buffers).
-needed."
- version="0.10.24">
- <return-value transfer-ownership="full" doc="when no longer">
- <type name="TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy"
- c:identifier="gst_tag_list_copy"
- doc="Copies a given #GstTagList.">
- <return-value transfer-ownership="full">
- <type name="TagList" c:type="GstTagList*"/>
- </return-value>
- </method>
- <method name="is_empty"
- c:identifier="gst_tag_list_is_empty"
- doc="Checks if the given taglist is empty."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="insert"
- c:identifier="gst_tag_list_insert"
- doc="Inserts the tags of the @from list into the first list using the given mode.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="from" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="merge"
- c:identifier="gst_tag_list_merge"
- doc="Merges the two given lists into a new list. If one of the lists is NULL, a
-copy of the other is returned. If both lists are NULL, NULL is returned.">
- <return-value transfer-ownership="full">
- <type name="TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="list2" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_tag_list_free"
- doc="Frees the given list and all associated values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_tag_size"
- c:identifier="gst_tag_list_get_tag_size"
- doc="Checks how many value are stored in this tag list for the given tag.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add"
- c:identifier="gst_tag_list_add"
- doc="Sets the values for the given tags using the specified mode.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="add_values"
- c:identifier="gst_tag_list_add_values"
- doc="Sets the GValues for the given tags using the specified mode.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="add_value"
- c:identifier="gst_tag_list_add_value"
- doc="Sets the GValue for a given tag using the specified mode."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_tag"
- c:identifier="gst_tag_list_remove_tag"
- doc="Removes the given tag from the taglist.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="foreach"
- c:identifier="gst_tag_list_foreach"
- doc="Calls the given function for each tag inside the tag list. Note that if there
-is no tag, the function won't be called at all.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="TagForeachFunc" c:type="GstTagForeachFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_value_index"
- c:identifier="gst_tag_list_get_value_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-available or the tag doesn't have as many entries">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_char"
- c:identifier="gst_tag_list_get_char"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_char_index"
- c:identifier="gst_tag_list_get_char_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uchar"
- c:identifier="gst_tag_list_get_uchar"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_uchar_index"
- c:identifier="gst_tag_list_get_uchar_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_boolean"
- c:identifier="gst_tag_list_get_boolean"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_boolean_index"
- c:identifier="gst_tag_list_get_boolean_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int"
- c:identifier="gst_tag_list_get_int"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int_index"
- c:identifier="gst_tag_list_get_int_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint"
- c:identifier="gst_tag_list_get_uint"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint_index"
- c:identifier="gst_tag_list_get_uint_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_long"
- c:identifier="gst_tag_list_get_long"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="long" c:type="glong*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_long_index"
- c:identifier="gst_tag_list_get_long_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="long" c:type="glong*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_ulong"
- c:identifier="gst_tag_list_get_ulong"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="ulong" c:type="gulong*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_ulong_index"
- c:identifier="gst_tag_list_get_ulong_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="ulong" c:type="gulong*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int64"
- c:identifier="gst_tag_list_get_int64"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int64_index"
- c:identifier="gst_tag_list_get_int64_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint64"
- c:identifier="gst_tag_list_get_uint64"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint64_index"
- c:identifier="gst_tag_list_get_uint64_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_float"
- c:identifier="gst_tag_list_get_float"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_float_index"
- c:identifier="gst_tag_list_get_float_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_double"
- c:identifier="gst_tag_list_get_double"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_double_index"
- c:identifier="gst_tag_list_get_double_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_string"
- c:identifier="gst_tag_list_get_string"
- doc="Copies the contents for the given tag into the value, possibly merging
-multiple values into one if multiple values are associated with the tag.
-Use gst_tag_list_get_string_index (list, tag, 0, value) if you want
-to retrieve the first string associated with this tag unmodified.
-The resulting string in @value will be in UTF-8 encoding and should be
-freed by the caller using g_free when no longer needed. Since 0.10.24 the
-returned string is also guaranteed to be non-NULL and non-empty.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_string_index"
- c:identifier="gst_tag_list_get_string_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-The resulting string in @value will be in UTF-8 encoding and should be
-freed by the caller using g_free when no longer needed. Since 0.10.24 the
-returned string is also guaranteed to be non-NULL and non-empty.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_pointer"
- c:identifier="gst_tag_list_get_pointer"
- doc="Copies the contents for the given tag into the value, merging multiple values
-into one if multiple values are associated with the tag.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="any" c:type="gpointer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pointer_index"
- c:identifier="gst_tag_list_get_pointer_index"
- doc="Gets the value that is at the given index for the given tag in the given
-list.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="any" c:type="gpointer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_date"
- c:identifier="gst_tag_list_get_date"
- doc="Copies the first date for the given tag in the taglist into the variable
-pointed to by @value. Free the date with g_date_free() when it is no longer
-needed.
-given list or if it was #NULL.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GLib.Date" c:type="GDate**"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_date_index"
- c:identifier="gst_tag_list_get_date_index"
- doc="Gets the date that is at the given index for the given tag in the given
-list and copies it into the variable pointed to by @value. Free the date
-with g_date_free() when it is no longer needed.
-given list or if it was #NULL.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GLib.Date" c:type="GDate**"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_buffer"
- c:identifier="gst_tag_list_get_buffer"
- doc="Copies the first buffer for the given tag in the taglist into the variable
-pointed to by @value. Free the buffer with gst_buffer_unref() when it is
-no longer needed.
-given list or if it was #NULL."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_buffer_index"
- c:identifier="gst_tag_list_get_buffer_index"
- doc="Gets the buffer that is at the given index for the given tag in the given
-list and copies it into the variable pointed to by @value. Free the buffer
-with gst_buffer_unref() when it is no longer needed.
-given list or if it was #NULL."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <callback name="TagMergeFunc"
- c:type="GstTagMergeFunc"
- doc="A function for merging multiple values of a tag used when registering
-tags.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="src" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="TagMergeMode"
- doc="The different tag merging modes are basically replace, overwrite and append,
-already in the element and (B) the ones that are supplied to the element (
-e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a
-%GST_EVENT_TAG), how are these tags merged?
-In the table below this is shown for the cases that a tag exists in the list
-(A) or does not exists (!A) and combinations thereof.
-<table frame="all" colsep="1" rowsep="1">
-<title>merge mode</title>
-<tgroup cols='5' align='left'>
-<thead>
-<row>
-<entry>merge mode</entry>
-<entry>A + B</entry>
-<entry>A + !B</entry>
-<entry>!A + B</entry>
-<entry>!A + !B</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>REPLACE_ALL</entry>
-<entry>B</entry>
-<entry>-</entry>
-<entry>B</entry>
-<entry>-</entry>
-</row>
-<row>
-<entry>REPLACE</entry>
-<entry>B</entry>
-<entry>A</entry>
-<entry>B</entry>
-<entry>-</entry>
-</row>
-<row>
-<entry>APPEND</entry>
-<entry>A, B</entry>
-<entry>A</entry>
-<entry>B</entry>
-<entry>-</entry>
-</row>
-<row>
-<entry>PREPEND</entry>
-<entry>B, A</entry>
-<entry>A</entry>
-<entry>B</entry>
-<entry>-</entry>
-</row>
-<row>
-<entry>KEEP</entry>
-<entry>A</entry>
-<entry>A</entry>
-<entry>B</entry>
-<entry>-</entry>
-</row>
-<row>
-<entry>KEEP_ALL</entry>
-<entry>A</entry>
-<entry>A</entry>
-<entry>-</entry>
-<entry>-</entry>
-</row>
-</tbody>
-</tgroup>
-</table>"
- c:type="GstTagMergeMode">
- <member name="undefined"
- value="0"
- c:identifier="GST_TAG_MERGE_UNDEFINED"/>
- <member name="replace_all"
- value="1"
- c:identifier="GST_TAG_MERGE_REPLACE_ALL"/>
- <member name="replace" value="2" c:identifier="GST_TAG_MERGE_REPLACE"/>
- <member name="append" value="3" c:identifier="GST_TAG_MERGE_APPEND"/>
- <member name="prepend" value="4" c:identifier="GST_TAG_MERGE_PREPEND"/>
- <member name="keep" value="5" c:identifier="GST_TAG_MERGE_KEEP"/>
- <member name="keep_all" value="6" c:identifier="GST_TAG_MERGE_KEEP_ALL"/>
- <member name="count" value="7" c:identifier="GST_TAG_MERGE_COUNT"/>
- </enumeration>
- <interface name="TagSetter"
- c:type="GstTagSetter"
- doc="Opaque #GstTagSetter data structure."
- glib:type-name="GstTagSetter"
- glib:get-type="gst_tag_setter_get_type">
- <prerequisite name="Element"/>
- <method name="reset_tags"
- c:identifier="gst_tag_setter_reset_tags"
- doc="Reset the internal taglist. Elements should call this from within the
-state-change handler."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="merge_tags"
- c:identifier="gst_tag_setter_merge_tags"
- doc="Merges the given list into the setter's list using the given mode.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_tags"
- c:identifier="gst_tag_setter_add_tags"
- doc="Adds the given tag / value pairs on the setter using the given merge mode.
-The list must be terminated with NULL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="add_tag_values"
- c:identifier="gst_tag_setter_add_tag_values"
- doc="Adds the given tag / GValue pairs on the setter using the given merge mode.
-The list must be terminated with NULL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="add_tag_value"
- c:identifier="gst_tag_setter_add_tag_value"
- doc="Adds the given tag / GValue pair on the setter using the given merge mode."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_tag_list"
- c:identifier="gst_tag_setter_get_tag_list"
- doc="Returns the current list of tags the setter uses. The list should not be
-modified or freed.
-or NULL if none is used.">
- <return-value transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </return-value>
- </method>
- <method name="set_tag_merge_mode"
- c:identifier="gst_tag_setter_set_tag_merge_mode"
- doc="Sets the given merge mode that is used for adding tags from events to tags
-specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps
-the tags set with this interface and discards tags from events.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_tag_merge_mode"
- c:identifier="gst_tag_setter_get_tag_merge_mode"
- doc="Queries the mode by which tags inside the setter are overwritten by tags
-from events">
- <return-value transfer-ownership="full">
- <type name="TagMergeMode" c:type="GstTagMergeMode"/>
- </return-value>
- </method>
- </interface>
- <record name="TagSetterIFace"
- c:type="GstTagSetterIFace"
- doc="#GstTagSetterIFace interface.">
- <field name="g_iface" writable="1">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- </record>
- <class name="Task"
- c:type="GstTask"
- doc="The #GstTask object."
- parent="Object"
- glib:type-name="GstTask"
- glib:get-type="gst_task_get_type"
- glib:type-struct="TaskClass">
- <function name="cleanup_all"
- c:identifier="gst_task_cleanup_all"
- doc="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.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="create"
- c:identifier="gst_task_create"
- doc="Create a new Task that will repeatedly call the provided @func
-with @data as a parameter. Typically the task will run in
-a new thread.
-The function cannot be changed after the task has been created. You
-must create a new #GstTask to change the function.
-This function will not yet create and start a thread. Use gst_task_start() or
-gst_task_pause() to create and start the GThread.
-Before the task can be used, a #GStaticRecMutex must be configured using the
-gst_task_set_lock() function. This lock will always be acquired while
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Task" c:type="GstTask*"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <type name="TaskFunction" c:type="GstTaskFunction"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <method name="set_lock"
- c:identifier="gst_task_set_lock"
- doc="Set the mutex used by the task. The mutex will be acquired before
-calling the #GstTaskFunction.
-This function has to be called before calling gst_task_pause() or
-gst_task_start().
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mutex" transfer-ownership="none">
- <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_priority"
- c:identifier="gst_task_set_priority"
- doc="Changes the priority of @task to @priority.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="priority" transfer-ownership="none">
- <type name="GLib.ThreadPriority" c:type="GThreadPriority"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pool"
- c:identifier="gst_task_get_pool"
- doc="Get the #GstTaskPool that this task will use for its streaming
-threads.
-MT safe.
-after usage."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </return-value>
- </method>
- <method name="set_pool"
- c:identifier="gst_task_set_pool"
- doc="Set @pool as the new GstTaskPool for @task. Any new streaming threads that
-will be created by @task will now use @pool.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pool" transfer-ownership="none">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_thread_callbacks"
- c:identifier="gst_task_set_thread_callbacks"
- doc="Set callbacks which will be executed when a new thread is needed, the thread
-function is entered and left and when the thread is joined.
-By default a thread for @task will be created from a default thread pool.
-Objects can use custom GThreads or can perform additional configuration of
-the threads (such as changing the thread priority) by installing callbacks.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="callbacks" transfer-ownership="none">
- <type name="TaskThreadCallbacks" c:type="GstTaskThreadCallbacks*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_state"
- c:identifier="gst_task_get_state"
- doc="Get the current state of the task.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="TaskState" c:type="GstTaskState"/>
- </return-value>
- </method>
- <method name="set_state"
- c:identifier="gst_task_set_state"
- doc="Sets the state of @task to @state.
-The @task must have a lock associated with it using
-gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or
-this function will return %FALSE.
-MT safe."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="state" transfer-ownership="none">
- <type name="TaskState" c:type="GstTaskState"/>
- </parameter>
- </parameters>
- </method>
- <method name="start"
- c:identifier="gst_task_start"
- doc="Starts @task. The @task must have a lock associated with it using
-gst_task_set_lock() or this function will return %FALSE.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="stop"
- c:identifier="gst_task_stop"
- doc="Stops @task. This method merely schedules the task to stop and
-will not wait for the task to have completely stopped. Use
-gst_task_join() to stop and wait for completion.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="pause"
- c:identifier="gst_task_pause"
- doc="Pauses @task. This method can also be called on a task in the
-stopped state, in which case a thread will be started and will remain
-in the paused state. This function does not wait for the task to complete
-the paused state.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="join"
- c:identifier="gst_task_join"
- doc="Joins @task. After this call, it is safe to unref the task
-and clean up the lock set with gst_task_set_lock().
-The task will automatically be stopped with this call.
-This function cannot be called from within a task function as this
-would cause a deadlock. The function will detect this and print a
-g_warning.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="state">
- <type name="TaskState" c:type="GstTaskState"/>
- </field>
- <field name="cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="lock">
- <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex*"/>
- </field>
- <field name="func">
- <type name="TaskFunction" c:type="GstTaskFunction"/>
- </field>
- <field name="data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="running">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="thread" writable="1">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </union>
- <field name="priv">
- <type name="TaskPrivate" c:type="GstTaskPrivate*"/>
- </field>
- </class>
- <record name="TaskClass"
- c:type="GstTaskClass"
- glib:is-gtype-struct-for="Task">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="pool">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="TaskFunction"
- c:type="GstTaskFunction"
- doc="A function that will repeatedly be called in the thread created by
-a #GstTask.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="void*"/>
- </parameter>
- </parameters>
- </callback>
- <class name="TaskPool"
- c:type="GstTaskPool"
- doc="The #GstTaskPool object."
- parent="Object"
- glib:type-name="GstTaskPool"
- glib:get-type="gst_task_pool_get_type"
- glib:type-struct="TaskPoolClass">
- <constructor name="new"
- c:identifier="gst_task_pool_new"
- doc="Create a new default task pool. The default task pool will use a regular
-GThreadPool for threads."
- version="0.10.24">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </return-value>
- </constructor>
- <virtual-method name="prepare" invoker="prepare" throws="1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </virtual-method>
- <virtual-method name="cleanup" invoker="cleanup">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </virtual-method>
- <virtual-method name="push" invoker="push" throws="1">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="func" transfer-ownership="none">
- <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="join" invoker="join">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="prepare"
- c:identifier="gst_task_pool_prepare"
- doc="Prepare the taskpool for accepting gst_task_pool_push() operations.
-MT safe."
- version="0.10.24"
- throws="1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="push"
- c:identifier="gst_task_pool_push"
- doc="Start the execution of a new thread from @pool.
-function. This pointer can be NULL, you must check @error to detect
-errors."
- version="0.10.24"
- throws="1">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="join"
- c:identifier="gst_task_pool_join"
- doc="Join a task and/or return it to the pool. @id is the id obtained from
-gst_task_pool_push()."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="cleanup"
- c:identifier="gst_task_pool_cleanup"
- doc="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."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="pool">
- <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="TaskPoolClass"
- c:type="GstTaskPoolClass"
- glib:is-gtype-struct-for="TaskPool"
- doc="The #GstTaskPoolClass object.">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="prepare">
- <callback name="prepare" c:type="prepare" throws="1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pool" transfer-ownership="none">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="cleanup">
- <callback name="cleanup" c:type="cleanup">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pool" transfer-ownership="none">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="push">
- <callback name="push" c:type="push" throws="1">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="pool" transfer-ownership="none">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </parameter>
- <parameter name="func" transfer-ownership="none">
- <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="join">
- <callback name="join" c:type="join">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pool" transfer-ownership="none">
- <type name="TaskPool" c:type="GstTaskPool*"/>
- </parameter>
- <parameter name="id" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="TaskPoolFunction"
- c:type="GstTaskPoolFunction"
- doc="Task function, see gst_task_pool_push()."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="void*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="TaskPrivate" c:type="GstTaskPrivate">
- </record>
- <enumeration name="TaskState"
- doc="The different states a task can be in"
- c:type="GstTaskState">
- <member name="started" value="0" c:identifier="GST_TASK_STARTED"/>
- <member name="stopped" value="1" c:identifier="GST_TASK_STOPPED"/>
- <member name="paused" value="2" c:identifier="GST_TASK_PAUSED"/>
- </enumeration>
- <record name="TaskThreadCallbacks"
- c:type="GstTaskThreadCallbacks"
- doc="thread enters its function.
-to leave its function
-Custom GstTask thread callback functions that can be installed."
- version="0.10.24">
- <field name="enter_thread">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="leave_thread">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="Trace" c:type="GstTrace" doc="Opaque #GstTrace structure.">
- <field name="filename" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="fd" writable="1">
- <type name="int" c:type="int"/>
- </field>
- <field name="buf" writable="1">
- <type name="TraceEntry" c:type="GstTraceEntry*"/>
- </field>
- <field name="bufsize" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="bufoffset" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <constructor name="new"
- c:identifier="gst_trace_new"
- doc="Create a ringbuffer of @size in the file with @filename to
-store trace results in.">
- <return-value transfer-ownership="full">
- <type name="Trace" c:type="GstTrace*"/>
- </return-value>
- <parameters>
- <parameter name="filename" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="destroy"
- c:identifier="gst_trace_destroy"
- doc="Flush an close the previously allocated @trace.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="flush"
- c:identifier="gst_trace_flush"
- doc="Flush any pending trace entries in @trace to the trace file.
-flushed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="text_flush"
- c:identifier="gst_trace_text_flush"
- doc="Flush any pending trace entries in @trace to the trace file,
-formatted as a text line with timestamp and sequence numbers.
-flushed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_default"
- c:identifier="gst_trace_set_default"
- doc="Set the default #GstTrace to @trace.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- </record>
- <record name="TraceEntry" c:type="GstTraceEntry">
- <field name="timestamp" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="sequence" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="data" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="message" writable="1">
- <array zero-terminated="0" c:type="gchar" fixed-size="112">
- <type name="int8"/>
- </array>
- </field>
- </record>
- <record name="TypeFind"
- c:type="GstTypeFind"
- doc="Object that stores typefind callbacks. To use with #GstTypeFindFactory.">
- <field name="peek">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="suggest">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="data" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="get_length">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <method name="peek"
- c:identifier="gst_type_find_peek"
- doc="Returns the @size bytes of the stream to identify beginning at offset. If
-offset is a positive number, the offset is relative to the beginning of the
-stream, if offset is a negative number the offset is relative to the end of
-the stream. The returned memory is valid until the typefinding function
-returns and must not be freed.">
- <return-value transfer-ownership="full">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="suggest"
- c:identifier="gst_type_find_suggest"
- doc="If a #GstTypeFindFunction calls this function it suggests the caps with the
-given probability. A #GstTypeFindFunction may supply different suggestions
-in one call.
-It is up to the caller of the #GstTypeFindFunction to interpret these values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="probability" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="suggest_simple"
- c:identifier="gst_type_find_suggest_simple"
- doc="arguments passed to gst_structure_new() (ie. triplets of field name,
-field GType and field value)
-If a #GstTypeFindFunction calls this function it suggests the caps with the
-given probability. A #GstTypeFindFunction may supply different suggestions
-in one call. It is up to the caller of the #GstTypeFindFunction to interpret
-these values.
-This function is similar to gst_type_find_suggest(), only that instead of
-passing a #GstCaps argument you can create the caps on the fly in the same
-way as you can with gst_caps_new_simple().
-Make sure you terminate the list of arguments with a NULL argument and that
-the values passed have the correct type (in terms of width in bytes when
-passed to the vararg function - this applies particularly to gdouble and
-guint64 arguments)."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="probability" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="media_type" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="get_length"
- c:identifier="gst_type_find_get_length"
- doc="Get the length of the data stream.">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- </method>
- </record>
- <class name="TypeFindFactory"
- c:type="GstTypeFindFactory"
- doc="Object that stores information about a typefind function."
- parent="PluginFeature"
- glib:type-name="GstTypeFindFactory"
- glib:get-type="gst_type_find_factory_get_type"
- glib:type-struct="TypeFindFactoryClass">
- <function name="get_list"
- c:identifier="gst_type_find_factory_get_list"
- doc="Gets the list of all registered typefind factories. You must free the
-list using gst_plugin_feature_list_free.
-The returned factories are sorted by highest rank first, and then by
-factory name. (behaviour change since 0.10.26)">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </function>
- <method name="get_extensions"
- c:identifier="gst_type_find_factory_get_extensions"
- doc="Gets the extensions associated with a #GstTypeFindFactory. The returned
-array should not be changed. If you need to change stuff in it, you should
-copy it using g_strdupv(). This function may return NULL to indicate
-a 0-length list.">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </method>
- <method name="get_caps"
- c:identifier="gst_type_find_factory_get_caps"
- doc="Gets the #GstCaps associated with a typefind factory.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="call_function"
- c:identifier="gst_type_find_factory_call_function"
- doc="members must be set.
-Calls the #GstTypeFindFunction associated with this factory.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="find" transfer-ownership="none">
- <type name="TypeFind" c:type="GstTypeFind*"/>
- </parameter>
- </parameters>
- </method>
- <field name="feature">
- <type name="PluginFeature" c:type="GstPluginFeature"/>
- </field>
- <field name="function">
- <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
- </field>
- <field name="extensions">
- <type name="utf8" c:type="gchar**"/>
- </field>
- <field name="caps">
- <type name="Caps" c:type="GstCaps*"/>
- </field>
- <field name="user_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="user_data_notify">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="TypeFindFactoryClass"
- c:type="GstTypeFindFactoryClass"
- glib:is-gtype-struct-for="TypeFindFactory">
- <field name="parent">
- <type name="PluginFeatureClass" c:type="GstPluginFeatureClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="TypeFindFunction"
- c:type="GstTypeFindFunction"
- doc="A function that will be called by typefinding.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="find" transfer-ownership="none">
- <type name="TypeFind" c:type="GstTypeFind*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="TypeFindProbability"
- doc="The probability of the typefind function. Higher values have more certainty
-in doing a reliable typefind."
- c:type="GstTypeFindProbability">
- <member name="minimum" value="1" c:identifier="GST_TYPE_FIND_MINIMUM"/>
- <member name="possible"
- value="50"
- c:identifier="GST_TYPE_FIND_POSSIBLE"/>
- <member name="likely" value="80" c:identifier="GST_TYPE_FIND_LIKELY"/>
- <member name="nearly_certain"
- value="99"
- c:identifier="GST_TYPE_FIND_NEARLY_CERTAIN"/>
- <member name="maximum" value="100" c:identifier="GST_TYPE_FIND_MAXIMUM"/>
- </enumeration>
- <record name="TypeNameData"
- c:type="GstTypeNameData"
- doc="Structure used for filtering based on @name and @type.">
- <field name="name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="type" writable="1">
- <type name="GType" c:type="GType"/>
- </field>
- </record>
- <interface name="URIHandler"
- c:type="GstURIHandler"
- doc="Opaque #GstURIHandler structure."
- glib:type-name="GstURIHandler"
- glib:get-type="gst_uri_handler_get_type"
- glib:type-struct="URIHandlerInterface">
- <virtual-method name="get_uri" invoker="get_uri">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_uri" invoker="set_uri">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_uri_type"
- c:identifier="gst_uri_handler_get_uri_type"
- doc="Gets the type of the given URI handler
-Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_protocols"
- c:identifier="gst_uri_handler_get_protocols"
- doc="Gets the list of protocols supported by @handler. This list may not be
-modified.
-Returns NULL if the @handler isn't implemented properly, or the @handler
-doesn't support any protocols.">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </method>
- <method name="get_uri"
- c:identifier="gst_uri_handler_get_uri"
- doc="Gets the currently handled URI.
-Returns NULL if there are no URI currently handled. The returned
-string must not be modified or freed.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_uri"
- c:identifier="gst_uri_handler_set_uri"
- doc="Tries to set the URI of the given handler.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="new_uri"
- c:identifier="gst_uri_handler_new_uri"
- doc="Emits the new-uri signal for a given handler, when that handler has a new URI.
-This function should only be called by URI handlers themselves.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <glib:signal name="new-uri"
- doc="The URI of the given @handler has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchararray"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <record name="URIHandlerInterface"
- c:type="GstURIHandlerInterface"
- glib:is-gtype-struct-for="URIHandler"
- doc="This is for use by bindings that need to pass context when creating a URI
-Handler. If implemented, get_protocols will be used in preference to
-Any #GstElement using this interface should implement these methods.">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="new_uri">
- <callback name="new_uri" c:type="new_uri">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="handler" transfer-ownership="none">
- <type name="URIHandler" c:type="GstURIHandler*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_type">
- <callback name="get_type" c:type="get_type">
- <return-value transfer-ownership="full">
- <type name="URIType" c:type="GstURIType"/>
- </return-value>
- </callback>
- </field>
- <field name="get_protocols">
- <callback name="get_protocols" c:type="get_protocols">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </callback>
- </field>
- <field name="get_uri">
- <callback name="get_uri" c:type="get_uri">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="handler" transfer-ownership="none">
- <type name="URIHandler" c:type="GstURIHandler*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_uri">
- <callback name="set_uri" c:type="set_uri">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="handler" transfer-ownership="none">
- <type name="URIHandler" c:type="GstURIHandler*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_type_full">
- <callback name="get_type_full" c:type="get_type_full">
- <return-value transfer-ownership="full">
- <type name="URIType" c:type="GstURIType"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_protocols_full">
- <callback name="get_protocols_full" c:type="get_protocols_full">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="URIType"
- doc="The different types of URI direction."
- c:type="GstURIType">
- <member name="unknown" value="0" c:identifier="GST_URI_UNKNOWN"/>
- <member name="sink" value="1" c:identifier="GST_URI_SINK"/>
- <member name="src" value="2" c:identifier="GST_URI_SRC"/>
- </enumeration>
- <constant name="USECOND" value="0">
- <type name="int"/>
- </constant>
- <constant name="VALUE_EQUAL" value="0">
- <type name="int"/>
- </constant>
- <constant name="VALUE_GREATER_THAN" value="1">
- <type name="int"/>
- </constant>
- <constant name="VALUE_LESS_THAN" value="-1">
- <type name="int"/>
- </constant>
- <constant name="VALUE_UNORDERED" value="2">
- <type name="int"/>
- </constant>
- <callback name="ValueCompareFunc"
- c:type="GstValueCompareFunc"
- doc="Used together with gst_value_compare() to compare #GValue items.
-or GST_VALUE_UNORDERED">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ValueDeserializeFunc"
- c:type="GstValueDeserializeFunc"
- doc="Used by gst_value_deserialize() to parse a non-binary form into the #GValue.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="s" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ValueIntersectFunc"
- c:type="GstValueIntersectFunc"
- doc="Used by gst_value_intersect() to perform intersection for a specific #GValue
-type. If the intersection is non-empty, the result is
-placed in @dest and TRUE is returned. If the intersection is
-empty, @dest is unmodified and FALSE is returned.
-Register a new implementation with gst_value_register_intersect_func().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ValueSerializeFunc"
- c:type="GstValueSerializeFunc"
- doc="Used by gst_value_serialize() to obtain a non-binary form of the #GValue.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ValueSubtractFunc"
- c:type="GstValueSubtractFunc"
- doc="Used by gst_value_subtract() to perform subtraction for a specific #GValue
-type. Register a new implementation with gst_value_register_subtract_func().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="minuend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="subtrahend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ValueTable"
- c:type="GstValueTable"
- doc="VTable for the #GValue @type.">
- <field name="type" writable="1">
- <type name="GType" c:type="GType"/>
- </field>
- <field name="compare" writable="1">
- <type name="ValueCompareFunc" c:type="GstValueCompareFunc"/>
- </field>
- <field name="serialize" writable="1">
- <type name="ValueSerializeFunc" c:type="GstValueSerializeFunc"/>
- </field>
- <field name="deserialize" writable="1">
- <type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="void*" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="ValueUnionFunc"
- c:type="GstValueUnionFunc"
- doc="Used by gst_value_union() to perform unification for a specific #GValue
-type. Register a new implementation with gst_value_register_union_func().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <class name="XML"
- c:type="GstXML"
- doc="XML parser object"
- parent="Object"
- glib:type-name="GstXML"
- glib:get-type="gst_xml_get_type"
- glib:type-struct="XMLClass">
- <constructor name="new"
- c:identifier="gst_xml_new"
- doc="Create a new GstXML parser object.">
- <return-value transfer-ownership="full">
- <type name="XML" c:type="GstXML*"/>
- </return-value>
- </constructor>
- <function name="write"
- c:identifier="gst_xml_write"
- doc="Converts the given element into an XML presentation.">
- <return-value transfer-ownership="full">
- <type name="libxml2.DocPtr" c:type="xmlDocPtr"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </function>
- <function name="make_element"
- c:identifier="gst_xml_make_element"
- doc="Load the element from the XML description">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="cur" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- <parameter name="parent" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="object_saved">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="parse_doc"
- c:identifier="gst_xml_parse_doc"
- doc="Fills the GstXML object with the elements from the
-xmlDocPtr.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="doc" transfer-ownership="none">
- <type name="libxml2.DocPtr" c:type="xmlDocPtr"/>
- </parameter>
- <parameter name="root" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="parse_file"
- c:identifier="gst_xml_parse_file"
- doc="Fills the GstXML object with the corresponding elements from
-the XML file fname. Optionally it will only build the element from
-the element node root (if it is not NULL). This feature is useful
-if you only want to build a specific element from an XML file
-but not the pipeline it is embedded in.
-Pass "-" as fname to read from stdin. You can also pass a URI
-of any format that libxml supports, including http.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fname" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="root" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="parse_memory"
- c:identifier="gst_xml_parse_memory"
- doc="Fills the GstXML object with the corresponding elements from
-an in memory XML buffer.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="root" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_element"
- c:identifier="gst_xml_get_element"
- doc="This function is used to get a pointer to the GstElement corresponding
-to name in the pipeline description. You would use this if you have
-to do anything to the element after loading.">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_topelements"
- c:identifier="gst_xml_get_topelements"
- doc="Retrieve a list of toplevel elements.
-of the list and must not free or modify the list. The caller also does not
-own a reference to any of the elements in the list and should obtain its own
-reference using gst_object_ref() if necessary.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <field name="object">
- <type name="Object" c:type="GstObject"/>
- </field>
- <field name="topelements">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="ns">
- <type name="libxml2.NsPtr" c:type="xmlNsPtr"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="object-loaded"
- doc="Signals that a new object has been deserialized.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject"/>
- </parameter>
- <parameter name="xml_node" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="XMLClass"
- c:type="GstXMLClass"
- glib:is-gtype-struct-for="XML">
- <field name="parent_class">
- <type name="ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="object_loaded">
- <callback name="object_loaded" c:type="object_loaded">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xml" transfer-ownership="none">
- <type name="XML" c:type="GstXML*"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="object_saved">
- <callback name="object_saved" c:type="object_saved">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xml" transfer-ownership="none">
- <type name="XML" c:type="GstXML*"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <function name="alloc_trace_available"
- c:identifier="gst_alloc_trace_available"
- doc="Check if alloc tracing was compiled into the core
-tracing enabled.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="alloc_trace_get"
- c:identifier="gst_alloc_trace_get"
- doc="Get the named alloc trace object.
-no alloc tracer was registered with that name.">
- <return-value transfer-ownership="full">
- <type name="AllocTrace" c:type="GstAllocTrace*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="alloc_trace_list"
- c:identifier="gst_alloc_trace_list"
- doc="Get a list of all registered alloc trace objects.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </function>
- <function name="alloc_trace_live_all"
- c:identifier="gst_alloc_trace_live_all"
- doc="Get the total number of live registered alloc trace objects.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- </function>
- <function name="alloc_trace_print_all"
- c:identifier="gst_alloc_trace_print_all"
- doc="Print the status of all registered alloc trace objects.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="alloc_trace_print_live"
- c:identifier="gst_alloc_trace_print_live"
- doc="Print the status of all registered alloc trace objects, ignoring those
-without live objects.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="alloc_trace_set_flags_all"
- c:identifier="gst_alloc_trace_set_flags_all"
- doc="Enable the specified options on all registered alloc trace
-objects.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flags" transfer-ownership="none">
- <type name="AllocTraceFlags" c:type="GstAllocTraceFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="atomic_int_set"
- c:identifier="gst_atomic_int_set"
- doc="Unconditionally sets the atomic integer to @value."
- deprecated="Use g_atomic_int_set().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="atomic_int" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_try_new_and_alloc"
- c:identifier="gst_buffer_try_new_and_alloc"
- doc="Tries to create a newly allocated buffer with data of the given size. If
-the requested amount of memory can't be allocated, NULL will be returned.
-The buffer memory is not cleared.
-Note that when @size == 0, the buffer data pointer will be NULL.
-MT safe."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="caps_from_string"
- c:identifier="gst_caps_from_string"
- doc="Converts @caps from a string representation.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="string" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="caps_load_thyself"
- c:identifier="gst_caps_load_thyself"
- doc="Creates a #GstCaps from its XML serialization.">
- <return-value transfer-ownership="full">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="parent" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_child_added"
- c:identifier="gst_child_proxy_child_added"
- doc="Emits the "child-added" signal.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="child" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_child_removed"
- c:identifier="gst_child_proxy_child_removed"
- doc="Emits the "child-removed" signal.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="child" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_get"
- c:identifier="gst_child_proxy_get"
- doc="Gets properties of the parent object and its children.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_get_property"
- c:identifier="gst_child_proxy_get_property"
- doc="Gets a single property using the GstChildProxy mechanism.
-You are responsible for for freeing it by calling g_value_unset()">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_lookup"
- c:identifier="gst_child_proxy_lookup"
- doc="Looks up which object and #GParamSpec would be effected by the given @name.
-case the values for @pspec and @target are not modified. Unref @target after
-usage.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="target" transfer-ownership="none">
- <type name="Object" c:type="GstObject**"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_set"
- c:identifier="gst_child_proxy_set"
- doc="Sets properties of the parent object and its children.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="first_property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- <function name="child_proxy_set_property"
- c:identifier="gst_child_proxy_set_property"
- doc="Sets a single property using the GstChildProxy mechanism.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="class_signal_connect"
- c:identifier="gst_class_signal_connect">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="klass" transfer-ownership="none">
- <type name="ObjectClass" c:type="GstObjectClass*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="func" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="func_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="class_signal_emit_by_name"
- c:identifier="gst_class_signal_emit_by_name"
- doc="emits the named class signal.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="self" transfer-ownership="none">
- <type name="libxml2.NodePtr" c:type="xmlNodePtr"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_add_log_function"
- c:identifier="gst_debug_add_log_function"
- doc="Adds the logging function to the list of logging functions.
-Be sure to use G_GNUC_NO_INSTRUMENT on that function, it is needed.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <type name="LogFunction" c:type="GstLogFunction"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_construct_term_color"
- c:identifier="gst_debug_construct_term_color"
- doc="Constructs a string that can be used for getting the desired color in color
-terminals.
-You need to free the string after use.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="colorinfo" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_construct_win_color"
- c:identifier="gst_debug_construct_win_color"
- doc="Constructs an integer that can be used for getting the desired color in
-windows' terminals (cmd.exe). As there is no mean to underline, we simply
-ignore this attribute.
-This function returns 0 on non-windows machines."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="colorinfo" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_get_all_categories"
- c:identifier="gst_debug_get_all_categories"
- doc="Returns a snapshot of a all categories that are currently in use . This list
-may change anytime.
-The caller has to free the list after use.">
- <return-value transfer-ownership="full">
- <type name="GLib.SList" c:type="GSList*"/>
- </return-value>
- </function>
- <function name="debug_get_default_threshold"
- c:identifier="gst_debug_get_default_threshold"
- doc="Returns the default threshold that is used for new categories.">
- <return-value transfer-ownership="full">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </return-value>
- </function>
- <function name="debug_is_active"
- c:identifier="gst_debug_is_active"
- doc="Checks if debugging output is activated.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="debug_is_colored"
- c:identifier="gst_debug_is_colored"
- doc="Checks if the debugging output should be colored.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="debug_level_get_name"
- c:identifier="gst_debug_level_get_name"
- doc="Get the string representation of a debugging level">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_log"
- c:identifier="gst_debug_log"
- doc="Logs the given message using the currently registered debugging handlers.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="category" transfer-ownership="none">
- <type name="DebugCategory" c:type="GstDebugCategory*"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- <parameter name="file" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="function" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="line" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- <function name="debug_log_default"
- c:identifier="gst_debug_log_default"
- doc="The default logging handler used by GStreamer. Logging functions get called
-whenever a macro like GST_DEBUG or similar is used. This function outputs the
-message and additional info using the glib error handler.
-You can add other handlers by using gst_debug_add_log_function().
-And you can remove this handler by calling
-gst_debug_remove_log_function(gst_debug_log_default);">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="category" transfer-ownership="none">
- <type name="DebugCategory" c:type="GstDebugCategory*"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- <parameter name="file" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="function" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="line" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="DebugMessage" c:type="GstDebugMessage*"/>
- </parameter>
- <parameter name="unused" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_print_stack_trace"
- c:identifier="gst_debug_print_stack_trace"
- doc="If GST_ENABLE_FUNC_INSTRUMENTATION is defined a stacktrace is available for
-gstreamer code, which can be printed with this function.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="debug_remove_log_function"
- c:identifier="gst_debug_remove_log_function"
- doc="Removes all registered instances of the given logging functions.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="LogFunction" c:type="GstLogFunction"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_remove_log_function_by_data"
- c:identifier="gst_debug_remove_log_function_by_data"
- doc="Removes all registered instances of log functions with the given user data.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_set_active"
- c:identifier="gst_debug_set_active"
- doc="If activated, debugging messages are sent to the debugging
-handlers.
-It makes sense to deactivate it for speed issues.
-<note><para>This function is not threadsafe. It makes sense to only call it
-during initialization.</para></note>">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_set_colored"
- c:identifier="gst_debug_set_colored"
- doc="Sets or unsets the use of coloured debugging output.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="colored" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_set_default_threshold"
- c:identifier="gst_debug_set_default_threshold"
- doc="Sets the default threshold to the given level and updates all categories to
-use this threshold.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_set_threshold_for_name"
- c:identifier="gst_debug_set_threshold_for_name"
- doc="Sets all categories which match the given glob style pattern to the given
-level.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <type name="DebugLevel" c:type="GstDebugLevel"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_unset_threshold_for_name"
- c:identifier="gst_debug_unset_threshold_for_name"
- doc="Resets all categories with the given name back to the default level.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="default_registry_check_feature_version"
- c:identifier="gst_default_registry_check_feature_version"
- doc="Checks whether a plugin feature by the given name exists in the
-default registry and whether its version is at least the
-version required.
-the same as the required version or newer, and #FALSE otherwise.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="feature_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="min_major" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="min_minor" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="min_micro" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="deinit"
- c:identifier="gst_deinit"
- doc="Clean up any resources created by GStreamer in gst_init().
-It is normally not needed to call this function in a normal application
-as the resources will automatically be freed when the program terminates.
-This function is therefore mostly used by testsuites and other memory
-profiling tools.
-After this call GStreamer (including this method) should not be used anymore.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="error_get_message"
- c:identifier="gst_error_get_message"
- doc="Get a string describing the error message in the current locale.
-current locale.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="code" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="event_type_get_flags"
- c:identifier="gst_event_type_get_flags"
- doc="Gets the #GstEventTypeFlags associated with @type.">
- <return-value transfer-ownership="full">
- <type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="EventType" c:type="GstEventType"/>
- </parameter>
- </parameters>
- </function>
- <function name="event_type_get_name"
- c:identifier="gst_event_type_get_name"
- doc="Get a printable name for the given event type. Do not modify or free.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="EventType" c:type="GstEventType"/>
- </parameter>
- </parameters>
- </function>
- <function name="event_type_to_quark"
- c:identifier="gst_event_type_to_quark"
- doc="Get the unique quark for the given event type.">
- <return-value transfer-ownership="full">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="EventType" c:type="GstEventType"/>
- </parameter>
- </parameters>
- </function>
- <function name="filter_run"
- c:identifier="gst_filter_run"
- doc="Iterates over the elements in @list, calling @func with the
-list item data for each item. If @func returns TRUE, @data is
-prepended to the list of results returned. If @first is true,
-the search is halted after the first result is found.
-Since gst_filter_run() knows nothing about the type of @data, no
-reference will be taken (if @data refers to an object) and no copy of
-results.
-(the data contained in the list is a flat copy and does need to be
-unreferenced or freed).">
- <return-value transfer-ownership="full" doc="when no longer needed">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="FilterFunc" c:type="GstFilterFunc"/>
- </parameter>
- <parameter name="first" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="flow_get_name"
- c:identifier="gst_flow_get_name"
- doc="Gets a string representing the given flow return.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="ret" transfer-ownership="none">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </parameter>
- </parameters>
- </function>
- <function name="flow_to_quark"
- c:identifier="gst_flow_to_quark"
- doc="Get the unique quark for the given GstFlowReturn.
-invalid return was specified.">
- <return-value transfer-ownership="full">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <parameter name="ret" transfer-ownership="none">
- <type name="FlowReturn" c:type="GstFlowReturn"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_by_nick"
- c:identifier="gst_format_get_by_nick"
- doc="Return the format registered with the given nick.
-if the format was not registered.">
- <return-value transfer-ownership="full">
- <type name="Format" c:type="GstFormat"/>
- </return-value>
- <parameters>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_details"
- c:identifier="gst_format_get_details"
- doc="Get details about the given format.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="FormatDefinition" c:type="GstFormatDefinition*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_name"
- c:identifier="gst_format_get_name"
- doc="Get a printable name for the given format. Do not modify or free.
-the format is unknown.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_iterate_definitions"
- c:identifier="gst_format_iterate_definitions"
- doc="Iterate all the registered formats. The format definition is read
-only.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </function>
- <function name="format_register"
- c:identifier="gst_format_register"
- doc="Create a new GstFormat based on the nick or return an
-already registered format with that nick.
-with the same nick.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Format" c:type="GstFormat"/>
- </return-value>
- <parameters>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_to_quark"
- c:identifier="gst_format_to_quark"
- doc="Get the unique quark for the given format.
-is unknown.">
- <return-value transfer-ownership="full">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="formats_contains"
- c:identifier="gst_formats_contains"
- doc="See if the given format is inside the format array.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="formats" transfer-ownership="none">
- <type name="Format" c:type="GstFormat*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="implements_interface_cast"
- c:identifier="gst_implements_interface_cast"
- doc="cast a given object to an interface type, and check whether this
-interface is supported for this specific instance.">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="from"
- transfer-ownership="none"
- doc="from which to cast to the interface">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="implements_interface_check"
- c:identifier="gst_implements_interface_check"
- doc="check a given object for an interface implementation, and check
-whether this interface is supported for this specific instance.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="from"
- transfer-ownership="none"
- doc="from which to check from for the interface">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </function>
- <function name="init"
- c:identifier="gst_init"
- doc="Initializes the GStreamer library, setting up internal path lists,
-registering built-in elements, and loading standard plugins.
-Unless the plugin registry is disabled at compile time, the registry will be
-loaded. By default this will also check if the registry cache needs to be
-updated and rescan all plugins if needed. See gst_update_registry() for
-details and section
-<link linkend="gst-running">Running GStreamer Applications</link>
-for how to disable automatic registry updates.
-This function should be called before calling any other GLib functions. If
-this is not an option, your program must initialise the GLib thread system
-using g_thread_init() before any other GLib functions are called.
-<note><para>
-This function will terminate your program if it was unable to initialize
-GStreamer for some reason. If you want your program to fall back,
-use gst_init_check() instead.
-</para></note>
-functions in other glib-style libraries, such as gtk_init(). In
-particular, unknown command line options cause this function to
-abort program execution.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="argc"
- direction="inout"
- transfer-ownership="full"
- doc="pointer to application's argc">
- <type name="int" c:type="int*"/>
- </parameter>
- <parameter name="argv"
- direction="inout"
- transfer-ownership="full"
- allow-none="1"
- doc="pointer to application's argv">
- <array length="0" c:type="char**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="init_check"
- c:identifier="gst_init_check"
- doc="Initializes the GStreamer library, setting up internal path lists,
-registering built-in elements, and loading standard plugins.
-This function will return %FALSE if GStreamer could not be initialized
-for some reason. If you want your program to fail fatally,
-use gst_init() instead.
-This function should be called before calling any other GLib functions. If
-this is not an option, your program must initialise the GLib thread system
-using g_thread_init() before any other GLib functions are called."
- throws="1">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="argc"
- direction="inout"
- transfer-ownership="full"
- doc="pointer to application's argc">
- <type name="int" c:type="int*"/>
- </parameter>
- <parameter name="argv"
- direction="inout"
- transfer-ownership="full"
- allow-none="1"
- doc="pointer to application's argv">
- <array length="0" c:type="char**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="init_get_option_group"
- c:identifier="gst_init_get_option_group"
- doc="Returns a #GOptionGroup with GStreamer's argument specifications. The
-group is set up to use standard GOption callbacks, so when using this
-group in combination with GOption parsing methods, all argument parsing
-and initialization is automated.
-This function is useful if you want to integrate GStreamer with other
-libraries that use GOption (see g_option_context_add_group() ).
-If you use this function, you should make sure you initialise the GLib
-threading system as one of the very first things in your program
-(see the example at the beginning of this section).">
- <return-value transfer-ownership="full">
- <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
- </return-value>
- </function>
- <function name="is_tag_list"
- c:identifier="gst_is_tag_list"
- doc="Checks if the given pointer is a taglist.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="p" transfer-ownership="none">
- <type name="any" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="message_type_get_name"
- c:identifier="gst_message_type_get_name"
- doc="Get a printable name for the given message type. Do not modify or free.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- </parameters>
- </function>
- <function name="message_type_to_quark"
- c:identifier="gst_message_type_to_quark"
- doc="Get the unique quark for the given message type.">
- <return-value transfer-ownership="full">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="MessageType" c:type="GstMessageType"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_fraction"
- c:identifier="gst_param_spec_fraction"
- doc="This function creates a fraction GParamSpec for use by objects/elements
-that want to expose properties of fraction type. This function is typically
-used in connection with g_object_class_install_property() in a GObjects's
-instance_init function."
- version="0.10.14">
- <return-value transfer-ownership="full">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="min_num" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="min_denom" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="max_num" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="max_denom" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="default_num" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="default_denom" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="GObject.ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="param_spec_mini_object"
- c:identifier="gst_param_spec_mini_object"
- doc="Creates a new #GParamSpec instance that hold #GstMiniObject references.">
- <return-value transfer-ownership="full">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="object_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="GObject.ParamFlags" c:type="GParamFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_bin_from_description"
- c:identifier="gst_parse_bin_from_description"
- doc="for unlinked source or sink pads within the bin
-This is a convenience wrapper around gst_parse_launch() to create a
-#GstBin from a gst-launch-style pipeline description. See
-gst_parse_launch() and the gst-launch man page for details about the
-syntax. Ghost pads on the bin for unlinked source or sink pads
-within the bin can automatically be created (but only a maximum of
-one ghost pad for each direction will be created; if you expect
-multiple unlinked source pads or multiple unlinked sink pads
-and want them all ghosted, you will have to create the ghost pads
-yourself)."
- version="0.10.3"
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="bin_description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="ghost_unlinked_pads" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_bin_from_description_full"
- c:identifier="gst_parse_bin_from_description_full"
- doc="for unlinked source or sink pads within the bin
-This is a convenience wrapper around gst_parse_launch() to create a
-#GstBin from a gst-launch-style pipeline description. See
-gst_parse_launch() and the gst-launch man page for details about the
-syntax. Ghost pads on the bin for unlinked source or sink pads
-within the bin can automatically be created (but only a maximum of
-one ghost pad for each direction will be created; if you expect
-multiple unlinked source pads or multiple unlinked sink pads
-and want them all ghosted, you will have to create the ghost pads
-yourself)."
- version="0.10.20"
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="bin_description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="ghost_unlinked_pads" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="context" transfer-ownership="none" doc="or %NULL">
- <type name="ParseContext" c:type="GstParseContext*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="ParseFlags" c:type="GstParseFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_launch"
- c:identifier="gst_parse_launch"
- doc="Create a new pipeline based on command line syntax.
-Please note that you might get a return value that is not %NULL even though
-the @error is set. In this case there was a recoverable parsing error and you
-can try to play the pipeline.
-element is specified by the @pipeline_description, all elements are put into
-a #GstPipeline, which than is returned."
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="pipeline_description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_launch_full"
- c:identifier="gst_parse_launch_full"
- doc="Create a new pipeline based on command line syntax.
-Please note that you might get a return value that is not %NULL even though
-the @error is set. In this case there was a recoverable parsing error and you
-can try to play the pipeline.
-element is specified by the @pipeline_description, all elements are put into
-a #GstPipeline, which then is returned."
- version="0.10.20"
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="pipeline_description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="context" transfer-ownership="none" doc="or %NULL">
- <type name="ParseContext" c:type="GstParseContext*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="ParseFlags" c:type="GstParseFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_launchv"
- c:identifier="gst_parse_launchv"
- doc="Create a new element based on command line syntax.
-An error does not mean that the pipeline could not be constructed."
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="argv" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="parse_launchv_full"
- c:identifier="gst_parse_launchv_full"
- doc="Create a new element based on command line syntax.
-An error does not mean that the pipeline could not be constructed.
-partially-constructed bin or element will be returned and @error will be set
-(unless you passed #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then %NULL will
-always be returned on failure)"
- version="0.10.20"
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="argv" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="context" transfer-ownership="none" doc="or %NULL">
- <type name="ParseContext" c:type="GstParseContext*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="ParseFlags" c:type="GstParseFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="print_element_args"
- c:identifier="gst_print_element_args"
- doc="Print the element argument in a human readable format in the given
-GString.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- <parameter name="indent" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="element" transfer-ownership="none">
- <type name="Element" c:type="GstElement*"/>
- </parameter>
- </parameters>
- </function>
- <function name="print_pad_caps"
- c:identifier="gst_print_pad_caps"
- doc="Write the pad capabilities in a human readable format into
-the given GString.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- <parameter name="indent" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </function>
- <function name="query_type_get_by_nick"
- c:identifier="gst_query_type_get_by_nick"
- doc="Get the query type registered with @nick.
-if the query was not registered.">
- <return-value transfer-ownership="full">
- <type name="QueryType" c:type="GstQueryType"/>
- </return-value>
- <parameters>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="query_type_get_details"
- c:identifier="gst_query_type_get_details"
- doc="Get details about the given #GstQueryType.">
- <return-value transfer-ownership="none">
- <type name="QueryTypeDefinition" c:type="GstQueryTypeDefinition*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType"/>
- </parameter>
- </parameters>
- </function>
- <function name="query_type_get_name"
- c:identifier="gst_query_type_get_name"
- doc="Get a printable name for the given query type. Do not modify or free.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType"/>
- </parameter>
- </parameters>
- </function>
- <function name="query_type_iterate_definitions"
- c:identifier="gst_query_type_iterate_definitions"
- doc="Get a #GstIterator of all the registered query types. The definitions
-iterated over are read only.">
- <return-value transfer-ownership="full">
- <type name="Iterator" c:type="GstIterator*"/>
- </return-value>
- </function>
- <function name="query_type_register"
- c:identifier="gst_query_type_register"
- doc="Create a new GstQueryType based on the nick or return an
-already registered query with that nick
-with the same nick.">
- <return-value transfer-ownership="full">
- <type name="QueryType" c:type="GstQueryType"/>
- </return-value>
- <parameters>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="description" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="query_type_to_quark"
- c:identifier="gst_query_type_to_quark"
- doc="Get the unique quark for the given query type.">
- <return-value transfer-ownership="full">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType"/>
- </parameter>
- </parameters>
- </function>
- <function name="query_types_contains"
- c:identifier="gst_query_types_contains"
- doc="See if the given #GstQueryType is inside the @types query types array.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="types" transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="QueryType" c:type="GstQueryType"/>
- </parameter>
- </parameters>
- </function>
- <function name="segtrap_is_enabled"
- c:identifier="gst_segtrap_is_enabled"
- doc="Some functions in the GStreamer core might install a custom SIGSEGV handler
-to better catch and report errors to the application. Currently this feature
-is enabled by default when loading plugins.
-Applications might want to disable this behaviour with the
-gst_segtrap_set_enabled() function. This is typically done if the application
-wants to install its own handler without GStreamer interfering."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="segtrap_set_enabled"
- c:identifier="gst_segtrap_set_enabled"
- doc="Applications might want to disable/enable the SIGSEGV handling of
-the GStreamer core. See gst_segtrap_is_enabled() for more information."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="enabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="structure_empty_new"
- c:identifier="gst_structure_empty_new"
- doc="Creates a new, empty #GstStructure with the given @name.
-See gst_structure_set_name() for constraints on the @name parameter.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="structure_from_string"
- c:identifier="gst_structure_from_string"
- doc="Creates a #GstStructure from a string representation.
-If end is not NULL, a pointer to the place inside the given string
-where parsing ended will be returned.
-be parsed. Free with gst_structure_free() after use.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="string" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="structure_id_empty_new"
- c:identifier="gst_structure_id_empty_new"
- doc="Creates a new, empty #GstStructure with the given name as a GQuark.">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="quark" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- </parameters>
- </function>
- <function name="structure_id_new"
- c:identifier="gst_structure_id_new"
- doc="Creates a new #GstStructure with the given name as a GQuark, followed by
-fieldname quark, GType, argument(s) "triplets" in the same format as
-gst_structure_id_set(). Basically a convenience wrapper around
-gst_structure_id_empty_new() and gst_structure_id_set().
-The last variable argument must be NULL (or 0)."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="name_quark" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter name="field_quark" transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- <function name="tag_exists"
- c:identifier="gst_tag_exists"
- doc="Checks if the given type is already registered.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_get_description"
- c:identifier="gst_tag_get_description"
- doc="Returns the human-readable description of this tag, You must not change or
-free this string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_get_flag"
- c:identifier="gst_tag_get_flag"
- doc="Gets the flag of @tag.">
- <return-value transfer-ownership="full">
- <type name="TagFlag" c:type="GstTagFlag"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_get_nick" c:identifier="gst_tag_get_nick">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_get_type"
- c:identifier="gst_tag_get_type"
- doc="Gets the #GType used for this tag.">
- <return-value transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_is_fixed"
- c:identifier="gst_tag_is_fixed"
- doc="Checks if the given tag is fixed. A fixed tag can only contain one value.
-Unfixed tags can contain lists of values.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_list_copy_value"
- c:identifier="gst_tag_list_copy_value"
- doc="Copies the contents for the given tag into the value,
-merging multiple values into one if multiple values are associated
-with the tag.
-You must g_value_unset() the value after use.
-given list.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <type name="TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_merge_strings_with_comma"
- c:identifier="gst_tag_merge_strings_with_comma"
- doc="This is a convenience function for the func argument of gst_tag_register().
-It concatenates all given strings using a comma. The tag must be registered
-as a G_TYPE_STRING or this function will fail.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="src" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_merge_use_first"
- c:identifier="gst_tag_merge_use_first"
- doc="This is a convenience function for the func argument of gst_tag_register().
-It creates a copy of the first value from the list.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="src" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tag_register"
- c:identifier="gst_tag_register"
- doc="Registers a new tag type for the use with GStreamer's type system. If a type
-with that name is already registered, that one is used.
-The old registration may have used a different type however. So don't rely
-on your supplied values.
-that there can only be one single value for this tag in a tag list and
-any additional values will silenty be discarded when being added (unless
-#GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or
-#GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new
-value will replace the old one in the list).
-The merge function will be called from gst_tag_list_copy_value() when
-it is required that one or more values for a tag be condensed into
-one single value. This may happen from gst_tag_list_get_string(),
-gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen
-exactly in that case depends on how the tag was registered and if a
-merge function was supplied and if so which one.
-gst_tag_merge_strings_with_comma().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="flag" transfer-ownership="none">
- <type name="TagFlag" c:type="GstTagFlag"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="nick" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="blurb" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="trace_read_tsc"
- c:identifier="gst_trace_read_tsc"
- doc="Read a platform independent timer value that can be used in
-benchmarks.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dst" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_find_register"
- c:identifier="gst_type_find_register"
- doc="passing NULL only works in GStreamer 0.10.16 and later)
-succeeds
-is unloaded.
-is unloaded.
-Registers a new typefind function to be used for typefinding. After
-registering this function will be available for typefinding.
-This function is typically called during an element's plugin initialization.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="plugin" transfer-ownership="none">
- <type name="Plugin" c:type="GstPlugin*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="rank"
- transfer-ownership="none"
- doc="of this typefind function">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
- </parameter>
- <parameter name="extensions" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="possible_caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="data_notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_register_static_full"
- c:identifier="gst_type_register_static_full"
- doc="derive from
-Location of the default vtable inititalization function for interface
-types. (optional)
-Location of the default vtable finalization function for interface types.
-(optional)
-instantiatable types only).
-memory for (0 indicates no caching). Ignored on recent GLib's.
-for instantiatable types only).
-GValues of this type (usually only useful for fundamental types).
-Helper function which constructs a #GTypeInfo structure and registers a
-GType, but which generates less linker overhead than a static const
-#GTypeInfo structure. For further details of the parameters, please see
-#GTypeInfo in the GLib documentation.
-Registers type_name as the name of a new static type derived from
-parent_type. The value of flags determines the nature (e.g. abstract or
-not) of the type. It works by filling a GTypeInfo struct and calling
-g_type_register_static()."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </return-value>
- <parameters>
- <parameter name="parent_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="class_size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="base_init" transfer-ownership="none" scope="call">
- <type name="GObject.BaseInitFunc" c:type="GBaseInitFunc"/>
- </parameter>
- <parameter name="base_finalize" transfer-ownership="none" scope="call">
- <type name="GObject.BaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
- </parameter>
- <parameter name="class_init" transfer-ownership="none" scope="call">
- <type name="GObject.ClassInitFunc" c:type="GClassInitFunc"/>
- </parameter>
- <parameter name="class_finalize"
- transfer-ownership="none"
- scope="call"
- closure="7">
- <type name="GObject.ClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
- </parameter>
- <parameter name="class_data" transfer-ownership="none">
- <type name="any" c:type="gconstpointer"/>
- </parameter>
- <parameter name="instance_size"
- transfer-ownership="none"
- doc="structure (required for">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="n_preallocs"
- transfer-ownership="none"
- doc="instances to reserve">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- <parameter name="instance_init" transfer-ownership="none" scope="call">
- <type name="GObject.InstanceInitFunc" c:type="GInstanceInitFunc"/>
- </parameter>
- <parameter name="value_table" transfer-ownership="none">
- <type name="GObject.TypeValueTable" c:type="GTypeValueTable*"/>
- </parameter>
- <parameter name="flags" transfer-ownership="none">
- <type name="GObject.TypeFlags" c:type="GTypeFlags"/>
- </parameter>
- </parameters>
- </function>
- <function name="update_registry"
- c:identifier="gst_update_registry"
- doc="Forces GStreamer to re-scan its plugin paths and update the default
-plugin registry.
-Applications will almost never need to call this function, it is only
-useful if the application knows new plugins have been installed (or old
-ones removed) since the start of the application (or, to be precise, the
-first call to gst_init()) and the application wants to make use of any
-newly-installed plugins without restarting the application.
-Applications should assume that the registry update is neither atomic nor
-thread-safe and should therefore not have any dynamic pipelines running
-(including the playbin and decodebin elements) and should also not create
-any elements or access the GStreamer registry while the update is in
-progress.
-Note that this function may block for a significant amount of time.
-imply that there were changes), otherwise %FALSE."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="uri_construct"
- c:identifier="gst_uri_construct"
- doc="Constructs a URI for a given valid protocol and location.
-is not valid, or the given location is NULL.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="location" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_get_location"
- c:identifier="gst_uri_get_location"
- doc="Extracts the location out of a given valid URI, ie. the protocol and "://"
-are stripped from the URI, which means that the location returned includes
-the hostname if one is specified. The returned string must be freed using
-g_free().
-the URI does not contain a location, an empty string is returned.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_get_protocol"
- c:identifier="gst_uri_get_protocol"
- doc="Extracts the protocol out of a given valid URI. The returned string must be
-freed using g_free().">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_has_protocol"
- c:identifier="gst_uri_has_protocol"
- doc="Checks if the protocol of a given valid URI matches @protocol."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_is_valid"
- c:identifier="gst_uri_is_valid"
- doc="Tests if the given string is a valid URI identifier. URIs start with a valid
-scheme followed by ":" and maybe a string identifying the location.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_protocol_is_supported"
- c:identifier="gst_uri_protocol_is_supported"
- doc="Checks if an element exists that supports the given URI protocol. Note
-that a positive return value does not imply that a subsequent call to
-gst_element_make_from_uri() is guaranteed to work."
- version="0.10.13">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="URIType" c:type="GstURIType"/>
- </parameter>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_protocol_is_valid"
- c:identifier="gst_uri_protocol_is_valid"
- doc="Tests if the given string is a valid protocol identifier. Protocols
-must consist of alphanumeric characters, '+', '-' and '.' and must
-start with a alphabetic character. See RFC 3986 Section 3.1.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_array_binary_search"
- c:identifier="gst_util_array_binary_search"
- doc="Searches inside @array for @search_data by using the comparison function
-As @search_data is always passed as second argument to @search_func it's
-not required that @search_data has the same type as the array elements.
-The complexity of this search function is O(log (num_elements))."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="num_elements" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="element_size" transfer-ownership="none">
- <type name="size_t" c:type="gsize"/>
- </parameter>
- <parameter name="search_func" transfer-ownership="none" scope="call">
- <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
- </parameter>
- <parameter name="mode" transfer-ownership="none">
- <type name="SearchMode" c:type="GstSearchMode"/>
- </parameter>
- <parameter name="search_data" transfer-ownership="none">
- <type name="any" c:type="gconstpointer"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_double_to_fraction"
- c:identifier="gst_util_double_to_fraction"
- doc="Transforms a #gdouble to a fraction and simplifies
-the result."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="dest_n" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="dest_d" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_dump_mem"
- c:identifier="gst_util_dump_mem"
- doc="Dumps the memory block into a hex representation. Useful for debugging.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mem" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_fraction_add"
- c:identifier="gst_util_fraction_add"
- doc="Adds the fractions @a_n/@a_d and @b_n/@b_d and stores
-the result in @res_n and @res_d."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="a_n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="a_d" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="b_n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="b_d" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="res_n" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="res_d" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_fraction_multiply"
- c:identifier="gst_util_fraction_multiply"
- doc="Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores
-the result in @res_n and @res_d."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="a_n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="a_d" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="b_n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="b_d" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="res_n" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="res_d" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_fraction_to_double"
- c:identifier="gst_util_fraction_to_double"
- doc="Transforms a #gdouble to a fraction and simplifies the result."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src_n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="src_d" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="dest" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_gdouble_to_guint64"
- c:identifier="gst_util_gdouble_to_guint64">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_get_timestamp"
- c:identifier="gst_util_get_timestamp"
- doc="Get a timestamp as GstClockTime to be used for interval meassurements.
-The timestamp should not be interpreted in any other way."
- version="0.10.16">
- <return-value transfer-ownership="full">
- <type name="ClockTime" c:type="GstClockTime"/>
- </return-value>
- </function>
- <function name="util_greatest_common_divisor"
- c:identifier="gst_util_greatest_common_divisor"
- doc="Calculates the greatest common divisor of @a
-and @b."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="a" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="b" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_guint64_to_gdouble"
- c:identifier="gst_util_guint64_to_gdouble">
- <return-value transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_seqnum_compare"
- c:identifier="gst_util_seqnum_compare"
- doc="Compare two sequence numbers, handling wraparound.
-The current implementation just returns (gint32)(@s1 - @s2).
-positive number if @s1 is after @s2."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </return-value>
- <parameters>
- <parameter name="s1" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="s2" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_seqnum_next"
- c:identifier="gst_util_seqnum_next"
- doc="Return a constantly incrementing sequence number.
-This function is used internally to GStreamer to be able to determine which
-events and messages are "the same". For example, elements may set the seqnum
-on a segment-done message to be the same as that of the last seek event, to
-indicate that event and the message correspond to the same segment.
-overflow back to 0 at some point. Use gst_util_seqnum_compare() to make sure
-you handle wraparound correctly."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </function>
- <function name="util_set_object_arg"
- c:identifier="gst_util_set_object_arg"
- doc="Convertes the string value to the type of the objects argument and
-sets the argument with it.
-Note that this function silently returns if @object has no property named">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_set_value_from_string"
- c:identifier="gst_util_set_value_from_string"
- doc="Converts the string to the type of the value and
-sets the value with it.
-Note that this function is dangerous as it does not return any indication
-if the conversion worked or not.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value_str" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_uint64_scale"
- c:identifier="gst_util_uint64_scale"
- doc="Scale @val by the rational number @num / @denom, avoiding overflows and
-underflows and without loss of precision.
-This function can potentially be very slow if val and num are both
-greater than G_MAXUINT32.
-function returns G_MAXUINT64. If the result is not exactly
-representable as an integer it is truncated. See also
-gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(),
-gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
-gst_util_uint64_scale_int_ceil().">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="num" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="denom" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_uint64_scale_ceil"
- c:identifier="gst_util_uint64_scale_ceil"
- doc="Scale @val by the rational number @num / @denom, avoiding overflows and
-underflows and without loss of precision.
-This function can potentially be very slow if val and num are both
-greater than G_MAXUINT32.
-function returns G_MAXUINT64. If the result is not exactly
-representable as an integer, it is rounded up. See also
-gst_util_uint64_scale(), gst_util_uint64_scale_round(),
-gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
-gst_util_uint64_scale_int_ceil().">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="num" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="denom" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_uint64_scale_int"
- c:identifier="gst_util_uint64_scale_int"
- doc="Scale @val by the rational number @num / @denom, avoiding overflows and
-underflows and without loss of precision. @num must be non-negative and
-function returns G_MAXUINT64. If the result is not exactly
-representable as an integer, it is truncated. See also
-gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(),
-gst_util_uint64_scale(), gst_util_uint64_scale_round(),
-gst_util_uint64_scale_ceil().">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none" doc="to scale.">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="num" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="denom" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_uint64_scale_int_ceil"
- c:identifier="gst_util_uint64_scale_int_ceil"
- doc="Scale @val by the rational number @num / @denom, avoiding overflows and
-underflows and without loss of precision. @num must be non-negative and
-function returns G_MAXUINT64. If the result is not exactly
-representable as an integer, it is rounded up. See also
-gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
-gst_util_uint64_scale(), gst_util_uint64_scale_round(),
-gst_util_uint64_scale_ceil().">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none" doc="to scale.">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="num" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="denom" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_uint64_scale_int_round"
- c:identifier="gst_util_uint64_scale_int_round"
- doc="Scale @val by the rational number @num / @denom, avoiding overflows and
-underflows and without loss of precision. @num must be non-negative and
-function returns G_MAXUINT64. If the result is not exactly
-representable as an integer, it is rounded to the nearest integer
-(half-way cases are rounded up). See also gst_util_uint64_scale_int(),
-gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(),
-gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil().">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none" doc="to scale.">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="num" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="denom" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="util_uint64_scale_round"
- c:identifier="gst_util_uint64_scale_round"
- doc="Scale @val by the rational number @num / @denom, avoiding overflows and
-underflows and without loss of precision.
-This function can potentially be very slow if val and num are both
-greater than G_MAXUINT32.
-function returns G_MAXUINT64. If the result is not exactly
-representable as an integer, it is rounded to the nearest integer
-(half-way cases are rounded up). See also gst_util_uint64_scale(),
-gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(),
-gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil().">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="num" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="denom" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_append_value"
- c:identifier="gst_value_array_append_value"
- doc="Appends @append_value to the GstValueArray in @value.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="append_value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_get_size"
- c:identifier="gst_value_array_get_size"
- doc="Gets the number of values contained in @value.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_get_value"
- c:identifier="gst_value_array_get_value"
- doc="Gets the value that is a member of the array contained in @value and
-has the index @index.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_prepend_value"
- c:identifier="gst_value_array_prepend_value"
- doc="Prepends @prepend_value to the GstValueArray in @value.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="prepend_value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_can_compare"
- c:identifier="gst_value_can_compare"
- doc="Determines if @value1 and @value2 can be compared.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_can_intersect"
- c:identifier="gst_value_can_intersect"
- doc="Determines if intersecting two values will produce a valid result.
-Two values will produce a valid intersection if they have the same
-type, or if there is a method (registered by
-gst_value_register_intersect_func()) to calculate the intersection.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_can_subtract"
- c:identifier="gst_value_can_subtract"
- doc="Checks if it's possible to subtract @subtrahend from @minuend.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="minuend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="subtrahend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_can_union"
- c:identifier="gst_value_can_union"
- doc="Determines if @value1 and @value2 can be non-trivially unioned.
-Any two values can be trivially unioned by adding both of them
-to a GstValueList. However, certain types have the possibility
-to be unioned in a simpler way. For example, an integer range
-and an integer can be unioned if the integer is a subset of the
-integer range. If there is the possibility that two values can
-be unioned, this function returns TRUE.
-be unioned.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_compare"
- c:identifier="gst_value_compare"
- doc="Compares @value1 and @value2. If @value1 and @value2 cannot be
-compared, the function returns GST_VALUE_UNORDERED. Otherwise,
-if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned.
-If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned.
-If the values are equal, GST_VALUE_EQUAL is returned.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_deserialize"
- c:identifier="gst_value_deserialize"
- doc="Tries to deserialize a string into the type specified by the given GValue.
-If the operation succeeds, TRUE is returned, FALSE otherwise.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="src" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_dup_mini_object"
- c:identifier="gst_value_dup_mini_object"
- doc="Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue,
-increasing its reference count."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_fraction_multiply"
- c:identifier="gst_value_fraction_multiply"
- doc="Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets">
- <return-value transfer-ownership="none" doc="TRUE otherwise.">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="product" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="factor1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="factor2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_fraction_subtract"
- c:identifier="gst_value_fraction_subtract"
- doc="Subtracts the @subtrahend from the @minuend and sets @dest to the result.">
- <return-value transfer-ownership="none" doc="TRUE otherwise.">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="minuend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="subtrahend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_caps"
- c:identifier="gst_value_get_caps"
- doc="Gets the contents of @value.">
- <return-value transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_date"
- c:identifier="gst_value_get_date"
- doc="Gets the contents of @value.">
- <return-value transfer-ownership="none">
- <type name="GLib.Date" c:type="GDate*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_double_range_max"
- c:identifier="gst_value_get_double_range_max"
- doc="Gets the maximum of the range specified by @value.">
- <return-value transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_double_range_min"
- c:identifier="gst_value_get_double_range_min"
- doc="Gets the minimum of the range specified by @value.">
- <return-value transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_fourcc"
- c:identifier="gst_value_get_fourcc"
- doc="Gets the #guint32 fourcc contained in @value.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_fraction_denominator"
- c:identifier="gst_value_get_fraction_denominator"
- doc="Gets the denominator of the fraction specified by @value.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_fraction_numerator"
- c:identifier="gst_value_get_fraction_numerator"
- doc="Gets the numerator of the fraction specified by @value.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_fraction_range_max"
- c:identifier="gst_value_get_fraction_range_max"
- doc="Gets the maximum of the range specified by @value.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_fraction_range_min"
- c:identifier="gst_value_get_fraction_range_min"
- doc="Gets the minimum of the range specified by @value.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_int_range_max"
- c:identifier="gst_value_get_int_range_max"
- doc="Gets the maximum of the range specified by @value.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_int_range_min"
- c:identifier="gst_value_get_int_range_min"
- doc="Gets the minimum of the range specified by @value.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_mini_object"
- c:identifier="gst_value_get_mini_object"
- doc="Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue.
-Does not increase the refcount of the returned object.">
- <return-value transfer-ownership="full">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_get_structure"
- c:identifier="gst_value_get_structure"
- doc="Gets the contents of @value."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_init_and_copy"
- c:identifier="gst_value_init_and_copy"
- doc="Initialises the target value to be of the same type as source and then copies
-the contents from source to target.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="src" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_intersect"
- c:identifier="gst_value_intersect"
- doc="intersection value
-Calculates the intersection of two values. If the values have
-a non-empty intersection, the value representing the intersection
-is placed in @dest. If the intersection is non-empty, @dest is
-not modified.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_is_fixed"
- c:identifier="gst_value_is_fixed"
- doc="Tests if the given GValue, if available in a GstStructure (or any other
-ranges) value.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_list_append_value"
- c:identifier="gst_value_list_append_value"
- doc="Appends @append_value to the GstValueList in @value.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="append_value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_list_concat"
- c:identifier="gst_value_list_concat"
- doc="Concatenates copies of @value1 and @value2 into a list. Values that are not
-of type #GST_TYPE_LIST are treated as if they were lists of length 1.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_list_get_size"
- c:identifier="gst_value_list_get_size"
- doc="Gets the number of values contained in @value.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_list_get_value"
- c:identifier="gst_value_list_get_value"
- doc="Gets the value that is a member of the list contained in @value and
-has the index @index.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="index" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_list_prepend_value"
- c:identifier="gst_value_list_prepend_value"
- doc="Prepends @prepend_value to the GstValueList in @value.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="prepend_value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_register"
- c:identifier="gst_value_register"
- doc="Registers functions to perform calculations on #GValue items of a given
-type. Each type can only be added once.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="table" transfer-ownership="none">
- <type name="ValueTable" c:type="GstValueTable*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_register_intersect_func"
- c:identifier="gst_value_register_intersect_func"
- doc="Registers a function that is called to calculate the intersection
-of the values having the types @type1 and @type2.
-Intersect functions should be registered at startup before any pipelines are
-started, as gst_value_register_intersect_func() is not thread-safe and
-cannot be used at the same time as gst_value_intersect() or
-gst_value_can_intersect().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type1" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type2" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="ValueIntersectFunc" c:type="GstValueIntersectFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_register_subtract_func"
- c:identifier="gst_value_register_subtract_func"
- doc="Registers @func as a function capable of subtracting the values of
-Subtract functions should be registered at startup before any pipelines are
-started, as gst_value_register_subtract_func() is not thread-safe and
-cannot be used at the same time as gst_value_subtract().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="minuend_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="subtrahend_type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="ValueSubtractFunc" c:type="GstValueSubtractFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_register_union_func"
- c:identifier="gst_value_register_union_func"
- doc="Registers a union function that can create a union between #GValue items
-of the type @type1 and @type2.
-Union functions should be registered at startup before any pipelines are
-started, as gst_value_register_union_func() is not thread-safe and cannot
-be used at the same time as gst_value_union() or gst_value_can_union().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type1" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="type2" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="ValueUnionFunc" c:type="GstValueUnionFunc"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_serialize"
- c:identifier="gst_value_serialize"
- doc="tries to transform the given @value into a string representation that allows
-getting back this string later on using gst_value_deserialize().">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_caps"
- c:identifier="gst_value_set_caps"
- doc="Sets the contents of @value to @caps. The actual
-#GstCaps structure is copied before it is used.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_date"
- c:identifier="gst_value_set_date"
- doc="Sets the contents of @value to coorespond to @date. The actual
-#GDate structure is copied before it is used.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="date" transfer-ownership="none">
- <type name="GLib.Date" c:type="GDate*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_double_range"
- c:identifier="gst_value_set_double_range"
- doc="Sets @value to the range specified by @start and @end.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_fourcc"
- c:identifier="gst_value_set_fourcc"
- doc="Sets @value to @fourcc.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="fourcc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_fraction"
- c:identifier="gst_value_set_fraction"
- doc="Sets @value to the fraction specified by @numerator over @denominator.
-The fraction gets reduced to the smallest numerator and denominator,
-and if necessary the sign is moved to the numerator.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="numerator" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="denominator" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_fraction_range"
- c:identifier="gst_value_set_fraction_range"
- doc="Sets @value to the range specified by @start and @end.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_fraction_range_full"
- c:identifier="gst_value_set_fraction_range_full"
- doc="Sets @value to the range specified by @numerator_start/@denominator_start
-and @numerator_end/@denominator_end.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="numerator_start" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="denominator_start" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="numerator_end" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="denominator_end" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_int_range"
- c:identifier="gst_value_set_int_range"
- doc="Sets @value to the range specified by @start and @end.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_mini_object"
- c:identifier="gst_value_set_mini_object"
- doc="Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to
-The caller retains ownership of the reference.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="mini_object" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_set_structure"
- c:identifier="gst_value_set_structure"
- doc="Sets the contents of @value to @structure. The actual"
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_subtract"
- c:identifier="gst_value_subtract"
- doc="Subtracts @subtrahend from @minuend and stores the result in @dest.
-Note that this means subtraction as in sets, not as in mathematics.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="minuend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="subtrahend" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_take_mini_object"
- c:identifier="gst_value_take_mini_object"
- doc="Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to
-Takes over the ownership of the caller's reference to @mini_object;
-the caller doesn't have to unref it any more.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="mini_object" transfer-ownership="none">
- <type name="MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_union"
- c:identifier="gst_value_union"
- doc="Creates a GValue corresponding to the union of @value1 and @value2.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value1" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- <parameter name="value2" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="version"
- c:identifier="gst_version"
- doc="Gets the version number of the GStreamer library.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="major" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="minor" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="micro" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="nano" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="version_string"
- c:identifier="gst_version_string"
- doc="This function returns a string that is useful for describing this version">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstBase" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-base-0.10"/>
- <c:include name="gst/app/gstappbuffer.h"/>
- <c:include name="gst/app/gstappsink.h"/>
- <c:include name="gst/app/gstappsrc.h"/>
- <namespace name="GstApp"
- version="0.10"
- shared-library="libgstapp-0.10.so.0"
- c:prefix="Gst">
- <record name="AppBuffer" c:type="GstAppBuffer">
- <field name="buffer" writable="1">
- <type name="Gst.Buffer" c:type="GstBuffer"/>
- </field>
- <field name="finalize" writable="1">
- <type name="AppBufferFinalizeFunc" c:type="GstAppBufferFinalizeFunc"/>
- </field>
- <field name="priv" writable="1">
- <type name="any" c:type="void*"/>
- </field>
- <constructor name="new" c:identifier="gst_app_buffer_new">
- <return-value transfer-ownership="full">
- <type name="AppBuffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="void*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="finalize" transfer-ownership="none" scope="call">
- <type name="AppBufferFinalizeFunc"
- c:type="GstAppBufferFinalizeFunc"/>
- </parameter>
- <parameter name="priv" transfer-ownership="none">
- <type name="any" c:type="void*"/>
- </parameter>
- </parameters>
- </constructor>
- </record>
- <record name="AppBufferClass" c:type="GstAppBufferClass">
- <field name="buffer_class" writable="1">
- <type name="Gst.BufferClass" c:type="GstBufferClass"/>
- </field>
- </record>
- <callback name="AppBufferFinalizeFunc" c:type="GstAppBufferFinalizeFunc">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="priv" transfer-ownership="none">
- <type name="any" c:type="void*"/>
- </parameter>
- </parameters>
- </callback>
- <class name="AppSink"
- c:type="GstAppSink"
- parent="GstBase.BaseSink"
- glib:type-name="GstAppSink"
- glib:get-type="gst_app_sink_get_type"
- glib:type-struct="AppSinkClass">
- <implements name="Gst.URIHandler"/>
- <method name="set_caps"
- c:identifier="gst_app_sink_set_caps"
- doc="Set the capabilities on the appsink element. This function takes
-a copy of the caps structure. After calling this method, the sink will only
-accept caps that match @caps. If @caps is non-fixed, you must check the caps
-on the buffers to get the actual used caps."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_caps"
- c:identifier="gst_app_sink_get_caps"
- doc="Get the configured caps on @appsink."
- version="0.10.22">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="is_eos"
- c:identifier="gst_app_sink_is_eos"
- doc="Check if @appsink is EOS, which is when no more buffers can be pulled because
-an EOS event was received.
-This function also returns %TRUE when the appsink is not in the PAUSED or
-PLAYING state."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_emit_signals"
- c:identifier="gst_app_sink_set_emit_signals"
- doc="Make appsink emit the "new-preroll" and "new-buffer" signals. This option is
-by default disabled because signal emission is expensive and unneeded when
-the application prefers to operate in pull mode."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="emit" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_emit_signals"
- c:identifier="gst_app_sink_get_emit_signals"
- doc="Check if appsink will emit the "new-preroll" and "new-buffer" signals.
-signals."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_max_buffers"
- c:identifier="gst_app_sink_set_max_buffers"
- doc="Set the maximum amount of buffers that can be queued in @appsink. After this
-amount of buffers are queued in appsink, any more buffers will block upstream
-elements until a buffer is pulled from @appsink."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="max" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_max_buffers"
- c:identifier="gst_app_sink_get_max_buffers"
- doc="Get the maximum amount of buffers that can be queued in @appsink."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="set_drop"
- c:identifier="gst_app_sink_set_drop"
- doc="Instruct @appsink to drop old buffers when the maximum amount of queued
-buffers is reached."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="drop" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_drop"
- c:identifier="gst_app_sink_get_drop"
- doc="Check if @appsink will drop old buffers when the maximum amount of queued
-buffers is reached.
-filled."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="pull_preroll"
- c:identifier="gst_app_sink_pull_preroll"
- doc="Get the last preroll buffer in @appsink. This was the buffer that caused the
-appsink to preroll in the PAUSED state. This buffer can be pulled many times
-and remains available to the application even after EOS.
-This function is typically used when dealing with a pipeline in the PAUSED
-state. Calling this function after doing a seek will give the buffer right
-after the seek position.
-Note that the preroll buffer will also be returned as the first buffer
-when calling gst_app_sink_pull_buffer().
-If an EOS event was received before any buffers, this function returns
-%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
-This function blocks until a preroll buffer or EOS is received or the appsink
-element is set to the READY/NULL state."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="pull_buffer"
- c:identifier="gst_app_sink_pull_buffer"
- doc="This function blocks until a buffer or EOS becomes available or the appsink
-element is set to the READY/NULL state.
-This function will only return buffers when the appsink is in the PLAYING
-state. All rendered buffers will be put in a queue so that the application
-can pull buffers at its own rate. Note that when the application does not
-pull buffers fast enough, the queued buffers could consume a lot of memory,
-especially when dealing with raw video frames.
-If an EOS event was received before any buffers, this function returns
-%NULL. Use gst_app_sink_is_eos () to check for the EOS condition."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="pull_buffer_list"
- c:identifier="gst_app_sink_pull_buffer_list"
- doc="This function blocks until a buffer list or EOS becomes available or the
-appsink element is set to the READY/NULL state.
-This function will only return buffer lists when the appsink is in the
-PLAYING state. All rendered buffer lists will be put in a queue so that
-the application can pull buffer lists at its own rate. Note that when
-the application does not pull buffer lists fast enough, the queued buffer
-lists could consume a lot of memory, especially when dealing with raw
-video frames.
-If an EOS event was received before any buffer lists, this function returns
-%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.">
- <return-value transfer-ownership="full">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </return-value>
- </method>
- <method name="set_callbacks"
- c:identifier="gst_app_sink_set_callbacks"
- doc="Set callbacks which will be executed for each new preroll, new buffer and eos.
-This is an alternative to using the signals, it has lower overhead and is thus
-less expensive, but also less flexible.
-If callbacks are installed, no signals will be emited for performance
-reasons."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="callbacks" transfer-ownership="none">
- <type name="AppSinkCallbacks" c:type="GstAppSinkCallbacks*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <property name="caps" writable="1">
- <type name="Gst.Caps" c:type="GstCaps"/>
- </property>
- <property name="drop" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="emit-signals" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="eos">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="max-buffers" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <field name="basesink">
- <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
- </field>
- <field name="priv">
- <type name="AppSinkPrivate" c:type="GstAppSinkPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="eos"
- doc="Signal that the end-of-stream has been reached. This signal is emited from
-the steaming thread.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="new-buffer"
- doc="Signal that a new buffer is available.
-This signal is emited from the steaming thread and only when the
-"emit-signals" property is %TRUE.
-The new buffer can be retrieved with the "pull-buffer" action
-signal or gst_app_sink_pull_buffer() either from this signal callback
-or from any other thread.
-Note that this signal is only emited when the "emit-signals" property is
-set to %TRUE, which it is not by default for performance reasons.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="new-buffer-list"
- doc="Signal that a new bufferlist is available.
-This signal is emited from the steaming thread and only when the
-"emit-signals" property is %TRUE.
-The new buffer can be retrieved with the "pull-buffer-list" action
-signal or gst_app_sink_pull_buffe_listr() either from this signal callback
-or from any other thread.
-Note that this signal is only emited when the "emit-signals" property is
-set to %TRUE, which it is not by default for performance reasons.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="new-preroll"
- doc="Signal that a new preroll buffer is available.
-This signal is emited from the steaming thread and only when the
-"emit-signals" property is %TRUE.
-The new preroll buffer can be retrieved with the "pull-preroll" action
-signal or gst_app_sink_pull_preroll() either from this signal callback
-or from any other thread.
-Note that this signal is only emited when the "emit-signals" property is
-set to %TRUE, which it is not by default for performance reasons.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="pull-buffer"
- doc="This function blocks until a buffer or EOS becomes available or the appsink
-element is set to the READY/NULL state.
-This function will only return buffers when the appsink is in the PLAYING
-state. All rendered buffers will be put in a queue so that the application
-can pull buffers at its own rate.
-Note that when the application does not pull buffers fast enough, the
-queued buffers could consume a lot of memory, especially when dealing with
-raw video frames. It's possible to control the behaviour of the queue with
-the "drop" and "max-buffers" properties.
-If an EOS event was received before any buffers, this function returns
-%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer"/>
- </return-value>
- </glib:signal>
- <glib:signal name="pull-buffer-list"
- doc="This function blocks until a buffer list or EOS becomes available or the appsink
-element is set to the READY/NULL state.
-This function will only return bufferlists when the appsink is in the PLAYING
-state. All rendered bufferlists will be put in a queue so that the application
-can pull bufferlists at its own rate.
-Note that when the application does not pull bufferlists fast enough, the
-queued bufferlists could consume a lot of memory, especially when dealing with
-raw video frames. It's possible to control the behaviour of the queue with
-the "drop" and "max-buffers" properties.
-If an EOS event was received before any buffers, this function returns
-%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.">
- <return-value transfer-ownership="full">
- <type name="Gst.BufferList" c:type="GstBufferList"/>
- </return-value>
- </glib:signal>
- <glib:signal name="pull-preroll"
- doc="Get the last preroll buffer in @appsink. This was the buffer that caused the
-appsink to preroll in the PAUSED state. This buffer can be pulled many times
-and remains available to the application even after EOS.
-This function is typically used when dealing with a pipeline in the PAUSED
-state. Calling this function after doing a seek will give the buffer right
-after the seek position.
-Note that the preroll buffer will also be returned as the first buffer
-when calling gst_app_sink_pull_buffer() or the "pull-buffer" action signal.
-If an EOS event was received before any buffers, this function returns
-%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
-This function blocks until a preroll buffer or EOS is received or the appsink
-element is set to the READY/NULL state.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer"/>
- </return-value>
- </glib:signal>
- </class>
- <record name="AppSinkCallbacks"
- c:type="GstAppSinkCallbacks"
- doc="is called from the steaming thread.
-This callback is called from the steaming thread.
-The new preroll buffer can be retrieved with
-gst_app_sink_pull_preroll() either from this callback
-or from any other thread.
-This callback is called from the steaming thread.
-The new buffer can be retrieved with
-gst_app_sink_pull_buffer() either from this callback
-or from any other thread.
-This callback is called from the steaming thread.
-The new bufferlist can be retrieved with
-gst_app_sink_pull_buffer_list() either from this callback
-or from any other thread.
-A set of callbacks that can be installed on the appsink with
-gst_app_sink_set_callbacks()."
- version="0.10.23">
- <field name="eos">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="new_preroll">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="new_buffer">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="new_buffer_list">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="AppSinkClass"
- c:type="GstAppSinkClass"
- glib:is-gtype-struct-for="AppSink">
- <field name="basesink_class">
- <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
- </field>
- <field name="eos">
- <callback name="eos" c:type="eos">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="new_preroll">
- <callback name="new_preroll" c:type="new_preroll">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="new_buffer">
- <callback name="new_buffer" c:type="new_buffer">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="pull_preroll">
- <callback name="pull_preroll" c:type="pull_preroll">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="pull_buffer">
- <callback name="pull_buffer" c:type="pull_buffer">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="new_buffer_list">
- <callback name="new_buffer_list" c:type="new_buffer_list">
- <return-value transfer-ownership="full">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="pull_buffer_list">
- <callback name="pull_buffer_list" c:type="pull_buffer_list">
- <return-value transfer-ownership="full">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AppSink" c:type="GstAppSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="AppSinkPrivate" c:type="GstAppSinkPrivate">
- </record>
- <class name="AppSrc"
- c:type="GstAppSrc"
- parent="GstBase.BaseSrc"
- glib:type-name="GstAppSrc"
- glib:get-type="gst_app_src_get_type"
- glib:type-struct="AppSrcClass">
- <implements name="Gst.URIHandler"/>
- <method name="set_caps"
- c:identifier="gst_app_src_set_caps"
- doc="Set the capabilities on the appsrc element. This function takes
-a copy of the caps structure. After calling this method, the source will
-only produce caps that match @caps. @caps must be fixed and the caps on the
-buffers must match the caps or left NULL."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_caps"
- c:identifier="gst_app_src_get_caps"
- doc="Get the configured caps on @appsrc."
- version="0.10.22">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </method>
- <method name="set_size"
- c:identifier="gst_app_src_set_size"
- doc="Set the size of the stream in bytes. A value of -1 means that the size is
-not known."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_size"
- c:identifier="gst_app_src_get_size"
- doc="Get the size of the stream in bytes. A value of -1 means that the size is
-not known."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </return-value>
- </method>
- <method name="set_stream_type"
- c:identifier="gst_app_src_set_stream_type"
- doc="Set the stream type on @appsrc. For seekable streams, the "seek" signal must
-be connected to.
-A stream_type stream"
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="AppStreamType" c:type="GstAppStreamType"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_stream_type"
- c:identifier="gst_app_src_get_stream_type"
- doc="Get the stream type. Control the stream type of @appsrc
-with gst_app_src_set_stream_type()."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="AppStreamType" c:type="GstAppStreamType"/>
- </return-value>
- </method>
- <method name="set_max_bytes"
- c:identifier="gst_app_src_set_max_bytes"
- doc="Set the maximum amount of bytes that can be queued in @appsrc.
-After the maximum amount of bytes are queued, @appsrc will emit the
-"enough-data" signal."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="max" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_max_bytes"
- c:identifier="gst_app_src_get_max_bytes"
- doc="Get the maximum amount of bytes that can be queued in @appsrc."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- </method>
- <method name="set_latency"
- c:identifier="gst_app_src_set_latency"
- doc="Configure the @min and @max latency in @src. If @min is set to -1, the
-default latency calculations for pseudo-live sources will be used."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="min" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="max" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_latency"
- c:identifier="gst_app_src_get_latency"
- doc="Retrieve the min and max latencies in @min and @max respectively."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="min" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="max" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_emit_signals"
- c:identifier="gst_app_src_set_emit_signals"
- doc="Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is
-by default disabled because signal emission is expensive and unneeded when
-the application prefers to operate in pull mode."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="emit" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_emit_signals"
- c:identifier="gst_app_src_get_emit_signals"
- doc="Check if appsrc will emit the "new-preroll" and "new-buffer" signals.
-signals."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="push_buffer"
- c:identifier="gst_app_src_push_buffer"
- doc="Adds a buffer to the queue of buffers that the appsrc element will
-push to its source pad. This function takes ownership of the buffer.
-When the block property is TRUE, this function can block until free
-space becomes available in the queue.
-#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.
-#GST_FLOW_UNEXPECTED when EOS occured."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="end_of_stream"
- c:identifier="gst_app_src_end_of_stream"
- doc="Indicates to the appsrc element that the last buffer queued in the
-element is the last buffer of the stream.
-#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- </method>
- <method name="set_callbacks"
- c:identifier="gst_app_src_set_callbacks"
- doc="Set callbacks which will be executed when data is needed, enough data has
-been collected or when a seek should be performed.
-This is an alternative to using the signals, it has lower overhead and is thus
-less expensive, but also less flexible.
-If callbacks are installed, no signals will be emited for performance
-reasons."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="callbacks" transfer-ownership="none">
- <type name="AppSrcCallbacks" c:type="GstAppSrcCallbacks*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <property name="block" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="caps" writable="1">
- <type name="Gst.Caps" c:type="GstCaps"/>
- </property>
- <property name="emit-signals" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="format" writable="1">
- <type name="Gst.Format" c:type="GstFormat"/>
- </property>
- <property name="is-live" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="max-bytes" writable="1">
- <type name="uint64" c:type="guint64"/>
- </property>
- <property name="max-latency" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="min-latency" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="min-percent" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="size" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="stream-type" writable="1">
- <type name="AppStreamType" c:type="GstAppStreamType"/>
- </property>
- <field name="basesrc">
- <type name="GstBase.BaseSrc" c:type="GstBaseSrc"/>
- </field>
- <field name="priv">
- <type name="AppSrcPrivate" c:type="GstAppSrcPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="end-of-stream"
- doc="Notify @appsrc that no more buffer are available.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- </glib:signal>
- <glib:signal name="enough-data"
- doc="Signal that the source has enough data. It is recommended that the
-application stops calling push-buffer until the need-data signal is
-emited again to avoid excessive buffer queueing.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="need-data"
- doc="Signal that the source needs more data. In the callback or from another
-thread you should call push-buffer or end-of-stream.
-pushed into @appsrc.
-You can call push-buffer multiple times until the enough-data signal is
-fired.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="push-buffer"
- doc="Adds a buffer to the queue of buffers that the appsrc element will
-push to its source pad. This function does not take ownership of the
-buffer so the buffer needs to be unreffed after calling this function.
-When the block property is TRUE, this function can block until free space
-becomes available in the queue.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="seek-data"
- doc="Seek to the given offset. The next push-buffer should produce buffers from
-the new @offset.
-This callback is only called for seekable stream types.">
- <return-value transfer-ownership="full">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="AppSrcCallbacks"
- c:type="GstAppSrcCallbacks"
- doc="pushed to appsrc from this thread or another thread. @length is just a hint
-and when it is set to -1, any number of bytes can be pushed into @appsrc.
-application stops calling push-buffer until the need_data callback is
-emited again to avoid excessive buffer queueing.
-The next push-buffer should produce buffers from the new @offset.
-This callback is only called for seekable stream types.
-A set of callbacks that can be installed on the appsrc with
-gst_app_src_set_callbacks()."
- version="0.10.23">
- <field name="need_data">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="enough_data">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="seek_data">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="AppSrcClass"
- c:type="GstAppSrcClass"
- glib:is-gtype-struct-for="AppSrc">
- <field name="basesrc_class">
- <type name="GstBase.BaseSrcClass" c:type="GstBaseSrcClass"/>
- </field>
- <field name="need_data">
- <callback name="need_data" c:type="need_data">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AppSrc" c:type="GstAppSrc*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="enough_data">
- <callback name="enough_data" c:type="enough_data">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AppSrc" c:type="GstAppSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="seek_data">
- <callback name="seek_data" c:type="seek_data">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AppSrc" c:type="GstAppSrc*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="push_buffer">
- <callback name="push_buffer" c:type="push_buffer">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AppSrc" c:type="GstAppSrc*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="end_of_stream">
- <callback name="end_of_stream" c:type="end_of_stream">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AppSrc" c:type="GstAppSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="AppSrcPrivate" c:type="GstAppSrcPrivate">
- </record>
- <enumeration name="AppStreamType"
- doc="live stream.
-be very fast, such as data from a webserver.
-such as in a local file.
-The stream type."
- c:type="GstAppStreamType">
- <member name="stream"
- value="0"
- c:identifier="GST_APP_STREAM_TYPE_STREAM"/>
- <member name="seekable"
- value="1"
- c:identifier="GST_APP_STREAM_TYPE_SEEKABLE"/>
- <member name="random_access"
- value="2"
- c:identifier="GST_APP_STREAM_TYPE_RANDOM_ACCESS"/>
- </enumeration>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.app.ffi ;
-IN: gstreamer.app
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gstreamer.ffi ;
-IN: gstreamer.app.ffi
-
-<<
-"gstreamer.app" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstapp-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/app/GstApp-0.10.gir
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstBase" version="0.10"/>
- <include name="GstInterfaces" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-base-0.10"/>
- <package name="gstreamer-interfaces-0.10"/>
- <c:include name="gst/audio/audio-enumtypes.h"/>
- <c:include name="gst/audio/audio.h"/>
- <c:include name="gst/audio/gstaudioclock.h"/>
- <c:include name="gst/audio/gstaudiofilter.h"/>
- <c:include name="gst/audio/gstaudiosink.h"/>
- <c:include name="gst/audio/gstaudiosrc.h"/>
- <c:include name="gst/audio/gstbaseaudiosink.h"/>
- <c:include name="gst/audio/gstbaseaudiosrc.h"/>
- <c:include name="gst/audio/gstringbuffer.h"/>
- <c:include name="gst/audio/mixerutils.h"/>
- <c:include name="gst/audio/multichannel.h"/>
- <namespace name="GstAudio"
- version="0.10"
- shared-library="libgstaudio-0.10.so.0"
- c:prefix="Gst">
- <enumeration name="AudioChannelPosition"
- doc="from a sound card that records 1024 channels; mutually exclusive with
-any other channel position"
- glib:type-name="GstAudioChannelPosition"
- glib:get-type="gst_audio_channel_position_get_type"
- c:type="GstAudioChannelPosition">
- <member name="invalid"
- value="-1"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_INVALID"
- glib:nick="invalid"/>
- <member name="front_mono"
- value="0"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_MONO"
- glib:nick="front-mono"/>
- <member name="front_left"
- value="1"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT"
- glib:nick="front-left"/>
- <member name="front_right"
- value="2"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT"
- glib:nick="front-right"/>
- <member name="rear_center"
- value="3"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_CENTER"
- glib:nick="rear-center"/>
- <member name="rear_left"
- value="4"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_LEFT"
- glib:nick="rear-left"/>
- <member name="rear_right"
- value="5"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT"
- glib:nick="rear-right"/>
- <member name="lfe"
- value="6"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_LFE"
- glib:nick="lfe"/>
- <member name="front_center"
- value="7"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER"
- glib:nick="front-center"/>
- <member name="front_left_of_center"
- value="8"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER"
- glib:nick="front-left-of-center"/>
- <member name="front_right_of_center"
- value="9"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER"
- glib:nick="front-right-of-center"/>
- <member name="side_left"
- value="10"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT"
- glib:nick="side-left"/>
- <member name="side_right"
- value="11"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT"
- glib:nick="side-right"/>
- <member name="none"
- value="12"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_NONE"
- glib:nick="none"/>
- <member name="num"
- value="13"
- c:identifier="GST_AUDIO_CHANNEL_POSITION_NUM"
- glib:nick="num"/>
- </enumeration>
- <class name="AudioClock"
- c:type="GstAudioClock"
- doc="Opaque #GstAudioClock."
- parent="Gst.SystemClock"
- glib:type-name="GstAudioClock"
- glib:get-type="gst_audio_clock_get_type"
- glib:type-struct="AudioClockClass">
- <constructor name="new"
- c:identifier="gst_audio_clock_new"
- doc="Create a new #GstAudioClock instance. Whenever the clock time should be
-calculated it will call @func with @user_data. When @func returns
-#GST_CLOCK_TIME_NONE, the clock will return the last reported time.">
- <return-value transfer-ownership="full">
- <type name="AudioClock" c:type="GstClock*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="AudioClockGetTimeFunc"
- c:type="GstAudioClockGetTimeFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="reset"
- c:identifier="gst_audio_clock_reset"
- doc="Inform @clock that future calls to #GstAudioClockGetTimeFunc will return values
-starting from @time. The clock will update an internal offset to make sure that
-future calls to internal_time will return an increasing result as required by
-the #GstClock object.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_time"
- c:identifier="gst_audio_clock_get_time"
- doc="Report the time as returned by the #GstAudioClockGetTimeFunc without applying
-any offsets."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="adjust"
- c:identifier="gst_audio_clock_adjust"
- doc="Adjust @time with the internal offset of the audio clock."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <field name="clock">
- <type name="Gst.SystemClock" c:type="GstSystemClock"/>
- </field>
- <field name="func">
- <type name="AudioClockGetTimeFunc" c:type="GstAudioClockGetTimeFunc"/>
- </field>
- <field name="user_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="last_time">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="time_offset" writable="1">
- <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </union>
- </class>
- <record name="AudioClockClass"
- c:type="GstAudioClockClass"
- glib:is-gtype-struct-for="AudioClock">
- <field name="parent_class">
- <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="AudioClockGetTimeFunc"
- c:type="GstAudioClockGetTimeFunc"
- doc="This function will be called whenever the current clock time needs to be
-calculated. If this function returns #GST_CLOCK_TIME_NONE, the last reported
-time will be returned by the clock.
-be used.">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Gst.Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <bitfield name="AudioFieldFlag"
- doc="Do not use anymore."
- deprecated="use gst_structure_set() directly"
- c:type="GstAudioFieldFlag">
- <member name="rate" value="1" c:identifier="GST_AUDIO_FIELD_RATE"/>
- <member name="channels"
- value="2"
- c:identifier="GST_AUDIO_FIELD_CHANNELS"/>
- <member name="endianness"
- value="4"
- c:identifier="GST_AUDIO_FIELD_ENDIANNESS"/>
- <member name="width" value="8" c:identifier="GST_AUDIO_FIELD_WIDTH"/>
- <member name="depth" value="16" c:identifier="GST_AUDIO_FIELD_DEPTH"/>
- <member name="signed" value="32" c:identifier="GST_AUDIO_FIELD_SIGNED"/>
- </bitfield>
- <class name="AudioFilter"
- c:type="GstAudioFilter"
- doc="Base class for audio filters with the same format for input and output."
- version="0.10.12"
- parent="GstBase.BaseTransform"
- abstract="1"
- glib:type-name="GstAudioFilter"
- glib:get-type="gst_audio_filter_get_type"
- glib:type-struct="AudioFilterClass">
- <virtual-method name="setup">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <field name="basetransform">
- <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
- </field>
- <field name="format">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="AudioFilterClass"
- c:type="GstAudioFilterClass"
- glib:is-gtype-struct-for="AudioFilter"
- doc="In addition to the @setup virtual function, you should also override the
-GstBaseTransform::transform and/or GstBaseTransform::transform_ip virtual
-function."
- version="0.10.12">
- <field name="basetransformclass">
- <type name="GstBase.BaseTransformClass"
- c:type="GstBaseTransformClass"/>
- </field>
- <field name="setup">
- <callback name="setup" c:type="setup">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none">
- <type name="AudioFilter" c:type="GstAudioFilter*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <method name="add_pad_templates"
- c:identifier="gst_audio_filter_class_add_pad_templates"
- doc="Convenience function to add pad templates to this element class, with
-This function is usually used from within a GObject base_init function."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="allowed_caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <callback name="AudioMixerFilterFunc"
- c:type="GstAudioMixerFilterFunc"
- doc="Function that will be called by gst_audio_default_registry_mixer_filter()
-so the caller can decide which mixer elements should be kept and returned.
-When the mixer element is passed to the callback function, it is opened
-and in READY state. If you decide to keep the element, you need to set it
-back to NULL state yourself (unless you want to keep it opened of course).">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="GstInterfaces.Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="AudioSink"
- c:type="GstAudioSink"
- doc="Opaque #GstAudioSink."
- parent="BaseAudioSink"
- glib:type-name="GstAudioSink"
- glib:get-type="gst_audio_sink_get_type"
- glib:type-struct="AudioSinkClass">
- <virtual-method name="open">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="prepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="unprepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="close">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="write">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="delay">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </virtual-method>
- <virtual-method name="reset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </virtual-method>
- <field name="element">
- <type name="BaseAudioSink" c:type="GstBaseAudioSink"/>
- </field>
- <field name="thread">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="AudioSinkClass"
- c:type="GstAudioSinkClass"
- glib:is-gtype-struct-for="AudioSink"
- doc="This function is also used to check if the device is available.
-drive the synchronisation.
-samples from the device.
-#GstAudioSink class. Override the vmethods to implement functionality.">
- <field name="parent_class">
- <type name="BaseAudioSinkClass" c:type="GstBaseAudioSinkClass"/>
- </field>
- <field name="open">
- <callback name="open" c:type="open">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="prepare">
- <callback name="prepare" c:type="prepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unprepare">
- <callback name="unprepare" c:type="unprepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="close">
- <callback name="close" c:type="close">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="write">
- <callback name="write" c:type="write">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="delay">
- <callback name="delay" c:type="delay">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="reset">
- <callback name="reset" c:type="reset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="AudioSink" c:type="GstAudioSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="AudioSrc"
- c:type="GstAudioSrc"
- doc="Base class for simple audio sources."
- parent="BaseAudioSrc"
- glib:type-name="GstAudioSrc"
- glib:get-type="gst_audio_src_get_type"
- glib:type-struct="AudioSrcClass">
- <virtual-method name="open">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="prepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="unprepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="close">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="read">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="delay">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </virtual-method>
- <virtual-method name="reset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </virtual-method>
- <field name="element">
- <type name="BaseAudioSrc" c:type="GstBaseAudioSrc"/>
- </field>
- <field name="thread">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="AudioSrcClass"
- c:type="GstAudioSrcClass"
- glib:is-gtype-struct-for="AudioSrc"
- doc="#GstAudioSrc class. Override the vmethod to implement
-functionality.">
- <field name="parent_class">
- <type name="BaseAudioSrcClass" c:type="GstBaseAudioSrcClass"/>
- </field>
- <field name="open">
- <callback name="open" c:type="open">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="prepare">
- <callback name="prepare" c:type="prepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unprepare">
- <callback name="unprepare" c:type="unprepare">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="close">
- <callback name="close" c:type="close">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="read">
- <callback name="read" c:type="read">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="delay">
- <callback name="delay" c:type="delay">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="reset">
- <callback name="reset" c:type="reset">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="AudioSrc" c:type="GstAudioSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="BaseAudioSink"
- c:type="GstBaseAudioSink"
- doc="Opaque #GstBaseAudioSink."
- parent="GstBase.BaseSink"
- glib:type-name="GstBaseAudioSink"
- glib:get-type="gst_base_audio_sink_get_type"
- glib:type-struct="BaseAudioSinkClass">
- <virtual-method name="create_ringbuffer" invoker="create_ringbuffer">
- <return-value transfer-ownership="full">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </return-value>
- </virtual-method>
- <method name="create_ringbuffer"
- c:identifier="gst_base_audio_sink_create_ringbuffer"
- doc="Create and return the #GstRingBuffer for @sink. This function will call the
-::create_ringbuffer vmethod and will set @sink as the parent of the returned
-buffer (see gst_object_set_parent()).">
- <return-value transfer-ownership="full">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </return-value>
- </method>
- <method name="set_provide_clock"
- c:identifier="gst_base_audio_sink_set_provide_clock"
- doc="Controls whether @sink will provide a clock or not. If @provide is %TRUE,
-gst_element_provide_clock() will return a clock that reflects the datarate
-of @sink. If @provide is %FALSE, gst_element_provide_clock() will return NULL."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="provide" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_provide_clock"
- c:identifier="gst_base_audio_sink_get_provide_clock"
- doc="Queries whether @sink will provide a clock or not. See also
-gst_base_audio_sink_set_provide_clock."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_slave_method"
- c:identifier="gst_base_audio_sink_set_slave_method"
- doc="Controls how clock slaving will be performed in @sink."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="BaseAudioSinkSlaveMethod"
- c:type="GstBaseAudioSinkSlaveMethod"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_slave_method"
- c:identifier="gst_base_audio_sink_get_slave_method"
- doc="Get the current slave method used by @sink."
- version="0.10.16">
- <return-value transfer-ownership="full">
- <type name="BaseAudioSinkSlaveMethod"
- c:type="GstBaseAudioSinkSlaveMethod"/>
- </return-value>
- </method>
- <property name="buffer-time" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="can-activate-pull" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="drift-tolerance" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="latency-time" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="provide-clock" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="slave-method" writable="1">
- <type name="BaseAudioSinkSlaveMethod"
- c:type="GstBaseAudioSinkSlaveMethod"/>
- </property>
- <field name="element">
- <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
- </field>
- <field name="ringbuffer">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </field>
- <field name="buffer_time">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="latency_time">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="next_sample">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="provide_clock">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="provided_clock">
- <type name="Gst.Clock" c:type="GstClock*"/>
- </field>
- <field name="priv">
- <type name="BaseAudioSinkPrivate" c:type="GstBaseAudioSinkPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="BaseAudioSinkClass"
- c:type="GstBaseAudioSinkClass"
- glib:is-gtype-struct-for="BaseAudioSink"
- doc="#GstBaseAudioSink class. Override the vmethod to implement
-functionality.">
- <field name="parent_class">
- <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
- </field>
- <field name="create_ringbuffer">
- <callback name="create_ringbuffer" c:type="create_ringbuffer">
- <return-value transfer-ownership="full">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseAudioSink" c:type="GstBaseAudioSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseAudioSinkPrivate" c:type="GstBaseAudioSinkPrivate">
- </record>
- <enumeration name="BaseAudioSinkSlaveMethod"
- doc="drifts too much.
-Different possible clock slaving algorithms used when the internal audio
-clock is not selected as the pipeline master clock."
- glib:type-name="GstBaseAudioSinkSlaveMethod"
- glib:get-type="gst_base_audio_sink_slave_method_get_type"
- c:type="GstBaseAudioSinkSlaveMethod">
- <member name="resample"
- value="0"
- c:identifier="GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE"
- glib:nick="resample"/>
- <member name="skew"
- value="1"
- c:identifier="GST_BASE_AUDIO_SINK_SLAVE_SKEW"
- glib:nick="skew"/>
- <member name="none"
- value="2"
- c:identifier="GST_BASE_AUDIO_SINK_SLAVE_NONE"
- glib:nick="none"/>
- </enumeration>
- <class name="BaseAudioSrc"
- c:type="GstBaseAudioSrc"
- doc="Opaque #GstBaseAudioSrc."
- parent="GstBase.PushSrc"
- glib:type-name="GstBaseAudioSrc"
- glib:get-type="gst_base_audio_src_get_type"
- glib:type-struct="BaseAudioSrcClass">
- <virtual-method name="create_ringbuffer" invoker="create_ringbuffer">
- <return-value transfer-ownership="full">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </return-value>
- </virtual-method>
- <method name="create_ringbuffer"
- c:identifier="gst_base_audio_src_create_ringbuffer"
- doc="Create and return the #GstRingBuffer for @src. This function will call the
-::create_ringbuffer vmethod and will set @src as the parent of the returned
-buffer (see gst_object_set_parent()).">
- <return-value transfer-ownership="full">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </return-value>
- </method>
- <method name="set_provide_clock"
- c:identifier="gst_base_audio_src_set_provide_clock"
- doc="Controls whether @src will provide a clock or not. If @provide is %TRUE,
-gst_element_provide_clock() will return a clock that reflects the datarate
-of @src. If @provide is %FALSE, gst_element_provide_clock() will return NULL."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="provide" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_provide_clock"
- c:identifier="gst_base_audio_src_get_provide_clock"
- doc="Queries whether @src will provide a clock or not. See also
-gst_base_audio_src_set_provide_clock."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_slave_method"
- c:identifier="gst_base_audio_src_set_slave_method"
- doc="Controls how clock slaving will be performed in @src."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="BaseAudioSrcSlaveMethod"
- c:type="GstBaseAudioSrcSlaveMethod"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_slave_method"
- c:identifier="gst_base_audio_src_get_slave_method"
- doc="Get the current slave method used by @src."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="BaseAudioSrcSlaveMethod"
- c:type="GstBaseAudioSrcSlaveMethod"/>
- </return-value>
- </method>
- <property name="actual-buffer-time"
- version="0.10.20"
- doc="Actual configured size of audio buffer in microseconds.">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="actual-latency-time"
- version="0.10.20"
- doc="Actual configured audio latency in microseconds.">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="buffer-time" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="latency-time" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="provide-clock" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="slave-method" writable="1">
- <type name="BaseAudioSrcSlaveMethod"
- c:type="GstBaseAudioSrcSlaveMethod"/>
- </property>
- <field name="element">
- <type name="GstBase.PushSrc" c:type="GstPushSrc"/>
- </field>
- <field name="ringbuffer">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </field>
- <field name="buffer_time">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="latency_time">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="next_sample">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="clock">
- <type name="Gst.Clock" c:type="GstClock*"/>
- </field>
- <field name="priv">
- <type name="BaseAudioSrcPrivate" c:type="GstBaseAudioSrcPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="BaseAudioSrcClass"
- c:type="GstBaseAudioSrcClass"
- glib:is-gtype-struct-for="BaseAudioSrc"
- doc="#GstBaseAudioSrc class. Override the vmethod to implement
-functionality.">
- <field name="parent_class">
- <type name="GstBase.PushSrcClass" c:type="GstPushSrcClass"/>
- </field>
- <field name="create_ringbuffer">
- <callback name="create_ringbuffer" c:type="create_ringbuffer">
- <return-value transfer-ownership="full">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseAudioSrc" c:type="GstBaseAudioSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseAudioSrcPrivate" c:type="GstBaseAudioSrcPrivate">
- </record>
- <enumeration name="BaseAudioSrcSlaveMethod"
- doc="clock time.
-drifts too much.
-Different possible clock slaving algorithms when the internal audio clock was
-not selected as the pipeline clock."
- glib:type-name="GstBaseAudioSrcSlaveMethod"
- glib:get-type="gst_base_audio_src_slave_method_get_type"
- c:type="GstBaseAudioSrcSlaveMethod">
- <member name="resample"
- value="0"
- c:identifier="GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE"
- glib:nick="resample"/>
- <member name="re_timestamp"
- value="1"
- c:identifier="GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP"
- glib:nick="re-timestamp"/>
- <member name="skew" value="2" c:identifier="GST_BASE_AUDIO_SRC_SLAVE_SKEW" glib:nick="skew"/>
- <member name="none"
- value="3"
- c:identifier="GST_BASE_AUDIO_SRC_SLAVE_NONE"
- glib:nick="none"/>
- </enumeration>
- <enumeration name="BufferFormat"
- glib:type-name="GstBufferFormat"
- glib:get-type="gst_buffer_format_get_type"
- c:type="GstBufferFormat">
- <member name="unknown"
- value="0"
- c:identifier="GST_UNKNOWN"
- glib:nick="unknown"/>
- <member name="s8" value="1" c:identifier="GST_S8" glib:nick="s8"/>
- <member name="u8" value="2" c:identifier="GST_U8" glib:nick="u8"/>
- <member name="s16_le"
- value="3"
- c:identifier="GST_S16_LE"
- glib:nick="s16-le"/>
- <member name="s16_be"
- value="4"
- c:identifier="GST_S16_BE"
- glib:nick="s16-be"/>
- <member name="u16_le"
- value="5"
- c:identifier="GST_U16_LE"
- glib:nick="u16-le"/>
- <member name="u16_be"
- value="6"
- c:identifier="GST_U16_BE"
- glib:nick="u16-be"/>
- <member name="s24_le"
- value="7"
- c:identifier="GST_S24_LE"
- glib:nick="s24-le"/>
- <member name="s24_be"
- value="8"
- c:identifier="GST_S24_BE"
- glib:nick="s24-be"/>
- <member name="u24_le"
- value="9"
- c:identifier="GST_U24_LE"
- glib:nick="u24-le"/>
- <member name="u24_be"
- value="10"
- c:identifier="GST_U24_BE"
- glib:nick="u24-be"/>
- <member name="s32_le"
- value="11"
- c:identifier="GST_S32_LE"
- glib:nick="s32-le"/>
- <member name="s32_be"
- value="12"
- c:identifier="GST_S32_BE"
- glib:nick="s32-be"/>
- <member name="u32_le"
- value="13"
- c:identifier="GST_U32_LE"
- glib:nick="u32-le"/>
- <member name="u32_be"
- value="14"
- c:identifier="GST_U32_BE"
- glib:nick="u32-be"/>
- <member name="s24_3le"
- value="15"
- c:identifier="GST_S24_3LE"
- glib:nick="s24-3le"/>
- <member name="s24_3be"
- value="16"
- c:identifier="GST_S24_3BE"
- glib:nick="s24-3be"/>
- <member name="u24_3le"
- value="17"
- c:identifier="GST_U24_3LE"
- glib:nick="u24-3le"/>
- <member name="u24_3be"
- value="18"
- c:identifier="GST_U24_3BE"
- glib:nick="u24-3be"/>
- <member name="s20_3le"
- value="19"
- c:identifier="GST_S20_3LE"
- glib:nick="s20-3le"/>
- <member name="s20_3be"
- value="20"
- c:identifier="GST_S20_3BE"
- glib:nick="s20-3be"/>
- <member name="u20_3le"
- value="21"
- c:identifier="GST_U20_3LE"
- glib:nick="u20-3le"/>
- <member name="u20_3be"
- value="22"
- c:identifier="GST_U20_3BE"
- glib:nick="u20-3be"/>
- <member name="s18_3le"
- value="23"
- c:identifier="GST_S18_3LE"
- glib:nick="s18-3le"/>
- <member name="s18_3be"
- value="24"
- c:identifier="GST_S18_3BE"
- glib:nick="s18-3be"/>
- <member name="u18_3le"
- value="25"
- c:identifier="GST_U18_3LE"
- glib:nick="u18-3le"/>
- <member name="u18_3be"
- value="26"
- c:identifier="GST_U18_3BE"
- glib:nick="u18-3be"/>
- <member name="float32_le"
- value="27"
- c:identifier="GST_FLOAT32_LE"
- glib:nick="float32-le"/>
- <member name="float32_be"
- value="28"
- c:identifier="GST_FLOAT32_BE"
- glib:nick="float32-be"/>
- <member name="float64_le"
- value="29"
- c:identifier="GST_FLOAT64_LE"
- glib:nick="float64-le"/>
- <member name="float64_be"
- value="30"
- c:identifier="GST_FLOAT64_BE"
- glib:nick="float64-be"/>
- <member name="mu_law"
- value="31"
- c:identifier="GST_MU_LAW"
- glib:nick="mu-law"/>
- <member name="a_law"
- value="32"
- c:identifier="GST_A_LAW"
- glib:nick="a-law"/>
- <member name="ima_adpcm"
- value="33"
- c:identifier="GST_IMA_ADPCM"
- glib:nick="ima-adpcm"/>
- <member name="mpeg" value="34" c:identifier="GST_MPEG" glib:nick="mpeg"/>
- <member name="gsm" value="35" c:identifier="GST_GSM" glib:nick="gsm"/>
- <member name="iec958"
- value="36"
- c:identifier="GST_IEC958"
- glib:nick="iec958"/>
- <member name="ac3" value="37" c:identifier="GST_AC3" glib:nick="ac3"/>
- <member name="eac3" value="38" c:identifier="GST_EAC3" glib:nick="eac3"/>
- <member name="dts" value="39" c:identifier="GST_DTS" glib:nick="dts"/>
- </enumeration>
- <enumeration name="BufferFormatType"
- doc="The format of the samples in the ringbuffer."
- glib:type-name="GstBufferFormatType"
- glib:get-type="gst_buffer_format_type_get_type"
- c:type="GstBufferFormatType">
- <member name="linear"
- value="0"
- c:identifier="GST_BUFTYPE_LINEAR"
- glib:nick="linear"/>
- <member name="float"
- value="1"
- c:identifier="GST_BUFTYPE_FLOAT"
- glib:nick="float"/>
- <member name="mu_law"
- value="2"
- c:identifier="GST_BUFTYPE_MU_LAW"
- glib:nick="mu-law"/>
- <member name="a_law"
- value="3"
- c:identifier="GST_BUFTYPE_A_LAW"
- glib:nick="a-law"/>
- <member name="ima_adpcm"
- value="4"
- c:identifier="GST_BUFTYPE_IMA_ADPCM"
- glib:nick="ima-adpcm"/>
- <member name="mpeg"
- value="5"
- c:identifier="GST_BUFTYPE_MPEG"
- glib:nick="mpeg"/>
- <member name="gsm"
- value="6"
- c:identifier="GST_BUFTYPE_GSM"
- glib:nick="gsm"/>
- <member name="iec958"
- value="7"
- c:identifier="GST_BUFTYPE_IEC958"
- glib:nick="iec958"/>
- <member name="ac3"
- value="8"
- c:identifier="GST_BUFTYPE_AC3"
- glib:nick="ac3"/>
- <member name="eac3"
- value="9"
- c:identifier="GST_BUFTYPE_EAC3"
- glib:nick="eac3"/>
- <member name="dts"
- value="10"
- c:identifier="GST_BUFTYPE_DTS"
- glib:nick="dts"/>
- </enumeration>
- <constant name="DEF_RATE" value="44100">
- <type name="int"/>
- </constant>
- <constant name="FLOAT_PAD_TEMPLATE_CAPS"
- value="audio/x-raw-float, rate = (int) [ 1, MAX ], channels = (int) [ 1, MAX ], endianness = (int) { LITTLE_ENDIAN , BIG_ENDIAN }, width = (int) { 32, 64 }">
- <type name="utf8"/>
- </constant>
- <constant name="FLOAT_STANDARD_PAD_TEMPLATE_CAPS"
- value="audio/x-raw-float, width = (int) 32, rate = (int) [ 1, MAX ], channels = (int) 1, endianness = (int) BYTE_ORDER">
- <type name="utf8"/>
- </constant>
- <constant name="INT_PAD_TEMPLATE_CAPS"
- value="audio/x-raw-int, rate = (int) [ 1, MAX ], channels = (int) [ 1, MAX ], endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, width = (int) { 8, 16, 24, 32 }, depth = (int) [ 1, 32 ], signed = (boolean) { true, false }">
- <type name="utf8"/>
- </constant>
- <constant name="INT_STANDARD_PAD_TEMPLATE_CAPS"
- value="audio/x-raw-int, rate = (int) [ 1, MAX ], channels = (int) 2, endianness = (int) BYTE_ORDER, width = (int) 16, depth = (int) 16, signed = (boolean) true">
- <type name="utf8"/>
- </constant>
- <class name="RingBuffer"
- c:type="GstRingBuffer"
- doc="The ringbuffer base class structure."
- parent="Gst.Object"
- abstract="1"
- glib:type-name="GstRingBuffer"
- glib:get-type="gst_ring_buffer_get_type"
- glib:type-struct="RingBufferClass">
- <function name="parse_caps"
- c:identifier="gst_ring_buffer_parse_caps"
- doc="Parse @caps into @spec.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_spec_caps"
- c:identifier="gst_ring_buffer_debug_spec_caps"
- doc="Print debug info about the parsed caps in @spec to the debug log.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </function>
- <function name="debug_spec_buff"
- c:identifier="gst_ring_buffer_debug_spec_buff"
- doc="Print debug info about the buffer sized in @spec to the debug log.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="open_device" invoker="open_device">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="acquire" invoker="acquire">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="release" invoker="release">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="close_device" invoker="close_device">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="start" invoker="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="pause" invoker="pause">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="resume">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="stop" invoker="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="delay" invoker="delay">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </virtual-method>
- <virtual-method name="activate" invoker="activate">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="commit">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="sample" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="in_samples" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="out_samples" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="accum" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="clear_all" invoker="clear_all">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </virtual-method>
- <method name="set_callback"
- c:identifier="gst_ring_buffer_set_callback"
- doc="Sets the given callback function on the buffer. This function
-will be called every time a segment has been written to a device.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cb"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="RingBufferCallback" c:type="GstRingBufferCallback"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="convert"
- c:identifier="gst_ring_buffer_convert"
- doc="Convert @src_val in @src_fmt to the equivalent value in @dest_fmt. The result
-will be put in @dest_val."
- version="0.10.22.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src_fmt" transfer-ownership="none">
- <type name="Gst.Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="src_val" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_fmt" transfer-ownership="none">
- <type name="Gst.Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="dest_val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="open_device"
- c:identifier="gst_ring_buffer_open_device"
- doc="Open the audio device associated with the ring buffer. Does not perform any
-setup on the device. You must open the device before acquiring the ring
-buffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="close_device"
- c:identifier="gst_ring_buffer_close_device"
- doc="Close the audio device associated with the ring buffer. The ring buffer
-should already have been released via gst_ring_buffer_release().
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="device_is_open"
- c:identifier="gst_ring_buffer_device_is_open"
- doc="Checks the status of the device associated with the ring buffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="acquire"
- c:identifier="gst_ring_buffer_acquire"
- doc="Allocate the resources for the ringbuffer. This function fills
-in the data pointer of the ring buffer with a valid #GstBuffer
-to which samples can be written.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="release"
- c:identifier="gst_ring_buffer_release"
- doc="Free the resources of the ringbuffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="is_acquired"
- c:identifier="gst_ring_buffer_is_acquired"
- doc="Check if the ringbuffer is acquired and ready to use.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="activate"
- c:identifier="gst_ring_buffer_activate"
- doc="Activate @buf to start or stop pulling data.
-MT safe.
-FALSE on error."
- version="0.10.22.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_active"
- c:identifier="gst_ring_buffer_is_active"
- doc="Check if @buf is activated.
-MT safe."
- version="0.10.22.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_flushing"
- c:identifier="gst_ring_buffer_set_flushing"
- doc="Set the ringbuffer to flushing mode or normal mode.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flushing" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="start"
- c:identifier="gst_ring_buffer_start"
- doc="Start processing samples from the ringbuffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="pause"
- c:identifier="gst_ring_buffer_pause"
- doc="Pause processing samples from the ringbuffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="stop"
- c:identifier="gst_ring_buffer_stop"
- doc="Stop processing samples from the ringbuffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="delay"
- c:identifier="gst_ring_buffer_delay"
- doc="Get the number of samples queued in the audio device. This is
-usually less than the segment size but can be bigger when the
-implementation uses another internal buffer between the audio
-device.
-For playback ringbuffers this is the amount of samples transfered from the
-ringbuffer to the device but still not played.
-For capture ringbuffers this is the amount of samples in the device that are
-not yet transfered to the ringbuffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="samples_done"
- c:identifier="gst_ring_buffer_samples_done"
- doc="Get the number of samples that were processed by the ringbuffer
-since it was last started. This does not include the number of samples not
-yet processed (see gst_ring_buffer_delay()).
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- </method>
- <method name="set_sample"
- c:identifier="gst_ring_buffer_set_sample"
- doc="Make sure that the next sample written to the device is
-accounted for as being the @sample sample written to the
-device. This value will be used in reporting the current
-sample position of the ringbuffer.
-This function will also clear the buffer with silence.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sample" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="clear_all"
- c:identifier="gst_ring_buffer_clear_all"
- doc="Fill the ringbuffer with silence.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="commit"
- c:identifier="gst_ring_buffer_commit"
- doc="Same as gst_ring_buffer_commit_full() but with a in_samples and out_samples
-equal to @len, ignoring accum.
-error.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="sample" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="commit_full"
- c:identifier="gst_ring_buffer_commit_full"
- doc="Commit @in_samples samples pointed to by @data to the ringbuffer @buf.
-samples in @data. For negative rates, @out_samples must be negative and
-When @out_samples is positive, the first sample will be written at position @sample
-in the ringbuffer. When @out_samples is negative, the last sample will be written to
-although it is recommended for optimal performance.
-set to 0 when this function is first called. In case the commit operation is
-interrupted, one can resume the processing by passing the previously returned
-MT safe.
-number of samples written can be less than @out_samples when @buf was interrupted
-with a flush or stop."
- version="0.10.11.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="sample" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="in_samples" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="out_samples" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="accum" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="read"
- c:identifier="gst_ring_buffer_read"
- doc="Read @len samples from the ringbuffer into the memory pointed
-to by @data.
-The first sample should be read from position @sample in
-the ringbuffer.
-although it is recommended.
-error.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="sample" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="prepare_read"
- c:identifier="gst_ring_buffer_prepare_read"
- doc="Returns a pointer to memory where the data from segment @segment
-can be found. This function is mostly used by subclasses.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="segment" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="readptr" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- <parameter name="len" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="clear"
- c:identifier="gst_ring_buffer_clear"
- doc="Clear the given segment of the buffer with silence samples.
-This function is used by subclasses.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="segment" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="advance"
- c:identifier="gst_ring_buffer_advance"
- doc="Subclasses should call this function to notify the fact that
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="advance" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="may_start"
- c:identifier="gst_ring_buffer_may_start"
- doc="Tell the ringbuffer that it is allowed to start playback when
-the ringbuffer is filled with samples.
-MT safe."
- version="0.10.6">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="allowed" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="Gst.Object" c:type="GstObject"/>
- </field>
- <field name="cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="open">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="acquired">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="data">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </field>
- <field name="spec">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec"/>
- </field>
- <field name="segstate">
- <type name="RingBufferSegState" c:type="GstRingBufferSegState*"/>
- </field>
- <field name="samples_per_seg">
- <type name="int" c:type="gint"/>
- </field>
- <field name="empty_seg">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="state">
- <type name="int" c:type="gint"/>
- </field>
- <field name="segdone">
- <type name="int" c:type="gint"/>
- </field>
- <field name="segbase">
- <type name="int" c:type="gint"/>
- </field>
- <field name="waiting">
- <type name="int" c:type="gint"/>
- </field>
- <field name="callback">
- <type name="RingBufferCallback" c:type="GstRingBufferCallback"/>
- </field>
- <field name="cb_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="flushing" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="may_start" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="active" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </union>
- </class>
- <callback name="RingBufferCallback"
- c:type="GstRingBufferCallback"
- doc="This function is set with gst_ring_buffer_set_callback() and is
-called to fill the memory at @data with @len bytes of samples.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="rbuf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="3">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="RingBufferClass"
- c:type="GstRingBufferClass"
- glib:is-gtype-struct-for="RingBuffer"
- doc="consumed segments in the device. Since 0.10.22
-The vmethods that subclasses can override to implement the ringbuffer.">
- <field name="parent_class">
- <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="open_device">
- <callback name="open_device" c:type="open_device">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="acquire">
- <callback name="acquire" c:type="acquire">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- <parameter name="spec" transfer-ownership="none">
- <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="release">
- <callback name="release" c:type="release">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="close_device">
- <callback name="close_device" c:type="close_device">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="start">
- <callback name="start" c:type="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="pause">
- <callback name="pause" c:type="pause">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="resume">
- <callback name="resume" c:type="resume">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="stop">
- <callback name="stop" c:type="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="delay">
- <callback name="delay" c:type="delay">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="activate">
- <callback name="activate" c:type="activate">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="commit">
- <callback name="commit" c:type="commit">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- <parameter name="sample" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guchar*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="in_samples" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="out_samples" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="accum" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="clear_all">
- <callback name="clear_all" c:type="clear_all">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="RingBuffer" c:type="GstRingBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="1">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="RingBufferSegState"
- doc="The state of a segment in the ringbuffer."
- glib:type-name="GstRingBufferSegState"
- glib:get-type="gst_ring_buffer_seg_state_get_type"
- c:type="GstRingBufferSegState">
- <member name="invalid"
- value="0"
- c:identifier="GST_SEGSTATE_INVALID"
- glib:nick="invalid"/>
- <member name="empty"
- value="1"
- c:identifier="GST_SEGSTATE_EMPTY"
- glib:nick="empty"/>
- <member name="filled"
- value="2"
- c:identifier="GST_SEGSTATE_FILLED"
- glib:nick="filled"/>
- <member name="partial"
- value="3"
- c:identifier="GST_SEGSTATE_PARTIAL"
- glib:nick="partial"/>
- </enumeration>
- <record name="RingBufferSpec"
- c:type="GstRingBufferSpec"
- doc="defaults to segtotal
-The structure containing the format specification of the ringbuffer.">
- <field name="caps" writable="1">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </field>
- <field name="type" writable="1">
- <type name="BufferFormatType" c:type="GstBufferFormatType"/>
- </field>
- <field name="format" writable="1">
- <type name="BufferFormat" c:type="GstBufferFormat"/>
- </field>
- <field name="sign" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="bigend" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="width" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="depth" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="rate" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="channels" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="latency_time" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="buffer_time" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="segsize" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="segtotal" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="bytes_per_sample" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="silence_sample" writable="1">
- <array zero-terminated="0" c:type="guint8" fixed-size="32">
- <type name="uint8"/>
- </array>
- </field>
- <field name="seglatency" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="guint8" fixed-size="0">
- <type name="uint8"/>
- </array>
- </field>
- </record>
- <enumeration name="RingBufferState"
- doc="The state of the ringbuffer."
- glib:type-name="GstRingBufferState"
- glib:get-type="gst_ring_buffer_state_get_type"
- c:type="GstRingBufferState">
- <member name="stopped"
- value="0"
- c:identifier="GST_RING_BUFFER_STATE_STOPPED"
- glib:nick="stopped"/>
- <member name="paused"
- value="1"
- c:identifier="GST_RING_BUFFER_STATE_PAUSED"
- glib:nick="paused"/>
- <member name="started"
- value="2"
- c:identifier="GST_RING_BUFFER_STATE_STARTED"
- glib:nick="started"/>
- </enumeration>
- <function name="buffer_clip"
- c:identifier="gst_audio_buffer_clip"
- doc="Clip the the buffer to the given %GstSegment.
-After calling this function the caller does not own a reference to
-otherwise the clipped buffer is returned.
-If the buffer has no timestamp, it is assumed to be inside the segment and
-is not clipped"
- version="0.10.14">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="segment" transfer-ownership="none">
- <type name="Gst.Segment" c:type="GstSegment*"/>
- </parameter>
- <parameter name="rate" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="frame_size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="check_channel_positions"
- c:identifier="gst_audio_check_channel_positions"
- doc="This functions checks if the given channel positions are valid. Channel
-positions are valid if:
-<itemizedlist>
-<listitem><para>No channel positions appears twice or all positions are %GST_AUDIO_CHANNEL_POSITION_NONE.
-</para></listitem>
-<listitem><para>Either all or none of the channel positions are %GST_AUDIO_CHANNEL_POSITION_NONE.
-</para></listitem>
-<listitem><para>%GST_AUDIO_CHANNEL_POSITION_FRONT_MONO and %GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT or %GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT don't appear together in the given positions.
-</para></listitem>
-</itemizedlist>
-and %FALSE otherwise."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos" transfer-ownership="none">
- <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
- </parameter>
- <parameter name="channels" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="default_registry_mixer_filter"
- c:identifier="gst_audio_default_registry_mixer_filter"
- doc="Utility function to find audio mixer elements.
-Will traverse the default plugin registry in order of plugin rank and
-find usable audio mixer elements. The caller may optionally fine-tune
-the selection by specifying a filter function.
-element in the list by setting it to NULL state and calling
-gst_object_unref(). After that the list itself should be freed
-using g_list_free()."
- version="0.10.2">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="filter_func" transfer-ownership="none" scope="call">
- <type name="AudioMixerFilterFunc" c:type="GstAudioMixerFilterFunc"/>
- </parameter>
- <parameter name="first" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="duration_from_pad_buffer"
- c:identifier="gst_audio_duration_from_pad_buffer"
- doc="Calculate length in nanoseconds of audio buffer @buf based on capabilities of">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="fixate_channel_positions"
- c:identifier="gst_audio_fixate_channel_positions"
- doc=""channel-positions" field.
-Custom fixate function. Elements that implement some sort of
-channel conversion algorithm should use this function for
-fixating on GstAudioChannelPosition properties. It will take
-care of equal channel positioning (left/right). Caller g_free()s
-the return value. The input properties may be (and are supposed
-to be) unfixed.
-Note that this function is mostly a hack because we currently
-have no way to add default fixation functions for new GTypes.
-set of #GstAudioChannelPosition values.">
- <return-value transfer-ownership="full">
- <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </function>
- <function name="frame_byte_size"
- c:identifier="gst_audio_frame_byte_size"
- doc="Calculate byte size of an audio frame.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </function>
- <function name="frame_length"
- c:identifier="gst_audio_frame_length"
- doc="Calculate length of buffer in frames.">
- <return-value transfer-ownership="none">
- <type name="long" c:type="long"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_channel_positions"
- c:identifier="gst_audio_get_channel_positions"
- doc="Retrieves a number of (fixed!) audio channel positions from
-the provided #GstStructure and returns it as a newly allocated
-array. The caller should g_free () this array. The caller
-should also check that the members in this #GstStructure are
-indeed "fixed" before calling this function.
-positions as provided in the given #GstStructure. Returns
-NULL on error.">
- <return-value transfer-ownership="full">
- <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </function>
- <function name="is_buffer_framed"
- c:identifier="gst_audio_is_buffer_framed"
- doc="Check if the buffer size is a whole multiple of the frame size.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="set_caps_channel_positions_list"
- c:identifier="gst_audio_set_caps_channel_positions_list"
- doc="channel positions that we should add in each value
-of the array in the given structure.
-Sets a (possibly non-fixed) list of possible audio channel
-positions (given in pos) on the given caps. Each of the
-structures of the caps, after this function has been called,
-will contain a "channel-positions" field with an array.
-Each value in the array will contain each of the values given
-in the pos array. Note that the size of the caps might be
-increased by this, since each structure with a "channel-
-positions" field needs to have a fixed "channels" field.
-The input caps is not required to have this.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="pos" transfer-ownership="none">
- <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
- </parameter>
- <parameter name="num_positions" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="set_channel_positions"
- c:identifier="gst_audio_set_channel_positions"
- doc="in this array should be equal to the (fixed!) number
-of the "channels" field in the given #GstStructure.
-Adds a "channel-positions" field to the given #GstStructure,
-which will represent the channel positions as given in the
-provided #GstAudioChannelPosition array.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- <parameter name="pos" transfer-ownership="none">
- <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
- </parameter>
- </parameters>
- </function>
- <function name="set_structure_channel_positions_list"
- c:identifier="gst_audio_set_structure_channel_positions_list"
- doc="on.
-channel positions that we should add in each value
-of the array in the given structure.
-Sets a (possibly non-fixed) list of possible audio channel
-positions (given in pos) on the given structure. The
-structure, after this function has been called, will contain
-a "channel-positions" field with an array of the size of
-the "channels" field value in the given structure (note
-that this means that the channels field in the provided
-structure should be fixed!). Each value in the array will
-contain each of the values given in the pos array.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- <parameter name="pos" transfer-ownership="none">
- <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
- </parameter>
- <parameter name="num_positions" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="structure_set_int"
- c:identifier="gst_audio_structure_set_int"
- doc="Do not use anymore."
- deprecated="use gst_structure_set()">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="structure" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- <parameter name="flag" transfer-ownership="none">
- <type name="AudioFieldFlag" c:type="GstAudioFieldFlag"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.audio.ffi ;
-IN: gstreamer.audio
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gstreamer.ffi gstreamer.base.ffi
-gstreamer.interfaces.ffi ;
-IN: gstreamer.audio.ffi
-
-<<
-"gstreamer.audio" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstaudio-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/audio/GstAudio-0.10.gir
-
+++ /dev/null
-Anton Gorenko
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/base/gstadapter.h"/>
- <c:include name="gst/base/gstbasesink.h"/>
- <c:include name="gst/base/gstbasesrc.h"/>
- <c:include name="gst/base/gstbasetransform.h"/>
- <c:include name="gst/base/gstbitreader.h"/>
- <c:include name="gst/base/gstbytereader.h"/>
- <c:include name="gst/base/gstbytewriter.h"/>
- <c:include name="gst/base/gstcollectpads.h"/>
- <c:include name="gst/base/gstdataqueue.h"/>
- <c:include name="gst/base/gstpushsrc.h"/>
- <c:include name="gst/base/gsttypefindhelper.h"/>
- <namespace name="GstBase"
- version="0.10"
- shared-library="libgstbase-0.10.so.0"
- c:prefix="Gst">
- <class name="Adapter"
- c:type="GstAdapter"
- doc="The opaque #GstAdapter data structure."
- parent="GObject.Object"
- glib:type-name="GstAdapter"
- glib:get-type="gst_adapter_get_type"
- glib:type-struct="AdapterClass">
- <constructor name="new"
- c:identifier="gst_adapter_new"
- doc="Creates a new #GstAdapter. Free with g_object_unref().">
- <return-value transfer-ownership="full">
- <type name="Adapter" c:type="GstAdapter*"/>
- </return-value>
- </constructor>
- <method name="clear"
- c:identifier="gst_adapter_clear"
- doc="Removes all buffers from @adapter.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="push"
- c:identifier="gst_adapter_push"
- doc="Adds the data from @buf to the data stored inside @adapter and takes
-ownership of the buffer.
-Empty buffers will be automatically dereferenced and not stored in the">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek"
- c:identifier="gst_adapter_peek"
- doc="Gets the first @size bytes stored in the @adapter. The returned pointer is
-valid until the next function is called on the adapter.
-Note that setting the returned pointer as the data of a #GstBuffer is
-incorrect for general-purpose plugins. The reason is that if a downstream
-element stores the buffer so that it has access to it outside of the bounds
-of its chain function, the buffer will have an invalid data pointer after
-your element flushes the bytes. In that case you should use
-gst_adapter_take(), which returns a freshly-allocated buffer that you can set
-as #GstBuffer malloc_data or the potentially more performant
-gst_adapter_take_buffer().
-Returns #NULL if @size bytes are not available.">
- <return-value transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy"
- c:identifier="gst_adapter_copy"
- doc="Copies @size bytes of data starting at @offset out of the buffers
-contained in @GstAdapter into an array @dest provided by the caller.
-The array @dest should be large enough to contain @size bytes.
-The user should check that the adapter has (@offset + @size) bytes
-available before calling this function."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="dest" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="flush"
- c:identifier="gst_adapter_flush"
- doc="Flushes the first @flush bytes in the @adapter. The caller must ensure that
-at least this many bytes are available.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flush" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="take"
- c:identifier="gst_adapter_take"
- doc="Returns a freshly allocated buffer containing the first @nbytes bytes of the
-Caller owns returned value. g_free after usage.">
- <return-value transfer-ownership="full">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="nbytes" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_buffer"
- c:identifier="gst_adapter_take_buffer"
- doc="Returns a #GstBuffer containing the first @nbytes bytes of the
-This function is potentially more performant than gst_adapter_take()
-since it can reuse the memory in pushed buffers by subbuffering
-or merging.
-Caller owns returned value. gst_buffer_unref() after usage.
-or #NULL if @nbytes bytes are not available"
- version="0.10.6">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="nbytes" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="available"
- c:identifier="gst_adapter_available"
- doc="Gets the maximum amount of bytes available, that is it returns the maximum
-value that can be supplied to gst_adapter_peek() without that function
-returning NULL.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="available_fast"
- c:identifier="gst_adapter_available_fast"
- doc="Gets the maximum number of bytes that are immediately available without
-requiring any expensive operations (like copying the data into a
-temporary buffer).
-operations">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="prev_timestamp"
- c:identifier="gst_adapter_prev_timestamp"
- doc="Get the timestamp that was before the current byte in the adapter. When
-position is returned.
-The timestamp is reset to GST_CLOCK_TIME_NONE when the adapter is first
-created or when it is cleared."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="distance" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="masked_scan_uint32"
- c:identifier="gst_adapter_masked_scan_uint32"
- doc="the last scanned position.
-Scan for pattern @pattern with applied mask @mask in the adapter data,
-starting from offset @offset.
-The bytes in @pattern and @mask are interpreted left-to-right, regardless
-of endianness. All four bytes of the pattern must be present in the
-adapter for it to match, even if the first or last bytes are masked out.
-It is an error to call this function without making sure that there is
-enough data (offset+size bytes) in the adapter.
-Example:
-<programlisting>
-// Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff
-gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256);
-// -> returns 0
-gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255);
-// -> returns -1
-gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255);
-// -> returns 1
-gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256);
-// -> returns -1
-gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256);
-// -> returns 0
-gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256);
-// -> returns 2
-gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);
-// -> returns -1
-</programlisting>"
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="mask" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="pattern" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="buflist">
- <type name="GLib.SList" c:type="GSList*"/>
- </field>
- <field name="size">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="skip">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="assembled_data">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="assembled_size">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="assembled_len">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="buflist_end">
- <type name="GLib.SList" c:type="GSList*"/>
- </field>
- <field name="priv">
- <type name="AdapterPrivate" c:type="GstAdapterPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="AdapterClass"
- c:type="GstAdapterClass"
- glib:is-gtype-struct-for="Adapter">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="AdapterPrivate" c:type="GstAdapterPrivate">
- </record>
- <class name="BaseSink"
- c:type="GstBaseSink"
- doc="The opaque #GstBaseSink data structure."
- parent="Gst.Element"
- abstract="1"
- glib:type-name="GstBaseSink"
- glib:get-type="gst_base_sink_get_type"
- glib:type-struct="BaseSinkClass">
- <virtual-method name="get_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="buffer_alloc">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_times">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="unlock">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="preroll">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="render">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="async_play">
- <return-value transfer-ownership="full">
- <type name="Gst.StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- </virtual-method>
- <virtual-method name="activate_pull">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="fixate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="unlock_stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="render_list">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer_list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="do_preroll"
- c:identifier="gst_base_sink_do_preroll"
- doc="If the @sink spawns its own thread for pulling buffers from upstream it
-should call this method after it has pulled a buffer. If the element needed
-to preroll, this function will perform the preroll and will then block
-until the element state is changed.
-This function should be called with the PREROLL_LOCK held.
-Since 0.10.22
-continue. Any other return value should be returned from the render vmethod.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
- </parameter>
- </parameters>
- </method>
- <method name="wait_preroll"
- c:identifier="gst_base_sink_wait_preroll"
- doc="If the #GstBaseSinkClass.render() method performs its own synchronisation
-against the clock it must unblock when going from PLAYING to the PAUSED state
-and call this method before continuing to render the remaining data.
-This function will block until a state change to PLAYING happens (in which
-case this function returns #GST_FLOW_OK) or the processing must be stopped due
-to a state change to READY or a FLUSH event (in which case this function
-returns #GST_FLOW_WRONG_STATE).
-This function should only be called with the PREROLL_LOCK held, like in the
-render function.
-continue. Any other return value should be returned from the render vmethod."
- version="0.10.11">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- </method>
- <method name="set_sync"
- c:identifier="gst_base_sink_set_sync"
- doc="Configures @sink to synchronize on the clock or not. When
-possible. If @sync is TRUE, the timestamps of the incomming
-buffers will be used to schedule the exact render time of its
-contents."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sync" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_sync"
- c:identifier="gst_base_sink_get_sync"
- doc="Checks if @sink is currently configured to synchronize against the
-clock."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_max_lateness"
- c:identifier="gst_base_sink_set_max_lateness"
- doc="Sets the new max lateness value to @max_lateness. This value is
-used to decide if a buffer should be dropped or not based on the
-buffer timestamp and the current clock time. A value of -1 means
-an unlimited time."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="max_lateness" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_max_lateness"
- c:identifier="gst_base_sink_get_max_lateness"
- doc="Gets the max lateness value. See gst_base_sink_set_max_lateness for
-more details.
-before it is dropped and not rendered. A value of -1 means an
-unlimited time."
- version="0.10.4">
- <return-value transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </return-value>
- </method>
- <method name="set_qos_enabled"
- c:identifier="gst_base_sink_set_qos_enabled"
- doc="Configures @sink to send Quality-of-Service events upstream."
- version="0.10.5">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="enabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_qos_enabled"
- c:identifier="gst_base_sink_is_qos_enabled"
- doc="Checks if @sink is currently configured to send Quality-of-Service events
-upstream."
- version="0.10.5">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_async_enabled"
- c:identifier="gst_base_sink_set_async_enabled"
- doc="Configures @sink to perform all state changes asynchronusly. When async is
-disabled, the sink will immediatly go to PAUSED instead of waiting for a
-preroll buffer. This feature is usefull if the sink does not synchronize
-against the clock or when it is dealing with sparse streams."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="enabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_async_enabled"
- c:identifier="gst_base_sink_is_async_enabled"
- doc="Checks if @sink is currently configured to perform asynchronous state
-changes to PAUSED.
-changes."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_ts_offset"
- c:identifier="gst_base_sink_set_ts_offset"
- doc="Adjust the synchronisation of @sink with @offset. A negative value will
-render buffers earlier than their timestamp. A positive value will delay
-rendering. This function can be used to fix playback of badly timestamped
-buffers."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_ts_offset"
- c:identifier="gst_base_sink_get_ts_offset"
- doc="Get the synchronisation offset of @sink."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </return-value>
- </method>
- <method name="get_last_buffer"
- c:identifier="gst_base_sink_get_last_buffer"
- doc="Get the last buffer that arrived in the sink and was used for preroll or for
-rendering. This property can be used to generate thumbnails.
-The #GstCaps on the buffer can be used to determine the type of the buffer.
-NULL when no buffer has arrived in the sink yet or when the sink is not in
-PAUSED or PLAYING."
- version="0.10.15">
- <return-value transfer-ownership="full"
- doc="after usage. This function returns">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="query_latency"
- c:identifier="gst_base_sink_query_latency"
- doc="Query the sink for the latency parameters. The latency will be queried from
-the upstream elements. @live will be TRUE if @sink is configured to
-synchronize against the clock. @upstream_live will be TRUE if an upstream
-element is live.
-If both @live and @upstream_live are TRUE, the sink will want to compensate
-for the latency introduced by the upstream elements by setting the
-This function is mostly used by subclasses."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="live" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="upstream_live"
- direction="out"
- transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="min_latency" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="max_latency" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_latency"
- c:identifier="gst_base_sink_get_latency"
- doc="Get the currently configured latency."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="set_render_delay"
- c:identifier="gst_base_sink_set_render_delay"
- doc="Set the render delay in @sink to @delay. The render delay is the time
-between actual rendering of a buffer and its synchronisation time. Some
-devices might delay media rendering which can be compensated for with this
-function.
-After calling this function, this sink will report additional latency and
-other sinks will adjust their latency to delay the rendering of their media.
-This function is usually called by subclasses."
- version="0.10.21">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="delay" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_render_delay"
- c:identifier="gst_base_sink_get_render_delay"
- doc="Get the render delay of @sink. see gst_base_sink_set_render_delay() for more
-information about the render delay."
- version="0.10.21">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="set_blocksize"
- c:identifier="gst_base_sink_set_blocksize"
- doc="Set the number of bytes that the sink will pull when it is operating in pull
-mode."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="blocksize" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_blocksize"
- c:identifier="gst_base_sink_get_blocksize"
- doc="Get the number of bytes that the sink will pull when it is operating in pull
-mode."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="wait_clock"
- c:identifier="gst_base_sink_wait_clock"
- doc="This function will block until @time is reached. It is usually called by
-subclasses that use their own internal synchronisation.
-If @time is not valid, no sycnhronisation is done and #GST_CLOCK_BADTIME is
-returned. Likewise, if synchronisation is disabled in the element or there
-is no clock, no synchronisation is done and #GST_CLOCK_BADTIME is returned.
-This function should only be called with the PREROLL_LOCK held, like when
-receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when
-receiving a buffer in
-the #GstBaseSinkClass.render() vmethod.
-The @time argument should be the running_time of when this method should
-return and is not adjusted with any latency or offset configured in the
-sink.
-Since 0.10.20">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockReturn" c:type="GstClockReturn"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
- </parameter>
- </parameters>
- </method>
- <method name="wait_eos"
- c:identifier="gst_base_sink_wait_eos"
- doc="This function will block until @time is reached. It is usually called by
-subclasses that use their own internal synchronisation but want to let the
-EOS be handled by the base class.
-This function should only be called with the PREROLL_LOCK held, like when
-receiving an EOS event in the ::event vmethod.
-The @time argument should be the running_time of when the EOS should happen
-and will be adjusted with any latency and offset configured in the sink.
-Since 0.10.15">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="time" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
- </parameter>
- </parameters>
- </method>
- <property name="async" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="blocksize" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="last-buffer">
- <type name="Gst.Buffer" c:type="GstBuffer"/>
- </property>
- <property name="max-lateness" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="preroll-queue-len" writable="1" construct="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="qos" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="render-delay" writable="1">
- <type name="uint64" c:type="guint64"/>
- </property>
- <property name="sync" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="ts-offset" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <field name="element">
- <type name="Gst.Element" c:type="GstElement"/>
- </field>
- <field name="sinkpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="pad_mode">
- <type name="Gst.ActivateMode" c:type="GstActivateMode"/>
- </field>
- <field name="offset">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="can_activate_pull">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="can_activate_push">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="preroll_queue">
- <type name="GLib.Queue" c:type="GQueue*"/>
- </field>
- <field name="preroll_queue_max_len">
- <type name="int" c:type="gint"/>
- </field>
- <field name="preroll_queued">
- <type name="int" c:type="gint"/>
- </field>
- <field name="buffers_queued">
- <type name="int" c:type="gint"/>
- </field>
- <field name="events_queued">
- <type name="int" c:type="gint"/>
- </field>
- <field name="eos">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="eos_queued">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="need_preroll">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="have_preroll">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="playing_async">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="have_newsegment">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="segment">
- <type name="Gst.Segment" c:type="GstSegment"/>
- </field>
- <field name="clock_id">
- <type name="Gst.ClockID" c:type="GstClockID"/>
- </field>
- <field name="end_time">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="sync">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="flushing">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="clip_segment" writable="1">
- <type name="Gst.Segment" c:type="GstSegment*"/>
- </field>
- <field name="max_lateness" writable="1">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="running" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="19">
- <type name="any"/>
- </array>
- </field>
- </union>
- <field name="priv">
- <type name="BaseSinkPrivate" c:type="GstBaseSinkPrivate*"/>
- </field>
- </class>
- <record name="BaseSinkClass"
- c:type="GstBaseSinkClass"
- glib:is-gtype-struct-for="BaseSink"
- doc="the passed buffer to the clock
-unblock any blocked function ASAP
-any state they set during unlock(), such as clearing command queues.
-correct moment if the #GstBaseSink has been set to sync to the clock.
-special processing when changing to the PLAYING state asynchronously.
-Called with the OBJECT_LOCK held.
-alternate method of spawning a thread to drive the pipeline in pull mode.
-Should start or stop the pulling thread, depending on the value of the
-"active" argument. Called after actually activating the sink pad in pull
-mode. The default implementation starts a task on the sink pad.
-gst_pad_fixate_caps() being called on the sink pad. Implement if you have
-ideas about what should be the default values for the caps you support.
-Subclasses can override any of the available virtual methods or not, as
-needed. At the minimum, the @render method should be overridden to
-output/present buffers.">
- <field name="parent_class">
- <type name="Gst.ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="get_caps">
- <callback name="get_caps" c:type="get_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_caps">
- <callback name="set_caps" c:type="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="buffer_alloc">
- <callback name="buffer_alloc" c:type="buffer_alloc">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_times">
- <callback name="get_times" c:type="get_times">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="start">
- <callback name="start" c:type="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="stop">
- <callback name="stop" c:type="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unlock">
- <callback name="unlock" c:type="unlock">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="event">
- <callback name="event" c:type="event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="preroll">
- <callback name="preroll" c:type="preroll">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="render">
- <callback name="render" c:type="render">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="async_play">
- <callback name="async_play" c:type="async_play">
- <return-value transfer-ownership="full">
- <type name="Gst.StateChangeReturn" c:type="GstStateChangeReturn"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="activate_pull">
- <callback name="activate_pull" c:type="activate_pull">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="fixate">
- <callback name="fixate" c:type="fixate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unlock_stop">
- <callback name="unlock_stop" c:type="unlock_stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="render_list">
- <callback name="render_list" c:type="render_list">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="sink" transfer-ownership="none">
- <type name="BaseSink" c:type="GstBaseSink*"/>
- </parameter>
- <parameter name="buffer_list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="15">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseSinkPrivate" c:type="GstBaseSinkPrivate">
- </record>
- <class name="BaseSrc"
- c:type="GstBaseSrc"
- doc="The opaque #GstBaseSrc data structure."
- parent="Gst.Element"
- abstract="1"
- glib:type-name="GstBaseSrc"
- glib:get-type="gst_base_src_get_type"
- glib:type-struct="BaseSrcClass">
- <virtual-method name="get_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="negotiate">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="newsegment">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="get_times">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_size">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="size" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="is_seekable">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="unlock">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="create">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="do_seek">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="segment" transfer-ownership="none">
- <type name="Gst.Segment" c:type="GstSegment*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="query">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="check_get_range">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="fixate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="unlock_stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="prepare_seek_segment">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="seek" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="segment" transfer-ownership="none">
- <type name="Gst.Segment" c:type="GstSegment*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="wait_playing"
- c:identifier="gst_base_src_wait_playing"
- doc="If the #GstBaseSrcClass.create() method performs its own synchronisation
-against the clock it must unblock when going from PLAYING to the PAUSED state
-and call this method before continuing to produce the remaining data.
-This function will block until a state change to PLAYING happens (in which
-case this function returns #GST_FLOW_OK) or the processing must be stopped due
-to a state change to READY or a FLUSH event (in which case this function
-returns #GST_FLOW_WRONG_STATE).
-continue. Any other return value should be returned from the create vmethod."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- </method>
- <method name="set_live"
- c:identifier="gst_base_src_set_live"
- doc="If the element listens to a live source, @live should
-be set to %TRUE.
-A live source will not produce data in the PAUSED state and
-will therefore not be able to participate in the PREROLL phase
-of a pipeline. To signal this fact to the application and the
-pipeline, the state change return value of the live source will
-be GST_STATE_CHANGE_NO_PREROLL.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="live" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_live"
- c:identifier="gst_base_src_is_live"
- doc="Check if an element is in live mode.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_format"
- c:identifier="gst_base_src_set_format"
- doc="Sets the default format of the source. This will be the format used
-for sending NEW_SEGMENT events and for performing seeks.
-If a format of GST_FORMAT_BYTES is set, the element will be able to
-operate in pull mode if the #GstBaseSrc.is_seekable() returns TRUE.
-This function must only be called in states < %GST_STATE_PAUSED."
- version="0.10.1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="Gst.Format" c:type="GstFormat"/>
- </parameter>
- </parameters>
- </method>
- <method name="query_latency"
- c:identifier="gst_base_src_query_latency"
- doc="Query the source for the latency parameters. @live will be TRUE when @src is
-configured as a live source. @min_latency will be set to the difference
-between the running time and the timestamp of the first buffer.
-This function is mostly used by subclasses."
- version="0.10.13">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="live" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="min_latency" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="max_latency" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_blocksize"
- c:identifier="gst_base_src_set_blocksize"
- doc="Set the number of bytes that @src will push out with each buffer. When"
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="blocksize" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_blocksize"
- c:identifier="gst_base_src_get_blocksize"
- doc="Get the number of bytes that @src will push out with each buffer."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- </method>
- <method name="set_do_timestamp"
- c:identifier="gst_base_src_set_do_timestamp"
- doc="Configure @src to automatically timestamp outgoing buffers based on the
-current running_time of the pipeline. This property is mostly useful for live
-sources."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_do_timestamp"
- c:identifier="gst_base_src_get_do_timestamp"
- doc="Query if @src timestamps outgoing buffers based on the current running_time."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="new_seamless_segment"
- c:identifier="gst_base_src_new_seamless_segment"
- doc="Prepare a new seamless segment for emission downstream. This function must
-only be called by derived sub-classes, and only from the create() function,
-as the stream-lock needs to be held.
-The format for the new segment will be the current format of the source, as
-configured with gst_base_src_set_format()"
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="start" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="position" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <property name="blocksize" writable="1">
- <type name="ulong" c:type="gulong"/>
- </property>
- <property name="do-timestamp" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="num-buffers" writable="1">
- <type name="int" c:type="gint"/>
- </property>
- <property name="typefind" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <field name="element">
- <type name="Gst.Element" c:type="GstElement"/>
- </field>
- <field name="srcpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="live_lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="live_cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="is_live">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="live_running">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="blocksize">
- <type name="int" c:type="gint"/>
- </field>
- <field name="can_activate_push">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="pad_mode">
- <type name="Gst.ActivateMode" c:type="GstActivateMode"/>
- </field>
- <field name="seekable">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="random_access">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="clock_id">
- <type name="Gst.ClockID" c:type="GstClockID"/>
- </field>
- <field name="end_time">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="segment">
- <type name="Gst.Segment" c:type="GstSegment"/>
- </field>
- <field name="need_newsegment">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="offset">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="size">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="num_buffers">
- <type name="int" c:type="gint"/>
- </field>
- <field name="num_buffers_left">
- <type name="int" c:type="gint"/>
- </field>
- <union name="data" c:type="data">
- <record name="ABI" c:type="ABI">
- <field name="typefind" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="running" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="pending_seek" writable="1">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="19">
- <type name="any"/>
- </array>
- </field>
- </union>
- <field name="priv">
- <type name="BaseSrcPrivate" c:type="GstBaseSrcPrivate*"/>
- </field>
- </class>
- <record name="BaseSrcClass"
- c:type="GstBaseSrcClass"
- glib:is-gtype-struct-for="BaseSrc"
- doc="to produce data.
-should be pushed out. The base class will sync on the clock using
-these times.
-unblock any blocked function ASAP
-any state they set during unlock(), such as clearing command queues.
-do_seek vmethod for executing a seek request. Sub-classes should override
-this if they support seeking in formats other than the configured native
-format. By default, it tries to convert the seek arguments to the
-configured native format and prepare a segment in that format.
-operation if it were to be opened now. This vfunc is optional, but
-should be implemented if possible to avoid unnecessary start/stop
-cycles. The default implementation will open and close the resource
-to find out whether get_range is supported, and that is usually
-undesirable.
-setting a fixate function on the source pad.
-Subclasses can override any of the available virtual methods or not, as
-needed. At the minimum, the @create method should be overridden to produce
-buffers."
- version="0.10.13">
- <field name="parent_class">
- <type name="Gst.ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="get_caps">
- <callback name="get_caps" c:type="get_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_caps">
- <callback name="set_caps" c:type="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="negotiate">
- <callback name="negotiate" c:type="negotiate">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="newsegment">
- <callback name="newsegment" c:type="newsegment">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="start">
- <callback name="start" c:type="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="stop">
- <callback name="stop" c:type="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_times">
- <callback name="get_times" c:type="get_times">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_size">
- <callback name="get_size" c:type="get_size">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="size" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="is_seekable">
- <callback name="is_seekable" c:type="is_seekable">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unlock">
- <callback name="unlock" c:type="unlock">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="event">
- <callback name="event" c:type="event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="create">
- <callback name="create" c:type="create">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="do_seek">
- <callback name="do_seek" c:type="do_seek">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="segment" transfer-ownership="none">
- <type name="Gst.Segment" c:type="GstSegment*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="query">
- <callback name="query" c:type="query">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="check_get_range">
- <callback name="check_get_range" c:type="check_get_range">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="fixate">
- <callback name="fixate" c:type="fixate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="unlock_stop">
- <callback name="unlock_stop" c:type="unlock_stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="prepare_seek_segment">
- <callback name="prepare_seek_segment" c:type="prepare_seek_segment">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="BaseSrc" c:type="GstBaseSrc*"/>
- </parameter>
- <parameter name="seek" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="segment" transfer-ownership="none">
- <type name="Gst.Segment" c:type="GstSegment*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="14">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="BaseSrcFlags"
- doc="The #GstElement flags that a basesrc element may have."
- c:type="GstBaseSrcFlags">
- <member name="started"
- value="1048576"
- c:identifier="GST_BASE_SRC_STARTED"/>
- <member name="flag_last"
- value="4194304"
- c:identifier="GST_BASE_SRC_FLAG_LAST"/>
- </bitfield>
- <record name="BaseSrcPrivate" c:type="GstBaseSrcPrivate">
- </record>
- <class name="BaseTransform"
- c:type="GstBaseTransform"
- doc="The opaque #GstBaseTransform data structure."
- parent="Gst.Element"
- abstract="1"
- glib:type-name="GstBaseTransform"
- glib:get-type="gst_base_transform_get_type"
- glib:type-struct="BaseTransformClass">
- <virtual-method name="transform_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="direction" transfer-ownership="none">
- <type name="Gst.PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="fixate_caps">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="direction" transfer-ownership="none">
- <type name="Gst.PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="othercaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="transform_size">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="direction" transfer-ownership="none">
- <type name="Gst.PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="othercaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="othersize"
- direction="out"
- transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_unit_size">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="size" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="incaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="outcaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </virtual-method>
- <virtual-method name="event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="transform">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="inbuf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="outbuf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="transform_ip">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="prepare_output_buffer">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="input" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="src_event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="before_transform">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="set_passthrough"
- c:identifier="gst_base_transform_set_passthrough"
- doc="Set passthrough mode for this filter by default. This is mostly
-useful for filters that do not care about negotiation.
-Always TRUE for filters which don't implement either a transform
-or transform_ip method.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="passthrough" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_passthrough"
- c:identifier="gst_base_transform_is_passthrough"
- doc="See if @trans is configured as a passthrough transform.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_in_place"
- c:identifier="gst_base_transform_set_in_place"
- doc="on in_place buffers.
-Determines whether a non-writable buffer will be copied before passing
-to the transform_ip function.
-<itemizedlist>
-<listitem>Always TRUE if no transform function is implemented.</listitem>
-<listitem>Always FALSE if ONLY transform function is implemented.</listitem>
-</itemizedlist>
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="in_place" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_in_place"
- c:identifier="gst_base_transform_is_in_place"
- doc="See if @trans is configured as a in_place transform.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="update_qos"
- c:identifier="gst_base_transform_update_qos"
- doc="running_time.
-Set the QoS parameters in the transform. This function is called internally
-when a QOS event is received but subclasses can provide custom information
-when needed.
-MT safe."
- version="0.10.5">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="proportion" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- <parameter name="diff" transfer-ownership="none">
- <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_qos_enabled"
- c:identifier="gst_base_transform_set_qos_enabled"
- doc="Enable or disable QoS handling in the transform.
-MT safe."
- version="0.10.5">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="enabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_qos_enabled"
- c:identifier="gst_base_transform_is_qos_enabled"
- doc="Queries if the transform will handle QoS.
-MT safe."
- version="0.10.5">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="set_gap_aware"
- c:identifier="gst_base_transform_set_gap_aware"
- doc="If @gap_aware is %FALSE (the default), output buffers will have the
-%GST_BUFFER_FLAG_GAP flag unset.
-If set to %TRUE, the element must handle output buffers with this flag set
-correctly, i.e. it can assume that the buffer contains neutral data but must
-unset the flag if the output is no neutral data.
-MT safe."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="gap_aware" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="suggest"
- c:identifier="gst_base_transform_suggest"
- doc="Instructs @trans to suggest new @caps upstream. A copy of @caps will be
-taken."
- version="0.10.21">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="reconfigure"
- c:identifier="gst_base_transform_reconfigure"
- doc="Instructs @trans to renegotiate a new downstream transform on the next
-buffer. This function is typically called after properties on the transform
-were set that influence the output format."
- version="0.10.21">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <property name="qos" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <field name="element">
- <type name="Gst.Element" c:type="GstElement"/>
- </field>
- <field name="sinkpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="srcpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="passthrough">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="always_in_place">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="cache_caps1">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </field>
- <field name="cache_caps1_size">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="cache_caps2">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </field>
- <field name="cache_caps2_size">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="have_same_caps">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="delay_configure">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="pending_configure">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="negotiated">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="have_newsegment">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="segment">
- <type name="Gst.Segment" c:type="GstSegment"/>
- </field>
- <field name="transform_lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="priv">
- <type name="BaseTransformPrivate" c:type="GstBaseTransformPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="19">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="BaseTransformClass"
- c:type="GstBaseTransformClass"
- glib:is-gtype-struct-for="BaseTransform"
- doc="caps, what caps are allowed on the other pad in this
-element ?
-caps, fixate the caps on the other pad.
-with the given caps, calculate the size in bytes of a buffer
-on the other pad with the given other caps.
-The default implementation uses get_unit_size and keeps
-the number of units the same.
-get the size in bytes of one unit for the given caps.
-Called when the element starts processing.
-Allows opening external resources.
-Called when the element stops processing.
-Allows closing external resources.
-Transforms one incoming buffer to one outgoing buffer.
-The function is allowed to change size/timestamp/duration
-of the outgoing buffer.
-Transform the incoming buffer in-place.
-Event handler on the sink pad. This function should return
-TRUE if the base class should forward the event.
-Event handler on the source pad.
-automatically enabled if the caps are the same.
-Subclasses can override this to do their own
-allocation of output buffers. Elements that only do
-analysis can return a subbuffer or even just
-increment the reference to the input buffer (if in
-passthrough mode)
-This method is called right before the base class will
-start processing. Dynamic properties or other delayed
-configuration could be performed in this method.
-Subclasses can override any of the available virtual methods or not, as
-needed. At minimum either @transform or @transform_ip need to be overridden.
-If the element can overwrite the input data with the results (data is of the
-same type and quantity) it should provide @transform_ip.">
- <field name="parent_class">
- <type name="Gst.ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="transform_caps">
- <callback name="transform_caps" c:type="transform_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <type name="Gst.PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="fixate_caps">
- <callback name="fixate_caps" c:type="fixate_caps">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <type name="Gst.PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="othercaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="transform_size">
- <callback name="transform_size" c:type="transform_size">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <type name="Gst.PadDirection" c:type="GstPadDirection"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="othercaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="othersize"
- direction="out"
- transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_unit_size">
- <callback name="get_unit_size" c:type="get_unit_size">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="size" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_caps">
- <callback name="set_caps" c:type="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="incaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="outcaps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="start">
- <callback name="start" c:type="start">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="stop">
- <callback name="stop" c:type="stop">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="event">
- <callback name="event" c:type="event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="transform">
- <callback name="transform" c:type="transform">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="inbuf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="outbuf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="transform_ip">
- <callback name="transform_ip" c:type="transform_ip">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="passthrough_on_same_caps">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="prepare_output_buffer">
- <callback name="prepare_output_buffer" c:type="prepare_output_buffer">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="input" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="src_event">
- <callback name="src_event" c:type="src_event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="before_transform">
- <callback name="before_transform" c:type="before_transform">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="BaseTransform" c:type="GstBaseTransform*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="18">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseTransformPrivate" c:type="GstBaseTransformPrivate">
- </record>
- <record name="BitReader"
- c:type="GstBitReader"
- doc="A bit reader instance.">
- <field name="data" writable="1">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="size" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="byte" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="bit" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <constructor name="new"
- c:identifier="gst_bit_reader_new"
- doc="Create a new #GstBitReader instance, which will read from @data."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="BitReader" c:type="GstBitReader*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_buffer"
- c:identifier="gst_bit_reader_new_from_buffer"
- doc="Create a new #GstBitReader instance, which will read from the
-#GstBuffer @buffer."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="BitReader" c:type="GstBitReader*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="free"
- c:identifier="gst_bit_reader_free"
- doc="Frees a #GstBitReader instance, which was previously allocated by
-gst_bit_reader_new() or gst_bit_reader_new_from_buffer()."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="init"
- c:identifier="gst_bit_reader_init"
- doc="Initializes a #GstBitReader instance to read from @data. This function
-can be called on already initialized instances."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_from_buffer"
- c:identifier="gst_bit_reader_init_from_buffer"
- doc="Initializes a #GstBitReader instance to read from @buffer. This function
-can be called on already initialized instances."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_pos"
- c:identifier="gst_bit_reader_set_pos"
- doc="Sets the new position of a #GstBitReader instance to @pos in bits.
-otherwise."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pos"
- c:identifier="gst_bit_reader_get_pos"
- doc="Returns the current position of a #GstBitReader instance in bits."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_remaining"
- c:identifier="gst_bit_reader_get_remaining"
- doc="Returns the remaining number of bits of a #GstBitReader instance."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_size"
- c:identifier="gst_bit_reader_get_size"
- doc="Returns the total number of bits of a #GstBitReader instance."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="skip"
- c:identifier="gst_bit_reader_skip"
- doc="Skips @nbits bits of the #GstBitReader instance."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="skip_to_byte"
- c:identifier="gst_bit_reader_skip_to_byte"
- doc="Skips until the next byte."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_bits_uint8"
- c:identifier="gst_bit_reader_get_bits_uint8"
- doc="Read @nbits bits into @val and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_bits_uint16"
- c:identifier="gst_bit_reader_get_bits_uint16"
- doc="Read @nbits bits into @val and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_bits_uint32"
- c:identifier="gst_bit_reader_get_bits_uint32"
- doc="Read @nbits bits into @val and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_bits_uint64"
- c:identifier="gst_bit_reader_get_bits_uint64"
- doc="Read @nbits bits into @val and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_bits_uint8"
- c:identifier="gst_bit_reader_peek_bits_uint8"
- doc="Read @nbits bits into @val but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_bits_uint16"
- c:identifier="gst_bit_reader_peek_bits_uint16"
- doc="Read @nbits bits into @val but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_bits_uint32"
- c:identifier="gst_bit_reader_peek_bits_uint32"
- doc="Read @nbits bits into @val but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_bits_uint64"
- c:identifier="gst_bit_reader_peek_bits_uint64"
- doc="Read @nbits bits into @val but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="nbits" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="ByteReader"
- c:type="GstByteReader"
- doc="A byte reader instance.">
- <field name="data" writable="1">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="size" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="byte" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <constructor name="new"
- c:identifier="gst_byte_reader_new"
- doc="Create a new #GstByteReader instance, which will read from @data."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="ByteReader" c:type="GstByteReader*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_buffer"
- c:identifier="gst_byte_reader_new_from_buffer"
- doc="Create a new #GstByteReader instance, which will read from the
-#GstBuffer @buffer."
- version="0.10.22">
- <return-value transfer-ownership="full">
- <type name="ByteReader" c:type="GstByteReader*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="free"
- c:identifier="gst_byte_reader_free"
- doc="Frees a #GstByteReader instance, which was previously allocated by
-gst_byte_reader_new() or gst_byte_reader_new_from_buffer()."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="init"
- c:identifier="gst_byte_reader_init"
- doc="Initializes a #GstByteReader instance to read from @data. This function
-can be called on already initialized instances."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_from_buffer"
- c:identifier="gst_byte_reader_init_from_buffer"
- doc="Initializes a #GstByteReader instance to read from @buffer. This function
-can be called on already initialized instances."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_pos"
- c:identifier="gst_byte_reader_set_pos"
- doc="Sets the new position of a #GstByteReader instance to @pos in bytes.
-otherwise."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pos"
- c:identifier="gst_byte_reader_get_pos"
- doc="Returns the current position of a #GstByteReader instance in bytes."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_remaining"
- c:identifier="gst_byte_reader_get_remaining"
- doc="Returns the remaining number of bytes of a #GstByteReader instance."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_size"
- c:identifier="gst_byte_reader_get_size"
- doc="Returns the total number of bytes of a #GstByteReader instance."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="skip"
- c:identifier="gst_byte_reader_skip"
- doc="Skips @nbytes bytes of the #GstByteReader instance."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="nbytes" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint8"
- c:identifier="gst_byte_reader_get_uint8"
- doc="Read an unsigned 8 bit integer into @val and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_int8"
- c:identifier="gst_byte_reader_get_int8"
- doc="Read a signed 8 bit integer into @val and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int8" c:type="gint8*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint16_le"
- c:identifier="gst_byte_reader_get_uint16_le"
- doc="Read an unsigned 16 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int16_le"
- c:identifier="gst_byte_reader_get_int16_le"
- doc="Read a signed 16 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint16_be"
- c:identifier="gst_byte_reader_get_uint16_be"
- doc="Read an unsigned 16 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int16_be"
- c:identifier="gst_byte_reader_get_int16_be"
- doc="Read a signed 16 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint24_le"
- c:identifier="gst_byte_reader_get_uint24_le"
- doc="Read an unsigned 24 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int24_le"
- c:identifier="gst_byte_reader_get_int24_le"
- doc="Read a signed 24 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint24_be"
- c:identifier="gst_byte_reader_get_uint24_be"
- doc="Read an unsigned 24 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int24_be"
- c:identifier="gst_byte_reader_get_int24_be"
- doc="Read a signed 24 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint32_le"
- c:identifier="gst_byte_reader_get_uint32_le"
- doc="Read an unsigned 32 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int32_le"
- c:identifier="gst_byte_reader_get_int32_le"
- doc="Read a signed 32 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint32_be"
- c:identifier="gst_byte_reader_get_uint32_be"
- doc="Read an unsigned 32 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int32_be"
- c:identifier="gst_byte_reader_get_int32_be"
- doc="Read a signed 32 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint64_le"
- c:identifier="gst_byte_reader_get_uint64_le"
- doc="Read an unsigned 64 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int64_le"
- c:identifier="gst_byte_reader_get_int64_le"
- doc="Read a signed 64 bit little endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uint64_be"
- c:identifier="gst_byte_reader_get_uint64_be"
- doc="Read an unsigned 64 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_int64_be"
- c:identifier="gst_byte_reader_get_int64_be"
- doc="Read a signed 64 bit big endian integer into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint8"
- c:identifier="gst_byte_reader_peek_uint8"
- doc="Read a signed 8 bit integer into @val but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int8"
- c:identifier="gst_byte_reader_peek_int8"
- doc="Read a signed 8 bit integer into @val but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int8" c:type="gint8*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint16_le"
- c:identifier="gst_byte_reader_peek_uint16_le"
- doc="Read a signed 16 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int16_le"
- c:identifier="gst_byte_reader_peek_int16_le"
- doc="Read a signed 16 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint16_be"
- c:identifier="gst_byte_reader_peek_uint16_be"
- doc="Read a signed 16 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int16_be"
- c:identifier="gst_byte_reader_peek_int16_be"
- doc="Read a signed 16 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint24_le"
- c:identifier="gst_byte_reader_peek_uint24_le"
- doc="Read a signed 24 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int24_le"
- c:identifier="gst_byte_reader_peek_int24_le"
- doc="Read a signed 24 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint24_be"
- c:identifier="gst_byte_reader_peek_uint24_be"
- doc="Read a signed 24 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int24_be"
- c:identifier="gst_byte_reader_peek_int24_be"
- doc="Read a signed 24 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint32_le"
- c:identifier="gst_byte_reader_peek_uint32_le"
- doc="Read a signed 32 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int32_le"
- c:identifier="gst_byte_reader_peek_int32_le"
- doc="Read a signed 32 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint32_be"
- c:identifier="gst_byte_reader_peek_uint32_be"
- doc="Read a signed 32 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int32_be"
- c:identifier="gst_byte_reader_peek_int32_be"
- doc="Read a signed 32 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint64_le"
- c:identifier="gst_byte_reader_peek_uint64_le"
- doc="Read a signed 64 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int64_le"
- c:identifier="gst_byte_reader_peek_int64_le"
- doc="Read a signed 64 bit little endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_uint64_be"
- c:identifier="gst_byte_reader_peek_uint64_be"
- doc="Read a signed 64 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_int64_be"
- c:identifier="gst_byte_reader_peek_int64_be"
- doc="Read a signed 64 bit big endian integer into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_float32_le"
- c:identifier="gst_byte_reader_get_float32_le"
- doc="Read a 32 bit little endian floating point value into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_float32_be"
- c:identifier="gst_byte_reader_get_float32_be"
- doc="Read a 32 bit big endian floating point value into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_float64_le"
- c:identifier="gst_byte_reader_get_float64_le"
- doc="Read a 64 bit little endian floating point value into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_float64_be"
- c:identifier="gst_byte_reader_get_float64_be"
- doc="Read a 64 bit big endian floating point value into @val
-and update the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_float32_le"
- c:identifier="gst_byte_reader_peek_float32_le"
- doc="Read a 32 bit little endian floating point value into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_float32_be"
- c:identifier="gst_byte_reader_peek_float32_be"
- doc="Read a 32 bit big endian floating point value into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_float64_le"
- c:identifier="gst_byte_reader_peek_float64_le"
- doc="Read a 64 bit little endian floating point value into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_float64_be"
- c:identifier="gst_byte_reader_peek_float64_be"
- doc="Read a 64 bit big endian floating point value into @val
-but keep the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="dup_data"
- c:identifier="gst_byte_reader_dup_data"
- doc="Returns a newly-allocated copy of the current data
-position if at least @size bytes are left and
-updates the current position."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_data"
- c:identifier="gst_byte_reader_get_data"
- doc="Returns a constant pointer to the current data
-position if at least @size bytes are left and
-updates the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek_data"
- c:identifier="gst_byte_reader_peek_data"
- doc="Returns a constant pointer to the current data
-position if at least @size bytes are left and
-keeps the current position."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="val" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- </parameters>
- </method>
- <method name="dup_string_utf8"
- c:identifier="gst_byte_reader_dup_string_utf8"
- doc="FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance,
-advancing the current position to the byte after the string. This will work
-for any NUL-terminated string with a character width of 8 bits, so ASCII,
-UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
-This function will fail if no NUL-terminator was found in in the data.
-string put into @str must be freed with g_free() when no longer needed."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="dup_string_utf16"
- c:identifier="gst_byte_reader_dup_string_utf16"
- doc="Returns a newly-allocated copy of the current data position if there is
-a NUL-terminated UTF-16 string in the data (this could be an empty string
-as well), and advances the current position.
-No input checking for valid UTF-16 is done. This function is endianness
-agnostic - you should not assume the UTF-16 characters are in host
-endianness.
-This function will fail if no NUL-terminator was found in in the data.
-byte alignment of the UTF-16 string.
-string put into @str must be freed with g_free() when no longer needed."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16**"/>
- </parameter>
- </parameters>
- </method>
- <method name="dup_string_utf32"
- c:identifier="gst_byte_reader_dup_string_utf32"
- doc="Returns a newly-allocated copy of the current data position if there is
-a NUL-terminated UTF-32 string in the data (this could be an empty string
-as well), and advances the current position.
-No input checking for valid UTF-32 is done. This function is endianness
-agnostic - you should not assume the UTF-32 characters are in host
-endianness.
-This function will fail if no NUL-terminator was found in in the data.
-byte alignment of the UTF-32 string.
-string put into @str must be freed with g_free() when no longer needed."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32**"/>
- </parameter>
- </parameters>
- </method>
- <method name="skip_string_utf8"
- c:identifier="gst_byte_reader_skip_string_utf8"
- doc="Skips a NUL-terminated string in the #GstByteReader instance, advancing
-the current position to the byte after the string. This will work for
-any NUL-terminated string with a character width of 8 bits, so ASCII,
-UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
-This function will fail if no NUL-terminator was found in in the data."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="skip_string_utf16"
- c:identifier="gst_byte_reader_skip_string_utf16"
- doc="Skips a NUL-terminated UTF-16 string in the #GstByteReader instance,
-advancing the current position to the byte after the string.
-No input checking for valid UTF-16 is done.
-This function will fail if no NUL-terminator was found in in the data."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="skip_string_utf32"
- c:identifier="gst_byte_reader_skip_string_utf32"
- doc="Skips a NUL-terminated UTF-32 string in the #GstByteReader instance,
-advancing the current position to the byte after the string.
-No input checking for valid UTF-32 is done.
-This function will fail if no NUL-terminator was found in in the data."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_string_utf8"
- c:identifier="gst_byte_reader_get_string_utf8"
- doc="Returns a constant pointer to the current data position if there is
-a NUL-terminated string in the data (this could be just a NUL terminator),
-advancing the current position to the byte after the string. This will work
-for any NUL-terminated string with a character width of 8 bits, so ASCII,
-UTF-8, ISO-8859-N etc.
-No input checking for valid UTF-8 is done.
-This function will fail if no NUL-terminator was found in in the data."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="peek_string_utf8"
- c:identifier="gst_byte_reader_peek_string_utf8"
- doc="Returns a constant pointer to the current data position if there is
-a NUL-terminated string in the data (this could be just a NUL terminator).
-The current position will be maintained. This will work for any
-NUL-terminated string with a character width of 8 bits, so ASCII,
-UTF-8, ISO-8859-N etc.
-No input checking for valid UTF-8 is done.
-This function will fail if no NUL-terminator was found in in the data."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="masked_scan_uint32"
- c:identifier="gst_byte_reader_masked_scan_uint32"
- doc="position
-Scan for pattern @pattern with applied mask @mask in the byte reader data,
-starting from offset @offset relative to the current position.
-The bytes in @pattern and @mask are interpreted left-to-right, regardless
-of endianness. All four bytes of the pattern must be present in the
-byte reader data for it to match, even if the first or last bytes are masked
-out.
-It is an error to call this function without making sure that there is
-enough data (offset+size bytes) in the byte reader.
-Example:
-<programlisting>
-// Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff
-gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256);
-// -> returns 0
-gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255);
-// -> returns -1
-gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255);
-// -> returns 1
-gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256);
-// -> returns -1
-gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256);
-// -> returns 0
-gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256);
-// -> returns 2
-gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4);
-// -> returns -1
-</programlisting>"
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="mask" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="pattern" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="ByteWriter"
- c:type="GstByteWriter"
- doc="A byte writer instance.">
- <field name="parent" writable="1">
- <type name="ByteReader" c:type="GstByteReader"/>
- </field>
- <field name="alloc_size" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="fixed" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="owned" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <constructor name="new"
- c:identifier="gst_byte_writer_new"
- doc="Creates a new, empty #GstByteWriter instance"
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="ByteWriter" c:type="GstByteWriter*"/>
- </return-value>
- </constructor>
- <constructor name="new_with_size"
- c:identifier="gst_byte_writer_new_with_size"
- doc="Creates a new #GstByteWriter instance with the given
-initial data size."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="ByteWriter" c:type="GstByteWriter*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="fixed" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_with_data"
- c:identifier="gst_byte_writer_new_with_data"
- doc="Creates a new #GstByteWriter instance with the given
-memory area. If @initialized is %TRUE it is possible to
-read @size bytes from the #GstByteWriter from the beginning."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="ByteWriter" c:type="GstByteWriter*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="initialized" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_with_buffer"
- c:identifier="gst_byte_writer_new_with_buffer"
- doc="Creates a new #GstByteWriter instance with the given
-buffer. If @initialized is %TRUE it is possible to
-read the complete buffer from the #GstByteWriter from the beginning.
-<note>@buffer must be writable</note>"
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="ByteWriter" c:type="GstByteWriter*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="initialized" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="init"
- c:identifier="gst_byte_writer_init"
- doc="Initializes @writer to an empty instance"
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="init_with_size"
- c:identifier="gst_byte_writer_init_with_size"
- doc="Initializes @writer with the given initial data size."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="fixed" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_with_data"
- c:identifier="gst_byte_writer_init_with_data"
- doc="Initializes @writer with the given
-memory area. If @initialized is %TRUE it is possible to
-read @size bytes from the #GstByteWriter from the beginning."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="initialized" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_with_buffer"
- c:identifier="gst_byte_writer_init_with_buffer"
- doc="Initializes @writer with the given
-buffer. If @initialized is %TRUE it is possible to
-read the complete buffer from the #GstByteWriter from the beginning.
-<note>@buffer must be writable</note>"
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="initialized" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_byte_writer_free"
- doc="Frees @writer and all memory allocated by it."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="free_and_get_data"
- c:identifier="gst_byte_writer_free_and_get_data"
- doc="Frees @writer and all memory allocated by it except
-the current data, which is returned."
- version="0.10.26">
- <return-value transfer-ownership="full" doc="after usage.">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </return-value>
- </method>
- <method name="free_and_get_buffer"
- c:identifier="gst_byte_writer_free_and_get_buffer"
- doc="Frees @writer and all memory allocated by it except
-the current data, which is returned as #GstBuffer."
- version="0.10.26">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="reset"
- c:identifier="gst_byte_writer_reset"
- doc="Resets @writer and frees the data if it's
-owned by @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="reset_and_get_data"
- c:identifier="gst_byte_writer_reset_and_get_data"
- doc="Resets @writer and returns the current data."
- version="0.10.26">
- <return-value transfer-ownership="full" doc="after usage.">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </return-value>
- </method>
- <method name="reset_and_get_buffer"
- c:identifier="gst_byte_writer_reset_and_get_buffer"
- doc="Resets @writer and returns the current data as buffer."
- version="0.10.26">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- </method>
- <method name="get_remaining"
- c:identifier="gst_byte_writer_get_remaining"
- doc="Returns the remaining size of data that can still be written. If
--1 is returned the remaining size is only limited by system resources."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="ensure_free_space"
- c:identifier="gst_byte_writer_ensure_free_space"
- doc="Checks if enough free space from the current write cursor is
-available and reallocates if necessary."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint8"
- c:identifier="gst_byte_writer_put_uint8"
- doc="Writes a unsigned 8 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int8"
- c:identifier="gst_byte_writer_put_int8"
- doc="Writes a signed 8 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int8" c:type="gint8"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint16_be"
- c:identifier="gst_byte_writer_put_uint16_be"
- doc="Writes a unsigned big endian 16 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint16_le"
- c:identifier="gst_byte_writer_put_uint16_le"
- doc="Writes a unsigned little endian 16 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int16_be"
- c:identifier="gst_byte_writer_put_int16_be"
- doc="Writes a signed big endian 16 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int16" c:type="gint16"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int16_le"
- c:identifier="gst_byte_writer_put_int16_le"
- doc="Writes a signed little endian 16 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int16" c:type="gint16"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint24_be"
- c:identifier="gst_byte_writer_put_uint24_be"
- doc="Writes a unsigned big endian 24 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint24_le"
- c:identifier="gst_byte_writer_put_uint24_le"
- doc="Writes a unsigned little endian 24 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int24_be"
- c:identifier="gst_byte_writer_put_int24_be"
- doc="Writes a signed big endian 24 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int24_le"
- c:identifier="gst_byte_writer_put_int24_le"
- doc="Writes a signed little endian 24 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint32_be"
- c:identifier="gst_byte_writer_put_uint32_be"
- doc="Writes a unsigned big endian 32 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint32_le"
- c:identifier="gst_byte_writer_put_uint32_le"
- doc="Writes a unsigned little endian 32 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int32_be"
- c:identifier="gst_byte_writer_put_int32_be"
- doc="Writes a signed big endian 32 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int32_le"
- c:identifier="gst_byte_writer_put_int32_le"
- doc="Writes a signed little endian 32 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint64_be"
- c:identifier="gst_byte_writer_put_uint64_be"
- doc="Writes a unsigned big endian 64 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_uint64_le"
- c:identifier="gst_byte_writer_put_uint64_le"
- doc="Writes a unsigned little endian 64 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int64_be"
- c:identifier="gst_byte_writer_put_int64_be"
- doc="Writes a signed big endian 64 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_int64_le"
- c:identifier="gst_byte_writer_put_int64_le"
- doc="Writes a signed little endian 64 bit integer to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_float32_be"
- c:identifier="gst_byte_writer_put_float32_be"
- doc="Writes a big endian 32 bit float to @writer."
- version="0.10.27">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="float" c:type="gfloat"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_float32_le"
- c:identifier="gst_byte_writer_put_float32_le"
- doc="Writes a little endian 32 bit float to @writer."
- version="0.10.27">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="float" c:type="gfloat"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_float64_be"
- c:identifier="gst_byte_writer_put_float64_be"
- doc="Writes a big endian 64 bit float to @writer."
- version="0.10.27">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_float64_le"
- c:identifier="gst_byte_writer_put_float64_le"
- doc="Writes a little endian 64 bit float to @writer."
- version="0.10.27">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="val" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_data"
- c:identifier="gst_byte_writer_put_data"
- doc="Writes @size bytes of @data to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="fill"
- c:identifier="gst_byte_writer_fill"
- doc="Writes @size bytes containing @value to @writer."
- version="0.10.27">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_string_utf8"
- c:identifier="gst_byte_writer_put_string_utf8"
- doc="Writes a null-terminated UTF8 string to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_string_utf16"
- c:identifier="gst_byte_writer_put_string_utf16"
- doc="Writes a null-terminated UTF16 string to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" direction="out" transfer-ownership="none">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="put_string_utf32"
- c:identifier="gst_byte_writer_put_string_utf32"
- doc="Writes a null-terminated UTF32 string to @writer."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" direction="out" transfer-ownership="none">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="CollectData"
- c:type="GstCollectData"
- doc="Structure used by the collect_pads.">
- <field name="collect" writable="1">
- <type name="CollectPads" c:type="GstCollectPads*"/>
- </field>
- <field name="pad" writable="1">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="buffer" writable="1">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </field>
- <field name="pos" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="segment" writable="1">
- <type name="Gst.Segment" c:type="GstSegment"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="flushing" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="new_segment" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="eos" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="refcount" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </union>
- </record>
- <callback name="CollectDataDestroyNotify"
- c:type="GstCollectDataDestroyNotify"
- doc="A function that will be called when the #GstCollectData will be freed.
-It is passed the pointer to the structure and should free any custom
-memory and resources allocated for it."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- </parameters>
- </callback>
- <class name="CollectPads"
- c:type="GstCollectPads"
- doc="Collectpads object.
-Note that @data doesn't contain the complete #GstCollectData list
-at all times and should not be used for iterating them."
- parent="Gst.Object"
- glib:type-name="GstCollectPads"
- glib:get-type="gst_collect_pads_get_type"
- glib:type-struct="CollectPadsClass">
- <constructor name="new"
- c:identifier="gst_collect_pads_new"
- doc="Create a new instance of #GstCollectPads.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="CollectPads" c:type="GstCollectPads*"/>
- </return-value>
- </constructor>
- <method name="set_function"
- c:identifier="gst_collect_pads_set_function"
- doc="Set the callback function and user data that will be called when
-all the pads added to the collection have buffers queued.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_clip_function"
- c:identifier="gst_collect_pads_set_clip_function"
- doc="Install a clipping function that is called right after a buffer is received
-on a pad managed by @pads. See #GstCollectDataClipFunction for more info."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="clipfunc"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <type name="CollectPadsClipFunction"
- c:type="GstCollectPadsClipFunction"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_pad"
- c:identifier="gst_collect_pads_add_pad"
- doc="Add a pad to the collection of collect pads. The pad has to be
-a sinkpad. The refcount of the pad is incremented. Use
-gst_collect_pads_remove_pad() to remove the pad from the collection
-again.
-This function will override the chain and event functions of the pad
-along with the element_private data, which is used to store private
-information for the collectpads.
-You specify a size for the returned #GstCollectData structure
-so that you can use it to store additional information.
-The pad will be automatically activated in push mode when @pads is
-started.
-This function calls gst_collect_pads_add_pad() passing a value of NULL
-for destroy_notify.
-if wrong parameters are supplied.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="CollectData" c:type="GstCollectData*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_pad_full"
- c:identifier="gst_collect_pads_add_pad_full"
- doc="structure is freed
-Add a pad to the collection of collect pads. The pad has to be
-a sinkpad. The refcount of the pad is incremented. Use
-gst_collect_pads_remove_pad() to remove the pad from the collection
-again.
-You specify a size for the returned #GstCollectData structure
-so that you can use it to store additional information.
-You can also specify a #GstCollectDataDestroyNotify that will be called
-just before the #GstCollectData structure is freed. It is passed the
-pointer to the structure and should free any custom memory and resources
-allocated for it.
-The pad will be automatically activated in push mode when @pads is
-started.
-if wrong parameters are supplied.
-MT safe."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="CollectData" c:type="GstCollectData*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="destroy_notify"
- transfer-ownership="none"
- scope="call">
- <type name="CollectDataDestroyNotify"
- c:type="GstCollectDataDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_pad"
- c:identifier="gst_collect_pads_remove_pad"
- doc="Remove a pad from the collection of collect pads. This function will also
-free the #GstCollectData and all the resources that were allocated with
-gst_collect_pads_add_pad().
-The pad will be deactivated automatically when @pads is stopped.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_active"
- c:identifier="gst_collect_pads_is_active"
- doc="Check if a pad is active.
-This function is currently not implemented.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </method>
- <method name="collect"
- c:identifier="gst_collect_pads_collect"
- doc="Collect data on all pads. This function is usually called
-from a #GstTask function in an element.
-This function is currently not implemented.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- </method>
- <method name="collect_range"
- c:identifier="gst_collect_pads_collect_range"
- doc="Collect data with @offset and @length on all pads. This function
-is typically called in the getrange function of an element.
-This function is currently not implemented.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="start"
- c:identifier="gst_collect_pads_start"
- doc="Starts the processing of data in the collect_pads.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="stop"
- c:identifier="gst_collect_pads_stop"
- doc="Stops the processing of data in the collect_pads. this function
-will also unblock any blocking operations.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_flushing"
- c:identifier="gst_collect_pads_set_flushing"
- doc="Change the flushing state of all the pads in the collection. No pad
-is able to accept anymore data when @flushing is %TRUE. Calling this
-function with @flushing %FALSE makes @pads accept data again.
-MT safe."
- version="0.10.7.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flushing" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="peek"
- c:identifier="gst_collect_pads_peek"
- doc="Peek at the buffer currently queued in @data. This function
-should be called with the @pads LOCK held, such as in the callback
-handler.
-should unref the buffer after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- </parameters>
- </method>
- <method name="pop"
- c:identifier="gst_collect_pads_pop"
- doc="Pop the buffer currently queued in @data. This function
-should be called with the @pads LOCK held, such as in the callback
-handler.
-You should unref the buffer after usage.
-MT safe.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- </parameters>
- </method>
- <method name="available"
- c:identifier="gst_collect_pads_available"
- doc="Query how much bytes can be read from each queued buffer. This means
-that the result of this call is the maximum number of bytes that can
-be read from each of the pads.
-This function should be called with @pads LOCK held, such as
-in the callback.
-returns 0 if a pad has no queued buffer.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="read"
- c:identifier="gst_collect_pads_read"
- doc="Get a pointer in @bytes where @size bytes can be read from the
-given pad @data.
-This function should be called with @pads LOCK held, such as
-in the callback.
-memory pointed to by @bytes. This can be less than @size and
-is 0 if the pad is end-of-stream.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- <parameter name="bytes" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="read_buffer"
- c:identifier="gst_collect_pads_read_buffer"
- doc="Get a buffer of @size bytes from the given pad @data.
-This function should be called with @pads LOCK held, such as in the callback.
-A return of NULL signals that the pad is end-of-stream.
-Unref the buffer after use.
-MT safe."
- version="0.10.18">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_buffer"
- c:identifier="gst_collect_pads_take_buffer"
- doc="Get a buffer of @size bytes from the given pad @data. Flushes the amount
-of read bytes.
-This function should be called with @pads LOCK held, such as in the callback.
-A return of NULL signals that the pad is end-of-stream.
-Unref the buffer after use.
-MT safe."
- version="0.10.18">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="flush"
- c:identifier="gst_collect_pads_flush"
- doc="Flush @size bytes from the pad @data.
-This function should be called with @pads LOCK held, such as
-in the callback.
-is 0 if the pad was end-of-stream.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <field name="object">
- <type name="Gst.Object" c:type="GstObject"/>
- </field>
- <field name="data">
- <type name="GLib.SList" c:type="GSList*"/>
- </field>
- <field name="cookie">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="cond">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="func">
- <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
- </field>
- <field name="user_data">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="numpads">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="queuedpads">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="eospads">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="started">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="pad_lock" writable="1">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="pad_list" writable="1">
- <type name="GLib.SList" c:type="GSList*"/>
- </field>
- <field name="pad_cookie" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="priv" writable="1">
- <type name="CollectPadsPrivate" c:type="GstCollectPadsPrivate*"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </union>
- </class>
- <record name="CollectPadsClass"
- c:type="GstCollectPadsClass"
- glib:is-gtype-struct-for="CollectPads">
- <field name="parent_class">
- <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="CollectPadsClipFunction"
- c:type="GstCollectPadsClipFunction"
- doc="A function that will be called when @buffer is received on the pad managed
-by @data in the collecpad object @pads.
-The function should use the segment of @data and the negotiated media type on
-the pad to perform clipping of @buffer.
-This function takes ownership of @buffer.
-the buffer has been clipped completely."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="pads" transfer-ownership="none">
- <type name="CollectPads" c:type="GstCollectPads*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="CollectData" c:type="GstCollectData*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="3">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="CollectPadsFunction"
- c:type="GstCollectPadsFunction"
- doc="A function that will be called when all pads have received data.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="pads" transfer-ownership="none">
- <type name="CollectPads" c:type="GstCollectPads*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="CollectPadsPrivate" c:type="GstCollectPadsPrivate">
- </record>
- <class name="DataQueue"
- c:type="GstDataQueue"
- doc="Opaque #GstDataQueue structure."
- parent="GObject.Object"
- glib:type-name="GstDataQueue"
- glib:get-type="gst_data_queue_get_type"
- glib:type-struct="DataQueueClass">
- <constructor name="new" c:identifier="gst_data_queue_new" doc="or not.">
- <return-value transfer-ownership="full">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </return-value>
- <parameters>
- <parameter name="checkfull"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <type name="DataQueueCheckFullFunction"
- c:type="GstDataQueueCheckFullFunction"/>
- </parameter>
- <parameter name="checkdata" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_full"
- c:identifier="gst_data_queue_new_full"
- doc="or not.
-Creates a new #GstDataQueue. The difference with @gst_data_queue_new is that it will
-not emit the 'full' and 'empty' signals, but instead calling directly @fullcallback
-or @emptycallback."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </return-value>
- <parameters>
- <parameter name="checkfull" transfer-ownership="none" scope="call">
- <type name="DataQueueCheckFullFunction"
- c:type="GstDataQueueCheckFullFunction"/>
- </parameter>
- <parameter name="fullcallback"
- transfer-ownership="none"
- scope="call">
- <type name="DataQueueFullCallback"
- c:type="GstDataQueueFullCallback"/>
- </parameter>
- <parameter name="emptycallback"
- transfer-ownership="none"
- scope="call"
- closure="3">
- <type name="DataQueueEmptyCallback"
- c:type="GstDataQueueEmptyCallback"/>
- </parameter>
- <parameter name="checkdata" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="push"
- c:identifier="gst_data_queue_push"
- doc="Pushes a #GstDataQueueItem (or a structure that begins with the same fields)
-on the @queue. If the @queue is full, the call will block until space is
-available, OR the @queue is set to flushing state.
-MT safe.
-Note that this function has slightly different semantics than gst_pad_push()
-the #GstMiniObject contained in @item if the push was successful. If FALSE
-is returned, the caller is responsible for freeing @item and its contents.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="item" transfer-ownership="none">
- <type name="DataQueueItem" c:type="GstDataQueueItem*"/>
- </parameter>
- </parameters>
- </method>
- <method name="pop"
- c:identifier="gst_data_queue_pop"
- doc="Retrieves the first @item available on the @queue. If the queue is currently
-empty, the call will block until at least one item is available, OR the
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="item" transfer-ownership="none">
- <type name="DataQueueItem" c:type="GstDataQueueItem**"/>
- </parameter>
- </parameters>
- </method>
- <method name="flush"
- c:identifier="gst_data_queue_flush"
- doc="Flushes all the contents of the @queue. Any call to #gst_data_queue_push and
-#gst_data_queue_pop will be released.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_flushing"
- c:identifier="gst_data_queue_set_flushing"
- doc="Sets the queue to flushing state if @flushing is #TRUE. If set to flushing
-state, any incoming data on the @queue will be discarded. Any call currently
-blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight
-away with a return value of #FALSE. While the @queue is in flushing state,
-all calls to those two functions will return #FALSE.
-MT Safe.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="flushing" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="drop_head"
- c:identifier="gst_data_queue_drop_head"
- doc="Pop and unref the head-most #GstMiniObject with the given #GType.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_full"
- c:identifier="gst_data_queue_is_full"
- doc="Queries if @queue is full. This check will be done using the
-#GstDataQueueCheckFullFunction registered with @queue.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="is_empty"
- c:identifier="gst_data_queue_is_empty"
- doc="Queries if there are any items in the @queue.
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_level"
- c:identifier="gst_data_queue_get_level"
- doc="Get the current level of the queue.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="level" transfer-ownership="none">
- <type name="DataQueueSize" c:type="GstDataQueueSize*"/>
- </parameter>
- </parameters>
- </method>
- <method name="limits_changed"
- c:identifier="gst_data_queue_limits_changed"
- doc="Inform the queue that the limits for the fullness check have changed and that
-any blocking gst_data_queue_push() should be unblocked to recheck the limts.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <property name="current-level-bytes">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="current-level-time">
- <type name="uint64" c:type="guint64"/>
- </property>
- <property name="current-level-visible">
- <type name="uint" c:type="guint"/>
- </property>
- <field name="object">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="queue">
- <type name="GLib.Queue" c:type="GQueue*"/>
- </field>
- <field name="cur_level">
- <type name="DataQueueSize" c:type="GstDataQueueSize"/>
- </field>
- <field name="checkfull">
- <type name="DataQueueCheckFullFunction"
- c:type="GstDataQueueCheckFullFunction"/>
- </field>
- <field name="checkdata">
- <type name="any" c:type="gpointer*"/>
- </field>
- <field name="qlock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="item_add">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="item_del">
- <type name="GLib.Cond" c:type="GCond*"/>
- </field>
- <field name="flushing">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="fullcallback">
- <type name="DataQueueFullCallback" c:type="GstDataQueueFullCallback"/>
- </field>
- <field name="emptycallback">
- <type name="DataQueueEmptyCallback"
- c:type="GstDataQueueEmptyCallback"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- <glib:signal name="empty"
- doc="Reports that the queue became empty (empty).
-A queue is empty if the total amount of visible items inside it (num-visible, time,
-size) is lower than the boundary values which can be set through the GObject
-properties.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="full"
- doc="Reports that the queue became full (full).
-A queue is full if the total amount of data inside it (num-visible, time,
-size) is higher than the boundary values which can be set through the GObject
-properties.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- </class>
- <callback name="DataQueueCheckFullFunction"
- c:type="GstDataQueueCheckFullFunction"
- doc="The prototype of the function used to inform the queue that it should be
-considered as full.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="queue" transfer-ownership="none">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </parameter>
- <parameter name="visible" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="bytes" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="time" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="checkdata" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="DataQueueClass"
- c:type="GstDataQueueClass"
- glib:is-gtype-struct-for="DataQueue">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="empty">
- <callback name="empty" c:type="empty">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="queue" transfer-ownership="none">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="full">
- <callback name="full" c:type="full">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="queue" transfer-ownership="none">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="DataQueueEmptyCallback" c:type="GstDataQueueEmptyCallback">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="queue" transfer-ownership="none">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </parameter>
- <parameter name="checkdata" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="DataQueueFullCallback" c:type="GstDataQueueFullCallback">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="queue" transfer-ownership="none">
- <type name="DataQueue" c:type="GstDataQueue*"/>
- </parameter>
- <parameter name="checkdata" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="DataQueueItem"
- c:type="GstDataQueueItem"
- doc="#GST_CLOCK_TIME_NONE.
-This function should also drop the reference to @object the owner of the
-#GstDataQueueItem is assumed to hold.
-Structure used by #GstDataQueue. You can supply a different structure, as
-long as the top of the structure is identical to this structure.">
- <field name="object" writable="1">
- <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
- </field>
- <field name="size" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="duration" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="visible" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="destroy" writable="1">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </field>
- </record>
- <record name="DataQueueSize"
- c:type="GstDataQueueSize"
- doc="Structure describing the size of a queue.">
- <field name="visible" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="bytes" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="time" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- </record>
- <class name="PushSrc"
- c:type="GstPushSrc"
- doc="The opaque #GstPushSrc data structure."
- parent="BaseSrc"
- glib:type-name="GstPushSrc"
- glib:get-type="gst_push_src_get_type"
- glib:type-struct="PushSrcClass">
- <virtual-method name="create">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <field name="parent">
- <type name="BaseSrc" c:type="GstBaseSrc"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="PushSrcClass"
- c:type="GstPushSrcClass"
- glib:is-gtype-struct-for="PushSrc">
- <field name="parent_class">
- <type name="BaseSrcClass" c:type="GstBaseSrcClass"/>
- </field>
- <field name="create">
- <callback name="create" c:type="create">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="PushSrc" c:type="GstPushSrc*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <constant name="TRANSFORM_SINK_NAME" value="sink">
- <type name="utf8"/>
- </constant>
- <constant name="TRANSFORM_SRC_NAME" value="src">
- <type name="utf8"/>
- </constant>
- <callback name="TypeFindHelperGetRangeFunction"
- c:type="GstTypeFindHelperGetRangeFunction"
- doc="This function will be called by gst_type_find_helper_get_range() when
-typefinding functions request to peek at the data of a stream at certain
-offsets. If this function returns GST_FLOW_OK, the result buffer will be
-stored in @buffer. The contents of @buffer is invalid for any other
-return value.
-This function is supposed to behave exactly like a #GstPadGetRangeFunction.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </callback>
- <function name="type_find_helper"
- c:identifier="gst_type_find_helper"
- doc="Tries to find what type of data is flowing from the given source #GstPad.
-Returns #NULL if no #GstCaps matches the data stream.">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_find_helper_for_buffer"
- c:identifier="gst_type_find_helper_for_buffer"
- doc="Tries to find what type of data is contained in the given #GstBuffer, the
-assumption being that the buffer represents the beginning of the stream or
-file.
-All available typefinders will be called on the data in order of rank. If
-a typefinding function returns a probability of #GST_TYPE_FIND_MAXIMUM,
-typefinding is stopped immediately and the found caps will be returned
-right away. Otherwise, all available typefind functions will the tried,
-and the caps with the highest probability will be returned, or #NULL if
-the content of the buffer could not be identified.
-be found. The caller should free the caps returned with gst_caps_unref().">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="prob" transfer-ownership="none">
- <type name="Gst.TypeFindProbability"
- c:type="GstTypeFindProbability*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_find_helper_for_extension"
- c:identifier="gst_type_find_helper_for_extension"
- doc="Tries to find the best #GstCaps associated with @extension.
-All available typefinders will be checked against the extension in order
-of rank. The caps of the first typefinder that can handle @extension will be
-returned.
-be found. The caller should free the caps returned with gst_caps_unref()."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="extension" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_find_helper_get_range"
- c:identifier="gst_type_find_helper_get_range"
- doc="to access data at random offsets when doing the typefinding
-Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
-however, this function will use the specified function @func to obtain the
-data needed by the typefind functions, rather than operating on a given
-source pad. This is useful mostly for elements like tag demuxers which
-strip off data at the beginning and/or end of a file and want to typefind
-the stripped data stream before adding their own source pad (the specified
-callback can then call the upstream peer pad with offsets adjusted for the
-tag size, for example).
-Returns #NULL if no #GstCaps matches the data stream.">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="TypeFindHelperGetRangeFunction"
- c:type="GstTypeFindHelperGetRangeFunction"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="prob" transfer-ownership="none">
- <type name="Gst.TypeFindProbability"
- c:type="GstTypeFindProbability*"/>
- </parameter>
- </parameters>
- </function>
- <function name="type_find_helper_get_range_ext"
- c:identifier="gst_type_find_helper_get_range_ext"
- doc="to access data at random offsets when doing the typefinding
-Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
-however, this function will use the specified function @func to obtain the
-data needed by the typefind functions, rather than operating on a given
-source pad. This is useful mostly for elements like tag demuxers which
-strip off data at the beginning and/or end of a file and want to typefind
-the stripped data stream before adding their own source pad (the specified
-callback can then call the upstream peer pad with offsets adjusted for the
-tag size, for example).
-When @extension is not NULL, this function will first try the typefind
-functions for the given extension, which might speed up the typefinding
-in many cases.
-Returns #NULL if no #GstCaps matches the data stream."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="obj" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="func" transfer-ownership="none" scope="call">
- <type name="TypeFindHelperGetRangeFunction"
- c:type="GstTypeFindHelperGetRangeFunction"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="extension" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="prob" transfer-ownership="none">
- <type name="Gst.TypeFindProbability"
- c:type="GstTypeFindProbability*"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.base.ffi ;
-IN: gstreamer.base
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi gstreamer.ffi ;
-IN: gstreamer.base.ffi
-
-<<
-"gstreamer.base" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstbase-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/base/GstBase-0.10.gir
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/controller/gstcontroller.h"/>
- <c:include name="gst/controller/gstcontrolsource.h"/>
- <c:include name="gst/controller/gstinterpolationcontrolsource.h"/>
- <c:include name="gst/controller/gstlfocontrolsource.h"/>
- <namespace name="GstController"
- version="0.10"
- shared-library="libgstcontroller-0.10.so.0"
- c:prefix="Gst">
- <class name="ControlSource"
- c:type="GstControlSource"
- doc="The instance structure of #GstControlSource."
- parent="GObject.Object"
- abstract="1"
- glib:type-name="GstControlSource"
- glib:get-type="gst_control_source_get_type"
- glib:type-struct="ControlSourceClass">
- <method name="get_value"
- c:identifier="gst_control_source_get_value"
- doc="Gets the value for this #GstControlSource at a given timestamp.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_value_array"
- c:identifier="gst_control_source_get_value_array"
- doc="Gets an array of values for one element property.
-All fields of @value_array must be filled correctly. Especially the
-of values.
-The type of the values in the array is the same as the property's type.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value_array" transfer-ownership="none">
- <type name="ValueArray" c:type="GstValueArray*"/>
- </parameter>
- </parameters>
- </method>
- <method name="bind"
- c:identifier="gst_control_source_bind"
- doc="Binds a #GstControlSource to a specific property. This must be called only once for a
-#GstControlSource.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="get_value">
- <type name="ControlSourceGetValue" c:type="GstControlSourceGetValue"/>
- </field>
- <field name="get_value_array">
- <type name="ControlSourceGetValueArray"
- c:type="GstControlSourceGetValueArray"/>
- </field>
- <field name="bound">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <callback name="ControlSourceBind" c:type="GstControlSourceBind">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ControlSourceClass"
- c:type="GstControlSourceClass"
- glib:is-gtype-struct-for="ControlSource"
- doc="The class structure of #GstControlSource.">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="bind">
- <type name="ControlSourceBind" c:type="GstControlSourceBind"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <callback name="ControlSourceGetValue" c:type="GstControlSourceGetValue">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ControlSourceGetValueArray"
- c:type="GstControlSourceGetValueArray">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value_array" transfer-ownership="none">
- <type name="ValueArray" c:type="GstValueArray*"/>
- </parameter>
- </parameters>
- </callback>
- <class name="Controller"
- c:type="GstController"
- doc="The instance structure of GstController"
- parent="GObject.Object"
- glib:type-name="GstController"
- glib:get-type="gst_controller_get_type"
- glib:type-struct="ControllerClass">
- <constructor name="new_list"
- c:identifier="gst_controller_new_list"
- doc="Creates a new GstController for the given object's properties">
- <return-value transfer-ownership="full">
- <type name="Controller" c:type="GstController*"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new"
- c:identifier="gst_controller_new"
- doc="Creates a new GstController for the given object's properties">
- <return-value transfer-ownership="full">
- <type name="Controller" c:type="GstController*"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </constructor>
- <function name="init"
- c:identifier="gst_controller_init"
- doc="Initializes the use of the controller library. Suggested to be called right
-after gst_init().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="argc" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- <parameter name="argv" transfer-ownership="none">
- <type name="utf8" c:type="char***"/>
- </parameter>
- </parameters>
- </function>
- <method name="remove_properties_list"
- c:identifier="gst_controller_remove_properties_list"
- doc="Removes the given object properties from the controller">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_properties"
- c:identifier="gst_controller_remove_properties"
- doc="Removes the given object properties from the controller">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="set_disabled"
- c:identifier="gst_controller_set_disabled"
- doc="or not.
-This function is used to disable all properties of the #GstController
-for some time, i.e. gst_controller_sync_values() will do nothing."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="disabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_property_disabled"
- c:identifier="gst_controller_set_property_disabled"
- doc="or not.
-This function is used to disable the #GstController on a property for
-some time, i.e. gst_controller_sync_values() will do nothing for the
-property."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="disabled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_control_source"
- c:identifier="gst_controller_set_control_source"
- doc="Sets the #GstControlSource for @property_name. If there already was a #GstControlSource
-for this property it will be unreferenced.
-couldn't be bound to the property, %TRUE if everything worked as expected."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="csource" transfer-ownership="none">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_control_source"
- c:identifier="gst_controller_get_control_source"
- doc="Gets the corresponding #GstControlSource for the property. This should be unreferenced
-again after use.
-controlled by this controller or no #GstControlSource was assigned yet."
- version="0.10.14">
- <return-value transfer-ownership="full">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="suggest_next_sync"
- c:identifier="gst_controller_suggest_next_sync"
- doc="Returns a suggestion for timestamps where buffers should be split
-to get best controller results.
-if no control-rate was set."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- </method>
- <method name="sync_values"
- c:identifier="gst_controller_sync_values"
- doc="Sets the properties of the element, according to the controller that (maybe)
-handles them and for the given timestamp.
-If this function fails, it is most likely the application developers fault.
-Most probably the control sources are not setup correctly.
-properties, %FALSE otherwise">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get"
- c:identifier="gst_controller_get"
- doc="Gets the value for the given controller-handled property at the requested
-time.
-property isn't handled by the controller">
- <return-value transfer-ownership="full">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_value_arrays"
- c:identifier="gst_controller_get_value_arrays"
- doc="Function to be able to get an array of values for one or more given element
-properties.
-All fields of the %GstValueArray in the list must be filled correctly.
-Especially the GstValueArray->values arrays must be big enough to keep
-the requested amount of values.
-The types of the values in the array are the same as the property's type.
-<note><para>This doesn't modify the controlled GObject properties!</para></note>">
- <return-value transfer-ownership="none"
- doc="could be filled, %FALSE otherwise">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value_arrays" transfer-ownership="none">
- <type name="GLib.SList" c:type="GSList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_value_array"
- c:identifier="gst_controller_get_value_array"
- doc="Function to be able to get an array of values for one element property.
-All fields of @value_array must be filled correctly. Especially the
-of values.
-The type of the values in the array is the same as the property's type.
-<note><para>This doesn't modify the controlled GObject property!</para></note>">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value_array" transfer-ownership="none">
- <type name="ValueArray" c:type="GstValueArray*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set"
- c:identifier="gst_controller_set"
- doc="Set the value of given controller-handled property at a certain time.
-directly."
- deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
- <return-value transfer-ownership="none" doc="TRUE otherwise">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_from_list"
- c:identifier="gst_controller_set_from_list"
- doc="Sets multiple timed values at once.
-directly."
- deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
- <return-value transfer-ownership="none" doc="%TRUE otherwise">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="timedvalues" transfer-ownership="none">
- <type name="GLib.SList" c:type="GSList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unset"
- c:identifier="gst_controller_unset"
- doc="Used to remove the value of given controller-handled property at a certain
-time.
-directly."
- deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
- <return-value transfer-ownership="none" doc="%TRUE otherwise">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="unset_all"
- c:identifier="gst_controller_unset_all"
- doc="Used to remove all time-stamped values of given controller-handled property
-directly.
-by controller), %TRUE otherwise"
- version="0.10.5"
- deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_all"
- c:identifier="gst_controller_get_all"
- doc="Returns a read-only copy of the list of #GstTimedValue for the given property.
-Free the list after done with it.
-<note><para>This doesn't modify the controlled GObject property!</para></note>
-directly."
- deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_interpolation_mode"
- c:identifier="gst_controller_set_interpolation_mode"
- doc="Sets the given interpolation mode on the given property.
-<note><para>User interpolation is not yet available and quadratic interpolation
-is deprecated and maps to cubic interpolation.</para></note>
-directly."
- deprecated="Use #GstControlSource, for example #GstInterpolationControlSource">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="mode" transfer-ownership="none">
- <type name="InterpolateMode" c:type="GstInterpolateMode"/>
- </parameter>
- </parameters>
- </method>
- <property name="control-rate" writable="1">
- <type name="uint64" c:type="guint64"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="properties">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="object">
- <type name="GObject.Object" c:type="GObject*"/>
- </field>
- <field name="priv">
- <type name="ControllerPrivate" c:type="GstControllerPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="ControllerClass"
- c:type="GstControllerClass"
- glib:is-gtype-struct-for="Controller">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="ControllerPrivate" c:type="GstControllerPrivate">
- </record>
- <enumeration name="InterpolateMode"
- doc="except for times with specific values
-The various interpolation modes available."
- c:type="GstInterpolateMode">
- <member name="none" value="0" c:identifier="GST_INTERPOLATE_NONE"/>
- <member name="trigger" value="1" c:identifier="GST_INTERPOLATE_TRIGGER"/>
- <member name="linear" value="2" c:identifier="GST_INTERPOLATE_LINEAR"/>
- <member name="quadratic"
- value="3"
- c:identifier="GST_INTERPOLATE_QUADRATIC"/>
- <member name="cubic" value="4" c:identifier="GST_INTERPOLATE_CUBIC"/>
- <member name="user" value="5" c:identifier="GST_INTERPOLATE_USER"/>
- </enumeration>
- <class name="InterpolationControlSource"
- c:type="GstInterpolationControlSource"
- doc="The instance structure of #GstControlSource."
- parent="ControlSource"
- glib:type-name="GstInterpolationControlSource"
- glib:get-type="gst_interpolation_control_source_get_type"
- glib:type-struct="InterpolationControlSourceClass">
- <constructor name="new"
- c:identifier="gst_interpolation_control_source_new"
- doc="This returns a new, unbound #GstInterpolationControlSource.">
- <return-value transfer-ownership="full">
- <type name="InterpolationControlSource"
- c:type="GstInterpolationControlSource*"/>
- </return-value>
- </constructor>
- <method name="set_interpolation_mode"
- c:identifier="gst_interpolation_control_source_set_interpolation_mode"
- doc="Sets the given interpolation mode.
-<note><para>User interpolation is not yet available and quadratic interpolation
-is deprecated and maps to cubic interpolation.</para></note>">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="mode" transfer-ownership="none">
- <type name="InterpolateMode" c:type="GstInterpolateMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="set"
- c:identifier="gst_interpolation_control_source_set"
- doc="Set the value of given controller-handled property at a certain time.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_from_list"
- c:identifier="gst_interpolation_control_source_set_from_list"
- doc="Sets multiple timed values at once.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timedvalues" transfer-ownership="none">
- <type name="GLib.SList" c:type="GSList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unset"
- c:identifier="gst_interpolation_control_source_unset"
- doc="Used to remove the value of given controller-handled property at a certain
-time.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="unset_all"
- c:identifier="gst_interpolation_control_source_unset_all"
- doc="Used to remove all time-stamped values of given controller-handled property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_all"
- c:identifier="gst_interpolation_control_source_get_all"
- doc="Returns a read-only copy of the list of #GstTimedValue for the given property.
-Free the list after done with it.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="get_count"
- c:identifier="gst_interpolation_control_source_get_count"
- doc="Returns the number of control points that are set.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <field name="parent">
- <type name="ControlSource" c:type="GstControlSource"/>
- </field>
- <field name="lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="priv">
- <type name="InterpolationControlSourcePrivate"
- c:type="GstInterpolationControlSourcePrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="InterpolationControlSourceClass"
- c:type="GstInterpolationControlSourceClass"
- glib:is-gtype-struct-for="InterpolationControlSource">
- <field name="parent_class">
- <type name="ControlSourceClass" c:type="GstControlSourceClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="InterpolationControlSourcePrivate"
- c:type="GstInterpolationControlSourcePrivate">
- </record>
- <class name="LFOControlSource"
- c:type="GstLFOControlSource"
- doc="The instance structure of #GstControlSource."
- parent="ControlSource"
- glib:type-name="GstLFOControlSource"
- glib:get-type="gst_lfo_control_source_get_type"
- glib:type-struct="LFOControlSourceClass">
- <constructor name="new"
- c:identifier="gst_lfo_control_source_new"
- doc="This returns a new, unbound #GstLFOControlSource.">
- <return-value transfer-ownership="full">
- <type name="LFOControlSource" c:type="GstLFOControlSource*"/>
- </return-value>
- </constructor>
- <property name="amplitude" writable="1">
- <type name="GObject.Value" c:type="GValue"/>
- </property>
- <property name="frequency" writable="1">
- <type name="double" c:type="gdouble"/>
- </property>
- <property name="offset" writable="1">
- <type name="GObject.Value" c:type="GValue"/>
- </property>
- <property name="timeshift" writable="1">
- <type name="uint64" c:type="guint64"/>
- </property>
- <property name="waveform" writable="1">
- <type name="LFOWaveform" c:type="GstLFOWaveform"/>
- </property>
- <field name="parent">
- <type name="ControlSource" c:type="GstControlSource"/>
- </field>
- <field name="priv">
- <type name="LFOControlSourcePrivate"
- c:type="GstLFOControlSourcePrivate*"/>
- </field>
- <field name="lock">
- <type name="GLib.Mutex" c:type="GMutex*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="LFOControlSourceClass"
- c:type="GstLFOControlSourceClass"
- glib:is-gtype-struct-for="LFOControlSource">
- <field name="parent_class">
- <type name="ControlSourceClass" c:type="GstControlSourceClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="LFOControlSourcePrivate" c:type="GstLFOControlSourcePrivate">
- </record>
- <enumeration name="LFOWaveform"
- doc="The various waveform modes available."
- glib:type-name="GstLFOWaveform"
- glib:get-type="gst_lfo_waveform_get_type"
- c:type="GstLFOWaveform">
- <member name="sine"
- value="0"
- c:identifier="GST_LFO_WAVEFORM_SINE"
- glib:nick="sine"/>
- <member name="square"
- value="1"
- c:identifier="GST_LFO_WAVEFORM_SQUARE"
- glib:nick="square"/>
- <member name="saw"
- value="2"
- c:identifier="GST_LFO_WAVEFORM_SAW"
- glib:nick="saw"/>
- <member name="reverse_saw"
- value="3"
- c:identifier="GST_LFO_WAVEFORM_REVERSE_SAW"
- glib:nick="reverse-saw"/>
- <member name="triangle"
- value="4"
- c:identifier="GST_LFO_WAVEFORM_TRIANGLE"
- glib:nick="triangle"/>
- </enumeration>
- <record name="TimedValue"
- c:type="GstTimedValue"
- doc="Structure for saving a timestamp and a value.">
- <field name="timestamp" writable="1">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="value" writable="1">
- <type name="GObject.Value" c:type="GValue"/>
- </field>
- </record>
- <record name="ValueArray"
- c:type="GstValueArray"
- doc="Structure to receive multiple values at once.">
- <field name="property_name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="nbsamples" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="sample_interval" writable="1">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="values" writable="1">
- <type name="any" c:type="gpointer*"/>
- </field>
- </record>
- <function name="object_control_properties"
- c:identifier="gst_object_control_properties"
- doc="Convenience function for GObject
-Creates a GstController that allows you to dynamically control one, or more, GObject properties.
-If the given GObject already has a GstController, it adds the given properties to the existing
-controller and returns that controller.
-one or more of the given properties aren't available, or cannot be controlled, for the given element."
- version="0.9">
- <return-value transfer-ownership="full">
- <type name="Controller" c:type="GstController*"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- <function name="object_get_control_rate"
- c:identifier="gst_object_get_control_rate"
- doc="Obtain the control-rate for this @object. Audio processing #GstElement
-objects will use this rate to sub-divide their processing loop and call
-gst_object_sync_values() inbetween. The length of the processing segment
-should be up to @control-rate nanoseconds.
-If the @object is not under property control, this will return
-%GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing.
-The control-rate is not expected to change if the element is in
-%GST_STATE_PAUSED or %GST_STATE_PLAYING."
- version="0.10.10">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_get_control_source"
- c:identifier="gst_object_get_control_source"
- doc="Gets the corresponding #GstControlSource for the property. This should be unreferenced
-again after use.
-controlled by this controller or no #GstControlSource was assigned yet."
- version="0.10.14">
- <return-value transfer-ownership="full">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_get_controller"
- c:identifier="gst_object_get_controller"
- doc="Gets the controller for the given GObject"
- version="0.9">
- <return-value transfer-ownership="full">
- <type name="Controller" c:type="GstController*"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_get_value_array"
- c:identifier="gst_object_get_value_array"
- doc="Function to be able to get an array of values for one element properties
-If the GstValueArray->values array is NULL, it will be created by the function.
-The type of the values in the array are the same as the property's type.
-The g_object_* functions are just convenience functions for GObject"
- version="0.9">
- <return-value transfer-ownership="none"
- doc="could be filled, %FALSE otherwise">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value_array" transfer-ownership="none">
- <type name="ValueArray" c:type="GstValueArray*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_get_value_arrays"
- c:identifier="gst_object_get_value_arrays"
- doc="Function to be able to get an array of values for one or more given element
-properties.
-If the GstValueArray->values array in list nodes is NULL, it will be created
-by the function.
-The type of the values in the array are the same as the property's type.
-The g_object_* functions are just convenience functions for GObject"
- version="0.9">
- <return-value transfer-ownership="none"
- doc="could be filled, %FALSE otherwise">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- <parameter name="value_arrays" transfer-ownership="none">
- <type name="GLib.SList" c:type="GSList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_set_control_rate"
- c:identifier="gst_object_set_control_rate"
- doc="Change the control-rate for this @object. Audio processing #GstElement
-objects will use this rate to sub-divide their processing loop and call
-gst_object_sync_values() inbetween. The length of the processing segment
-should be up to @control-rate nanoseconds.
-The control-rate should not change if the element is in %GST_STATE_PAUSED or
-%GST_STATE_PLAYING."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="control_rate" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_set_control_source"
- c:identifier="gst_object_set_control_source"
- doc="Sets the #GstControlSource for @property_name. If there already was a #GstControlSource
-for this property it will be unreferenced.
-couldn't be bound to the property, %TRUE if everything worked as expected."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="property_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="csource" transfer-ownership="none">
- <type name="ControlSource" c:type="GstControlSource*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_set_controller"
- c:identifier="gst_object_set_controller"
- doc="Sets the controller on the given GObject"
- version="0.9">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="controller" transfer-ownership="none">
- <type name="Controller" c:type="GstController*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_suggest_next_sync"
- c:identifier="gst_object_suggest_next_sync"
- doc="Convenience function for GObject"
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_sync_values"
- c:identifier="gst_object_sync_values"
- doc="Convenience function for GObject"
- version="0.9">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </function>
- <function name="object_uncontrol_properties"
- c:identifier="gst_object_uncontrol_properties"
- doc="Convenience function for GObject
-Removes the given element's properties from it's controller
-controller, %TRUE otherwise"
- version="0.9">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="GObject.Object" c:type="GObject*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.controller.ffi ;
-IN: gstreamer.controller
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gobject.ffi gstreamer.ffi ;
-IN: gstreamer.controller.ffi
-
-<<
-"gstreamer.controller" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstcontroller-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/controller/GstController-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.syntax alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gmodule.ffi gobject.ffi ;
-EXCLUDE: alien.c-types => pointer ;
-IN: gstreamer.ffi
-
-<<
-"gstreamer" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
-} cond
->>
-
-TYPEDEF: gpointer GstClockID
-TYPEDEF: guint64 GstClockTime
-TYPEDEF: gint64 GstClockTimeDiff
-
-! types from libxml2
-TYPEDEF: void* xmlNodePtr
-TYPEDEF: void* xmlDocPtr
-TYPEDEF: void* xmlNsPtr
-
-GIR: vocab:gstreamer/Gst-0.10.gir
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/fft/gstfft.h"/>
- <c:include name="gst/fft/gstfftf32.h"/>
- <c:include name="gst/fft/gstfftf64.h"/>
- <c:include name="gst/fft/gstffts16.h"/>
- <c:include name="gst/fft/gstffts32.h"/>
- <namespace name="GstFft"
- version="0.10"
- shared-library="libgstfft-0.10.so.0"
- c:prefix="Gst">
- <record name="FFTF32"
- c:type="GstFFTF32"
- doc="Instance structure for #GstFFTF32.">
- <field name="cfg" writable="1">
- <type name="any" c:type="void*"/>
- </field>
- <field name="inverse" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="len" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="_padding" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_fft_f32_new"
- doc="This returns a new #GstFFTF32 instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.
-2, 3 and 5. To get the next number with this characteristics use
-gst_fft_next_fast_length().">
- <return-value transfer-ownership="full">
- <type name="FFTF32" c:type="GstFFTF32*"/>
- </return-value>
- <parameters>
- <parameter name="len" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="inverse" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="fft"
- c:identifier="gst_fft_f32_fft"
- doc="This performs the FFT on @timedata and puts the result in @freqdata.
-allocating the #GstFFTF32 instance with gst_fft_f32_new().
-domain samples.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="none">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTF32Complex" c:type="GstFFTF32Complex*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inverse_fft"
- c:identifier="gst_fft_f32_inverse_fft"
- doc="This performs the inverse FFT on @freqdata and puts the result in @timedata.
-while allocating the #GstFFTF32 instance with gst_fft_f32_new().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTF32Complex" c:type="GstFFTF32Complex*"/>
- </parameter>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_fft_f32_free"
- doc="This frees the memory allocated for @self.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="window"
- c:identifier="gst_fft_f32_window"
- doc="This calls the window function @window on the @timedata sample buffer.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="float" c:type="gfloat*"/>
- </parameter>
- <parameter name="window" transfer-ownership="none">
- <type name="FFTWindow" c:type="GstFFTWindow"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="FFTF32Complex"
- c:type="GstFFTF32Complex"
- doc="Data type for complex numbers composed of
-32 bit float.">
- <field name="r" writable="1">
- <type name="float" c:type="gfloat"/>
- </field>
- <field name="i" writable="1">
- <type name="float" c:type="gfloat"/>
- </field>
- </record>
- <record name="FFTF64"
- c:type="GstFFTF64"
- doc="Instance structure for #GstFFTF64.">
- <field name="cfg" writable="1">
- <type name="any" c:type="void*"/>
- </field>
- <field name="inverse" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="len" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="_padding" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_fft_f64_new"
- doc="This returns a new #GstFFTF64 instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.
-2, 3 and 5. To get the next number with this characteristics use
-gst_fft_next_fast_length().">
- <return-value transfer-ownership="full">
- <type name="FFTF64" c:type="GstFFTF64*"/>
- </return-value>
- <parameters>
- <parameter name="len" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="inverse" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="fft"
- c:identifier="gst_fft_f64_fft"
- doc="This performs the FFT on @timedata and puts the result in @freqdata.
-allocating the #GstFFTF64 instance with gst_fft_f64_new().
-domain samples.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="none">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTF64Complex" c:type="GstFFTF64Complex*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inverse_fft"
- c:identifier="gst_fft_f64_inverse_fft"
- doc="This performs the inverse FFT on @freqdata and puts the result in @timedata.
-while allocating the #GstFFTF64 instance with gst_fft_f64_new().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTF64Complex" c:type="GstFFTF64Complex*"/>
- </parameter>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_fft_f64_free"
- doc="This frees the memory allocated for @self.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="window"
- c:identifier="gst_fft_f64_window"
- doc="This calls the window function @window on the @timedata sample buffer.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="window" transfer-ownership="none">
- <type name="FFTWindow" c:type="GstFFTWindow"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="FFTF64Complex"
- c:type="GstFFTF64Complex"
- doc="Data type for complex numbers composed of
-64 bit float.">
- <field name="r" writable="1">
- <type name="double" c:type="gdouble"/>
- </field>
- <field name="i" writable="1">
- <type name="double" c:type="gdouble"/>
- </field>
- </record>
- <record name="FFTS16"
- c:type="GstFFTS16"
- doc="Instance structure for #GstFFTS16.">
- <field name="cfg" writable="1">
- <type name="any" c:type="void*"/>
- </field>
- <field name="inverse" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="len" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="_padding" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_fft_s16_new"
- doc="This returns a new #GstFFTS16 instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.
-2, 3 and 5. To get the next number with this characteristics use
-gst_fft_next_fast_length().">
- <return-value transfer-ownership="full">
- <type name="FFTS16" c:type="GstFFTS16*"/>
- </return-value>
- <parameters>
- <parameter name="len" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="inverse" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="fft"
- c:identifier="gst_fft_s16_fft"
- doc="This performs the FFT on @timedata and puts the result in @freqdata.
-allocating the #GstFFTS16 instance with gst_fft_s16_new().
-domain samples.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="none">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTS16Complex" c:type="GstFFTS16Complex*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inverse_fft"
- c:identifier="gst_fft_s16_inverse_fft"
- doc="This performs the inverse FFT on @freqdata and puts the result in @timedata.
-while allocating the #GstFFTS16 instance with gst_fft_s16_new().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTS16Complex" c:type="GstFFTS16Complex*"/>
- </parameter>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_fft_s16_free"
- doc="This frees the memory allocated for @self.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="window"
- c:identifier="gst_fft_s16_window"
- doc="This calls the window function @window on the @timedata sample buffer.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="int16" c:type="gint16*"/>
- </parameter>
- <parameter name="window" transfer-ownership="none">
- <type name="FFTWindow" c:type="GstFFTWindow"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="FFTS16Complex"
- c:type="GstFFTS16Complex"
- doc="Data type for complex numbers composed of
-signed 16 bit integers.">
- <field name="r" writable="1">
- <type name="int16" c:type="gint16"/>
- </field>
- <field name="i" writable="1">
- <type name="int16" c:type="gint16"/>
- </field>
- </record>
- <record name="FFTS32"
- c:type="GstFFTS32"
- doc="Instance structure for #GstFFTS32.">
- <field name="cfg" writable="1">
- <type name="any" c:type="void*"/>
- </field>
- <field name="inverse" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="len" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="_padding" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- <constructor name="new"
- c:identifier="gst_fft_s32_new"
- doc="This returns a new #GstFFTS32 instance with the given parameters. It makes
-sense to keep one instance for several calls for speed reasons.
-2, 3 and 5. To get the next number with this characteristics use
-gst_fft_next_fast_length().">
- <return-value transfer-ownership="full">
- <type name="FFTS32" c:type="GstFFTS32*"/>
- </return-value>
- <parameters>
- <parameter name="len" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="inverse" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="fft"
- c:identifier="gst_fft_s32_fft"
- doc="This performs the FFT on @timedata and puts the result in @freqdata.
-allocating the #GstFFTS32 instance with gst_fft_s32_new().
-domain samples.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="none">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTS32Complex" c:type="GstFFTS32Complex*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inverse_fft"
- c:identifier="gst_fft_s32_inverse_fft"
- doc="This performs the inverse FFT on @freqdata and puts the result in @timedata.
-while allocating the #GstFFTS32 instance with gst_fft_s32_new().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="freqdata" transfer-ownership="none">
- <type name="FFTS32Complex" c:type="GstFFTS32Complex*"/>
- </parameter>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="gst_fft_s32_free"
- doc="This frees the memory allocated for @self.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="window"
- c:identifier="gst_fft_s32_window"
- doc="This calls the window function @window on the @timedata sample buffer.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timedata" direction="out" transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- <parameter name="window" transfer-ownership="none">
- <type name="FFTWindow" c:type="GstFFTWindow"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="FFTS32Complex"
- c:type="GstFFTS32Complex"
- doc="Data type for complex numbers composed of
-signed 32 bit integers.">
- <field name="r" writable="1">
- <type name="int32" c:type="gint32"/>
- </field>
- <field name="i" writable="1">
- <type name="int32" c:type="gint32"/>
- </field>
- </record>
- <enumeration name="FFTWindow"
- doc="The various window functions available."
- c:type="GstFFTWindow">
- <member name="rectangular"
- value="0"
- c:identifier="GST_FFT_WINDOW_RECTANGULAR"/>
- <member name="hamming" value="1" c:identifier="GST_FFT_WINDOW_HAMMING"/>
- <member name="hann" value="2" c:identifier="GST_FFT_WINDOW_HANN"/>
- <member name="bartlett"
- value="3"
- c:identifier="GST_FFT_WINDOW_BARTLETT"/>
- <member name="blackman"
- value="4"
- c:identifier="GST_FFT_WINDOW_BLACKMAN"/>
- </enumeration>
- <function name="next_fast_length"
- c:identifier="gst_fft_next_fast_length"
- doc="Returns the next number to @n that is entirely a product
-of 2, 3 and 5. Using this as the @len parameter for
-the different GstFFT types will provide the best performance.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="n" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gstreamer.ffi ;
-IN: gstreamer.fft.ffi
-
-<<
-"gstreamer.fft" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstfft-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/fft/GstFft-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.fft.ffi ;
-IN: gstreamer.fft
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.ffi ;
-IN: gstreamer
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/interfaces/colorbalance.h"/>
- <c:include name="gst/interfaces/colorbalancechannel.h"/>
- <c:include name="gst/interfaces/interfaces-enumtypes.h"/>
- <c:include name="gst/interfaces/mixer.h"/>
- <c:include name="gst/interfaces/mixeroptions.h"/>
- <c:include name="gst/interfaces/mixertrack.h"/>
- <c:include name="gst/interfaces/navigation.h"/>
- <c:include name="gst/interfaces/propertyprobe.h"/>
- <c:include name="gst/interfaces/streamvolume.h"/>
- <c:include name="gst/interfaces/tuner.h"/>
- <c:include name="gst/interfaces/tunerchannel.h"/>
- <c:include name="gst/interfaces/tunernorm.h"/>
- <c:include name="gst/interfaces/videoorientation.h"/>
- <c:include name="gst/interfaces/xoverlay.h"/>
- <namespace name="GstInterfaces"
- version="0.10"
- shared-library="libgstinterfaces-0.10.so.0"
- c:prefix="Gst">
- <interface name="ColorBalance"
- c:type="GstColorBalance"
- glib:type-name="GstColorBalance"
- glib:get-type="gst_color_balance_get_type"
- glib:type-struct="ColorBalanceClass">
- <prerequisite name="Gst.ImplementsInterface"/>
- <prerequisite name="Gst.Element"/>
- <virtual-method name="list_channels" invoker="list_channels">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_value" invoker="set_value">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_value" invoker="get_value">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="list_channels"
- c:identifier="gst_color_balance_list_channels"
- doc="Retrieve a list of the available channels.
-The list is owned by the #GstColorBalance instance and must not
-be freed.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="set_value"
- c:identifier="gst_color_balance_set_value"
- doc="Sets the current value of the channel to the passed value, which must
-be between min_value and max_value.
-#GstColorBalanceChannel::max_value members of the
-#GstColorBalanceChannel object.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_value"
- c:identifier="gst_color_balance_get_value"
- doc="Retrieve the current value of the indicated channel, between min_value
-and max_value.
-#GstColorBalanceChannel::max_value members of the
-#GstColorBalanceChannel object.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_balance_type"
- c:identifier="gst_color_balance_get_balance_type"
- doc="Get the #GstColorBalanceType of this implementation."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
- </return-value>
- </method>
- <method name="value_changed"
- c:identifier="gst_color_balance_value_changed"
- doc="A helper function called by implementations of the GstColorBalance
-interface. It fires the #GstColorBalance::value-changed signal on the
-instance, and the #GstColorBalanceChannel::value-changed signal on the
-channel object.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <glib:signal name="value-changed"
- doc="Fired when the value of the indicated channel has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <class name="ColorBalanceChannel"
- c:type="GstColorBalanceChannel"
- parent="GObject.Object"
- glib:type-name="GstColorBalanceChannel"
- glib:get-type="gst_color_balance_channel_get_type"
- glib:type-struct="ColorBalanceChannelClass">
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="label">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="min_value">
- <type name="int" c:type="gint"/>
- </field>
- <field name="max_value">
- <type name="int" c:type="gint"/>
- </field>
- <glib:signal name="value-changed"
- doc="Fired when the value of the indicated channel has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="ColorBalanceChannelClass"
- c:type="GstColorBalanceChannelClass"
- glib:is-gtype-struct-for="ColorBalanceChannel">
- <field name="parent">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="value_changed">
- <callback name="value_changed" c:type="value_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel"
- c:type="GstColorBalanceChannel*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="ColorBalanceClass"
- c:type="GstColorBalanceClass"
- glib:is-gtype-struct-for="ColorBalance">
- <field name="klass">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="balance_type">
- <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
- </field>
- <field name="list_channels">
- <callback name="list_channels" c:type="list_channels">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="balance" transfer-ownership="none">
- <type name="ColorBalance" c:type="GstColorBalance*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_value">
- <callback name="set_value" c:type="set_value">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="balance" transfer-ownership="none">
- <type name="ColorBalance" c:type="GstColorBalance*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel"
- c:type="GstColorBalanceChannel*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_value">
- <callback name="get_value" c:type="get_value">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="balance" transfer-ownership="none">
- <type name="ColorBalance" c:type="GstColorBalance*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel"
- c:type="GstColorBalanceChannel*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="value_changed">
- <callback name="value_changed" c:type="value_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="balance" transfer-ownership="none">
- <type name="ColorBalance" c:type="GstColorBalance*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="ColorBalanceChannel"
- c:type="GstColorBalanceChannel*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="ColorBalanceType"
- doc="hardware.
-processing.
-An enumeration indicating whether an element implements color balancing
-operations in software or in dedicated hardware. In general, dedicated
-hardware implementations (such as those provided by xvimagesink) are
-preferred."
- glib:type-name="GstColorBalanceType"
- glib:get-type="gst_color_balance_type_get_type"
- c:type="GstColorBalanceType">
- <member name="hardware"
- value="0"
- c:identifier="GST_COLOR_BALANCE_HARDWARE"
- glib:nick="hardware"/>
- <member name="software"
- value="1"
- c:identifier="GST_COLOR_BALANCE_SOFTWARE"
- glib:nick="software"/>
- </enumeration>
- <interface name="Mixer"
- c:type="GstMixer"
- glib:type-name="GstMixer"
- glib:get-type="gst_mixer_get_type"
- glib:type-struct="MixerClass">
- <prerequisite name="Gst.ImplementsInterface"/>
- <prerequisite name="Gst.Element"/>
- <virtual-method name="list_tracks" invoker="list_tracks">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_volume" invoker="set_volume">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_volume" invoker="get_volume">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_mute" invoker="set_mute">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="mute" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_record" invoker="set_record">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="record" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_option" invoker="set_option">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- <parameter name="value" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_option" invoker="get_option">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_mixer_flags" invoker="get_mixer_flags">
- <return-value transfer-ownership="full">
- <type name="MixerFlags" c:type="GstMixerFlags"/>
- </return-value>
- </virtual-method>
- <method name="list_tracks"
- c:identifier="gst_mixer_list_tracks"
- doc="Returns a list of available tracks for this mixer/element. Note
-that it is allowed for sink (output) elements to only provide
-the output tracks in this list. Likewise, for sources (inputs),
-it is allowed to only provide input elements in this list.
-The list is owned by the #GstMixer instance and must not be freed
-or modified.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="set_volume"
- c:identifier="gst_mixer_set_volume"
- doc="that gives the wanted volume for each channel in
-this track.
-Sets the volume on each channel in a track. Short note about
-the mixer/element, such as 'Line-in' or 'Microphone'. A
-channel is said to be a mono-stream inside this track. A
-stereo track thus contains two channels.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_volume"
- c:identifier="gst_mixer_get_volume"
- doc="track->num_channels) to store the current volume
-of each channel in the given track in.
-Get the current volume(s) on the given track.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_mute"
- c:identifier="gst_mixer_set_mute"
- doc="muting.
-Mutes or unmutes the given channel. To find out whether a
-track is currently muted, use GST_MIXER_TRACK_HAS_FLAG ().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="mute" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_record"
- c:identifier="gst_mixer_set_record"
- doc="or off recording.
-Enables or disables recording on the given track. Note that
-this is only possible on input tracks, not on output tracks
-(see GST_MIXER_TRACK_HAS_FLAG () and the GST_MIXER_TRACK_INPUT
-flag).">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="record" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_option"
- c:identifier="gst_mixer_set_option"
- doc="Sets a name/value option in the mixer to the requested value.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- <parameter name="value" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_option"
- c:identifier="gst_mixer_get_option"
- doc="Get the current value of a name/value option in the mixer.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- </parameters>
- </method>
- <method name="mute_toggled"
- c:identifier="gst_mixer_mute_toggled"
- doc="This function is called by the mixer implementation to produce
-a notification message on the bus indicating that the given track
-has changed mute state.
-This function only works for GstElements that are implementing the
-GstMixer interface, and the element needs to have been provided a bus.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="mute" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="record_toggled"
- c:identifier="gst_mixer_record_toggled"
- doc="This function is called by the mixer implementation to produce
-a notification message on the bus indicating that the given track
-has changed recording state.
-This function only works for GstElements that are implementing the
-GstMixer interface, and the element needs to have been provided a bus.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="record" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="volume_changed"
- c:identifier="gst_mixer_volume_changed"
- doc="This function is called by the mixer implementation to produce
-a notification message on the bus indicating that the volume(s) for the
-given track have changed.
-This function only works for GstElements that are implementing the
-GstMixer interface, and the element needs to have been provided a bus.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="option_changed"
- c:identifier="gst_mixer_option_changed"
- doc="This function is called by the mixer implementation to produce
-a notification message on the bus indicating that the given options
-object has changed state.
-This function only works for GstElements that are implementing the
-GstMixer interface, and the element needs to have been provided a bus.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="mixer_changed"
- c:identifier="gst_mixer_mixer_changed"
- doc="This function is called by the mixer implementation to produce
-a notification message on the bus indicating that the list of available
-mixer tracks for a given mixer object has changed. Applications should
-rebuild their interface when they receive this message.
-This function only works for GstElements that are implementing the
-GstMixer interface, and the element needs to have been provided a bus."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="options_list_changed"
- c:identifier="gst_mixer_options_list_changed"
- doc="This function is called by the mixer implementation to produce
-a notification message on the bus indicating that the list of possible
-options of a given options object has changed.
-The new options are not contained in the message on purpose. Applications
-should call gst_mixer_option_get_values() on @opts to make @opts update
-its internal state and obtain the new list of values.
-This function only works for GstElements that are implementing the
-GstMixer interface, and the element needs to have been provided a bus
-for this to work."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_mixer_type"
- c:identifier="gst_mixer_get_mixer_type"
- doc="Get the #GstMixerType of this mixer implementation."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="MixerType" c:type="GstMixerType"/>
- </return-value>
- </method>
- <method name="get_mixer_flags"
- c:identifier="gst_mixer_get_mixer_flags"
- doc="Get the set of supported flags for this mixer implementation.">
- <return-value transfer-ownership="full">
- <type name="MixerFlags" c:type="GstMixerFlags"/>
- </return-value>
- </method>
- <glib:signal name="mute-toggled">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack"/>
- </parameter>
- <parameter name="p0" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="option-changed">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions"/>
- </parameter>
- <parameter name="p0" transfer-ownership="none">
- <type name="utf8" c:type="gchararray"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="record-toggled">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack"/>
- </parameter>
- <parameter name="p0" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="volume-changed">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack"/>
- </parameter>
- <parameter name="p0" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <record name="MixerClass"
- c:type="GstMixerClass"
- glib:is-gtype-struct-for="Mixer">
- <field name="klass">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="mixer_type">
- <type name="MixerType" c:type="GstMixerType"/>
- </field>
- <field name="list_tracks">
- <callback name="list_tracks" c:type="list_tracks">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_volume">
- <callback name="set_volume" c:type="set_volume">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_volume">
- <callback name="get_volume" c:type="get_volume">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_mute">
- <callback name="set_mute" c:type="set_mute">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="mute" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_record">
- <callback name="set_record" c:type="set_record">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="record" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="mute_toggled">
- <callback name="mute_toggled" c:type="mute_toggled">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="mute" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="record_toggled">
- <callback name="record_toggled" c:type="record_toggled">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="record" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="volume_changed">
- <callback name="volume_changed" c:type="volume_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack*"/>
- </parameter>
- <parameter name="volumes"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_option">
- <callback name="set_option" c:type="set_option">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- <parameter name="value" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_option">
- <callback name="get_option" c:type="get_option">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="option_changed">
- <callback name="option_changed" c:type="option_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- <parameter name="option" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_mixer_flags">
- <callback name="get_mixer_flags" c:type="get_mixer_flags">
- <return-value transfer-ownership="full">
- <type name="MixerFlags" c:type="GstMixerFlags"/>
- </return-value>
- <parameters>
- <parameter name="mixer" transfer-ownership="none">
- <type name="Mixer" c:type="GstMixer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="MixerFlags"
- doc="sends notification messages.
-marked without either input or output. Controls marked as input or
-output should be grouped with input & output sliders, even if they
-Flags indicating which optional features are supported by a mixer
-implementation."
- version="0.10.14"
- glib:type-name="GstMixerFlags"
- glib:get-type="gst_mixer_flags_get_type"
- c:type="GstMixerFlags">
- <member name="none"
- value="0"
- c:identifier="GST_MIXER_FLAG_NONE"
- glib:nick="none"/>
- <member name="auto_notifications"
- value="1"
- c:identifier="GST_MIXER_FLAG_AUTO_NOTIFICATIONS"
- glib:nick="auto-notifications"/>
- <member name="has_whitelist"
- value="2"
- c:identifier="GST_MIXER_FLAG_HAS_WHITELIST"
- glib:nick="has-whitelist"/>
- <member name="grouping"
- value="4"
- c:identifier="GST_MIXER_FLAG_GROUPING"
- glib:nick="grouping"/>
- </bitfield>
- <enumeration name="MixerMessageType"
- doc="GstMixer message, posted when the list of available options for a
-when the list of available mixer tracks has changed. The application
-An enumeration for the type of a GstMixer message received on the bus"
- version="0.10.14"
- glib:type-name="GstMixerMessageType"
- glib:get-type="gst_mixer_message_type_get_type"
- c:type="GstMixerMessageType">
- <member name="invalid"
- value="0"
- c:identifier="GST_MIXER_MESSAGE_INVALID"
- glib:nick="invalid"/>
- <member name="mute_toggled"
- value="1"
- c:identifier="GST_MIXER_MESSAGE_MUTE_TOGGLED"
- glib:nick="mute-toggled"/>
- <member name="record_toggled"
- value="2"
- c:identifier="GST_MIXER_MESSAGE_RECORD_TOGGLED"
- glib:nick="record-toggled"/>
- <member name="volume_changed"
- value="3"
- c:identifier="GST_MIXER_MESSAGE_VOLUME_CHANGED"
- glib:nick="volume-changed"/>
- <member name="option_changed"
- value="4"
- c:identifier="GST_MIXER_MESSAGE_OPTION_CHANGED"
- glib:nick="option-changed"/>
- <member name="options_list_changed"
- value="5"
- c:identifier="GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED"
- glib:nick="options-list-changed"/>
- <member name="mixer_changed"
- value="6"
- c:identifier="GST_MIXER_MESSAGE_MIXER_CHANGED"
- glib:nick="mixer-changed"/>
- </enumeration>
- <class name="MixerOptions"
- c:type="GstMixerOptions"
- doc="always use gst_mixer_options_get_values() instead."
- parent="MixerTrack"
- glib:type-name="GstMixerOptions"
- glib:get-type="gst_mixer_options_get_type"
- glib:type-struct="MixerOptionsClass">
- <virtual-method name="get_values" invoker="get_values">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </virtual-method>
- <method name="get_values"
- c:identifier="gst_mixer_options_get_values"
- doc="Get the values for the mixer option.
-option. You must not free or modify the list or its contents, it belongs
-to the @mixer_options object.">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <field name="parent">
- <type name="MixerTrack" c:type="GstMixerTrack"/>
- </field>
- <field name="values">
- <type name="GLib.List" c:type="GList*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="MixerOptionsClass"
- c:type="GstMixerOptionsClass"
- glib:is-gtype-struct-for="MixerOptions">
- <field name="parent">
- <type name="MixerTrackClass" c:type="GstMixerTrackClass"/>
- </field>
- <field name="get_values">
- <callback name="get_values" c:type="get_values">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="opts" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="MixerTrack"
- c:type="GstMixerTrack"
- parent="GObject.Object"
- glib:type-name="GstMixerTrack"
- glib:get-type="gst_mixer_track_get_type"
- glib:type-struct="MixerTrackClass">
- <property name="flags">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="index" writable="1" construct-only="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="label">
- <type name="utf8" c:type="gchararray"/>
- </property>
- <property name="max-volume">
- <type name="int" c:type="gint"/>
- </property>
- <property name="min-volume">
- <type name="int" c:type="gint"/>
- </property>
- <property name="num-channels">
- <type name="int" c:type="gint"/>
- </property>
- <property name="untranslated-label" writable="1" construct-only="1">
- <type name="utf8" c:type="gchararray"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="label">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="flags">
- <type name="MixerTrackFlags" c:type="GstMixerTrackFlags"/>
- </field>
- <field name="num_channels">
- <type name="int" c:type="gint"/>
- </field>
- <field name="min_volume">
- <type name="int" c:type="gint"/>
- </field>
- <field name="max_volume">
- <type name="int" c:type="gint"/>
- </field>
- </class>
- <record name="MixerTrackClass"
- c:type="GstMixerTrackClass"
- glib:is-gtype-struct-for="MixerTrack">
- <field name="parent">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="MixerTrackFlags"
- doc="(for #GST_MIXER_TRACK_INPUT mixer tracks only)
-in software (as opposed to a hardware control)
-Mixer track flags."
- version="0.10.23"
- glib:type-name="GstMixerTrackFlags"
- glib:get-type="gst_mixer_track_flags_get_type"
- c:type="GstMixerTrackFlags">
- <member name="input"
- value="1"
- c:identifier="GST_MIXER_TRACK_INPUT"
- glib:nick="input"/>
- <member name="output"
- value="2"
- c:identifier="GST_MIXER_TRACK_OUTPUT"
- glib:nick="output"/>
- <member name="mute"
- value="4"
- c:identifier="GST_MIXER_TRACK_MUTE"
- glib:nick="mute"/>
- <member name="record"
- value="8"
- c:identifier="GST_MIXER_TRACK_RECORD"
- glib:nick="record"/>
- <member name="master"
- value="16"
- c:identifier="GST_MIXER_TRACK_MASTER"
- glib:nick="master"/>
- <member name="software"
- value="32"
- c:identifier="GST_MIXER_TRACK_SOFTWARE"
- glib:nick="software"/>
- <member name="no_record"
- value="64"
- c:identifier="GST_MIXER_TRACK_NO_RECORD"
- glib:nick="no-record"/>
- <member name="no_mute"
- value="128"
- c:identifier="GST_MIXER_TRACK_NO_MUTE"
- glib:nick="no-mute"/>
- <member name="whitelist"
- value="256"
- c:identifier="GST_MIXER_TRACK_WHITELIST"
- glib:nick="whitelist"/>
- <member name="readonly"
- value="512"
- c:identifier="GST_MIXER_TRACK_READONLY"
- glib:nick="readonly"/>
- <member name="writeonly"
- value="1024"
- c:identifier="GST_MIXER_TRACK_WRITEONLY"
- glib:nick="writeonly"/>
- </bitfield>
- <enumeration name="MixerType"
- glib:type-name="GstMixerType"
- glib:get-type="gst_mixer_type_get_type"
- c:type="GstMixerType">
- <member name="hardware"
- value="0"
- c:identifier="GST_MIXER_HARDWARE"
- glib:nick="hardware"/>
- <member name="software"
- value="1"
- c:identifier="GST_MIXER_SOFTWARE"
- glib:nick="software"/>
- </enumeration>
- <interface name="Navigation"
- c:type="GstNavigation"
- glib:type-name="GstNavigation"
- glib:get-type="gst_navigation_get_type"
- glib:type-struct="NavigationInterface">
- <virtual-method name="send_event" invoker="send_event">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="structure" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="send_event" c:identifier="gst_navigation_send_event">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="structure" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_key_event"
- c:identifier="gst_navigation_send_key_event"
- doc=""key-release"
-by XKeysymToString.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_mouse_event"
- c:identifier="gst_navigation_send_mouse_event"
- doc=""mouse-button-press", "mouse-button-release" and "mouse-move".
-for mouse-move events.
-Sends a mouse event to the navigation interface. Mouse event coordinates
-are sent relative to the display space of the related output area. This is
-usually the size in pixels of the window associated with the element
-implementing the #GstNavigation interface.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="button" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <type name="double" c:type="double"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="double" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_command"
- c:identifier="gst_navigation_send_command"
- doc="Sends the indicated command to the navigation interface."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="command" transfer-ownership="none">
- <type name="NavigationCommand" c:type="GstNavigationCommand"/>
- </parameter>
- </parameters>
- </method>
- </interface>
- <enumeration name="NavigationCommand"
- doc="this enters the DVD root menu, or exits back to the title from the menu.
-this jumps to the DVD title menu.
-this jumps into the DVD root menu.
-this jumps to the Subpicture menu.
-the jumps to the audio menu.
-this jumps to the angles menu.
-this jumps to the chapter menu.
-if such a button exists.
-if such a button exists.
-menu, if such a button exists.
-menu, if such a button exists.
-button in a menu, if such a button exists.
-multiangle feature.
-feature.
-A set of commands that may be issued to an element providing the
-#GstNavigation interface. The available commands can be queried via
-the gst_navigation_query_new_commands() query.
-For convenience in handling DVD navigation, the MENU commands are aliased as:
-GST_NAVIGATION_COMMAND_DVD_MENU = @GST_NAVIGATION_COMMAND_MENU1
-GST_NAVIGATION_COMMAND_DVD_TITLE_MENU = @GST_NAVIGATION_COMMAND_MENU2
-GST_NAVIGATION_COMMAND_DVD_ROOT_MENU = @GST_NAVIGATION_COMMAND_MENU3
-GST_NAVIGATION_COMMAND_DVD_SUBPICTURE_MENU = @GST_NAVIGATION_COMMAND_MENU4
-GST_NAVIGATION_COMMAND_DVD_AUDIO_MENU = @GST_NAVIGATION_COMMAND_MENU5
-GST_NAVIGATION_COMMAND_DVD_ANGLE_MENU = @GST_NAVIGATION_COMMAND_MENU6
-GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU = @GST_NAVIGATION_COMMAND_MENU7"
- version="0.10.23"
- glib:type-name="GstNavigationCommand"
- glib:get-type="gst_navigation_command_get_type"
- c:type="GstNavigationCommand">
- <member name="invalid"
- value="0"
- c:identifier="GST_NAVIGATION_COMMAND_INVALID"
- glib:nick="invalid"/>
- <member name="menu1"
- value="1"
- c:identifier="GST_NAVIGATION_COMMAND_MENU1"
- glib:nick="menu1"/>
- <member name="menu2"
- value="2"
- c:identifier="GST_NAVIGATION_COMMAND_MENU2"
- glib:nick="menu2"/>
- <member name="menu3"
- value="3"
- c:identifier="GST_NAVIGATION_COMMAND_MENU3"
- glib:nick="menu3"/>
- <member name="menu4"
- value="4"
- c:identifier="GST_NAVIGATION_COMMAND_MENU4"
- glib:nick="menu4"/>
- <member name="menu5"
- value="5"
- c:identifier="GST_NAVIGATION_COMMAND_MENU5"
- glib:nick="menu5"/>
- <member name="menu6"
- value="6"
- c:identifier="GST_NAVIGATION_COMMAND_MENU6"
- glib:nick="menu6"/>
- <member name="menu7"
- value="7"
- c:identifier="GST_NAVIGATION_COMMAND_MENU7"
- glib:nick="menu7"/>
- <member name="left"
- value="20"
- c:identifier="GST_NAVIGATION_COMMAND_LEFT"
- glib:nick="left"/>
- <member name="right"
- value="21"
- c:identifier="GST_NAVIGATION_COMMAND_RIGHT"
- glib:nick="right"/>
- <member name="up"
- value="22"
- c:identifier="GST_NAVIGATION_COMMAND_UP"
- glib:nick="up"/>
- <member name="down"
- value="23"
- c:identifier="GST_NAVIGATION_COMMAND_DOWN"
- glib:nick="down"/>
- <member name="activate"
- value="24"
- c:identifier="GST_NAVIGATION_COMMAND_ACTIVATE"
- glib:nick="activate"/>
- <member name="prev_angle"
- value="30"
- c:identifier="GST_NAVIGATION_COMMAND_PREV_ANGLE"
- glib:nick="prev-angle"/>
- <member name="next_angle"
- value="31"
- c:identifier="GST_NAVIGATION_COMMAND_NEXT_ANGLE"
- glib:nick="next-angle"/>
- </enumeration>
- <enumeration name="NavigationEventType"
- doc="gst_navigation_event_get_type() when the passed event is not a navigation event.
-gst_navigation_event_parse_key_event() to extract the details from the event.
-gst_navigation_event_parse_key_event() to extract the details from the event.
-gst_navigation_event_parse_mouse_button_event() to extract the details from the
-event.
-gst_navigation_event_parse_mouse_button_event() to extract the details from the
-event.
-gst_navigation_event_parse_mouse_move_event() to extract the details from the
-event.
-gst_navigation_event_parse_command() to extract the details from the event.
-Enum values for the various events that an element implementing the
-GstNavigation interface might send up the pipeline."
- version="0.10.23"
- glib:type-name="GstNavigationEventType"
- glib:get-type="gst_navigation_event_type_get_type"
- c:type="GstNavigationEventType">
- <member name="invalid"
- value="0"
- c:identifier="GST_NAVIGATION_EVENT_INVALID"
- glib:nick="invalid"/>
- <member name="key_press"
- value="1"
- c:identifier="GST_NAVIGATION_EVENT_KEY_PRESS"
- glib:nick="key-press"/>
- <member name="key_release"
- value="2"
- c:identifier="GST_NAVIGATION_EVENT_KEY_RELEASE"
- glib:nick="key-release"/>
- <member name="mouse_button_press"
- value="3"
- c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS"
- glib:nick="mouse-button-press"/>
- <member name="mouse_button_release"
- value="4"
- c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE"
- glib:nick="mouse-button-release"/>
- <member name="mouse_move"
- value="5"
- c:identifier="GST_NAVIGATION_EVENT_MOUSE_MOVE"
- glib:nick="mouse-move"/>
- <member name="command"
- value="6"
- c:identifier="GST_NAVIGATION_EVENT_COMMAND"
- glib:nick="command"/>
- </enumeration>
- <record name="NavigationInterface"
- c:type="GstNavigationInterface"
- glib:is-gtype-struct-for="Navigation">
- <field name="g_iface">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="send_event">
- <callback name="send_event" c:type="send_event">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="navigation" transfer-ownership="none">
- <type name="Navigation" c:type="GstNavigation*"/>
- </parameter>
- <parameter name="structure" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="NavigationMessageType"
- doc="gst_navigation_message_get_type() when the passed message is not a
-navigation message.
-clickable region of the output, such as a DVD menu button.
-changes and should re-queried by interested applications.
-feature (such as a multiangle DVD) change - either angles have appeared or
-disappeared.
-A set of notifications that may be received on the bus when navigation
-related status changes."
- version="0.10.23"
- glib:type-name="GstNavigationMessageType"
- glib:get-type="gst_navigation_message_type_get_type"
- c:type="GstNavigationMessageType">
- <member name="invalid"
- value="0"
- c:identifier="GST_NAVIGATION_MESSAGE_INVALID"
- glib:nick="invalid"/>
- <member name="mouse_over"
- value="1"
- c:identifier="GST_NAVIGATION_MESSAGE_MOUSE_OVER"
- glib:nick="mouse-over"/>
- <member name="commands_changed"
- value="2"
- c:identifier="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED"
- glib:nick="commands-changed"/>
- <member name="angles_changed"
- value="3"
- c:identifier="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED"
- glib:nick="angles-changed"/>
- </enumeration>
- <enumeration name="NavigationQueryType"
- glib:type-name="GstNavigationQueryType"
- glib:get-type="gst_navigation_query_type_get_type"
- c:type="GstNavigationQueryType">
- <member name="invalid"
- value="0"
- c:identifier="GST_NAVIGATION_QUERY_INVALID"
- glib:nick="invalid"/>
- <member name="commands"
- value="1"
- c:identifier="GST_NAVIGATION_QUERY_COMMANDS"
- glib:nick="commands"/>
- <member name="angles"
- value="2"
- c:identifier="GST_NAVIGATION_QUERY_ANGLES"
- glib:nick="angles"/>
- </enumeration>
- <interface name="PropertyProbe"
- c:type="GstPropertyProbe"
- doc="Opaque #GstPropertyProbe data structure."
- glib:type-name="GstPropertyProbe"
- glib:get-type="gst_property_probe_get_type"
- glib:type-struct="PropertyProbeInterface">
- <virtual-method name="get_properties" invoker="get_properties">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="needs_probe">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="prop_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="probe_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="prop_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_values">
- <return-value transfer-ownership="full">
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="prop_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_properties"
- c:identifier="gst_property_probe_get_properties"
- doc="Get a list of properties for which probing is supported.
-by this element.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="get_property"
- c:identifier="gst_property_probe_get_property"
- doc="Get #GParamSpec for a property for which probing is supported.">
- <return-value transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="probe_property"
- c:identifier="gst_property_probe_probe_property"
- doc="Runs a probe on the property specified by @pspec">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="probe_property_name"
- c:identifier="gst_property_probe_probe_property_name"
- doc="Runs a probe on the property specified by @name.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="needs_probe"
- c:identifier="gst_property_probe_needs_probe"
- doc="Checks whether a property needs a probe. This might be because
-the property wasn't initialized before, or because host setup
-changed. This might be, for example, because a new device was
-added, and thus device probing needs to be refreshed to display
-the new device.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="needs_probe_name"
- c:identifier="gst_property_probe_needs_probe_name"
- doc="Same as gst_property_probe_needs_probe ().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_values"
- c:identifier="gst_property_probe_get_values"
- doc="Gets the possible (probed) values for the given property,
-requires the property to have been probed before.">
- <return-value transfer-ownership="full">
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_values_name"
- c:identifier="gst_property_probe_get_values_name"
- doc="Same as gst_property_probe_get_values ().">
- <return-value transfer-ownership="full">
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="probe_and_get_values"
- c:identifier="gst_property_probe_probe_and_get_values"
- doc="Check whether the given property requires a new probe. If so,
-fo the probe. After that, retrieve a value list. Meant as a
-utility function that wraps the above functions.">
- <return-value transfer-ownership="full">
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </method>
- <method name="probe_and_get_values_name"
- c:identifier="gst_property_probe_probe_and_get_values_name"
- doc="Same as gst_property_probe_probe_and_get_values ().">
- <return-value transfer-ownership="full">
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <glib:signal name="probe-needed">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <record name="PropertyProbeInterface"
- c:type="GstPropertyProbeInterface"
- glib:is-gtype-struct-for="PropertyProbe"
- doc="#GstPropertyProbe interface.">
- <field name="klass">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="probe_needed">
- <callback name="probe_needed" c:type="probe_needed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="probe" transfer-ownership="none">
- <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_properties">
- <callback name="get_properties" c:type="get_properties">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="probe" transfer-ownership="none">
- <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="needs_probe">
- <callback name="needs_probe" c:type="needs_probe">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="probe" transfer-ownership="none">
- <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
- </parameter>
- <parameter name="prop_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="probe_property">
- <callback name="probe_property" c:type="probe_property">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="probe" transfer-ownership="none">
- <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
- </parameter>
- <parameter name="prop_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_values">
- <callback name="get_values" c:type="get_values">
- <return-value transfer-ownership="full">
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="probe" transfer-ownership="none">
- <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
- </parameter>
- <parameter name="prop_id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pspec" transfer-ownership="none">
- <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <interface name="StreamVolume"
- c:type="GstStreamVolume"
- glib:type-name="GstStreamVolume"
- glib:get-type="gst_stream_volume_get_type"
- glib:type-struct="StreamVolumeInterface">
- <method name="set_volume"
- c:identifier="gst_stream_volume_set_volume"
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
- </parameter>
- <parameter name="val" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_volume"
- c:identifier="gst_stream_volume_get_volume"
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_mute"
- c:identifier="gst_stream_volume_set_mute"
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="mute" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_mute"
- c:identifier="gst_stream_volume_get_mute"
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <property name="mute" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="volume" writable="1">
- <type name="double" c:type="gdouble"/>
- </property>
- </interface>
- <enumeration name="StreamVolumeFormat"
- doc="Different representations of a stream volume. gst_stream_volume_convert()
-allows to convert between the different representations.
-Formulas to convert from a linear to a cubic or dB volume are
-cbrt(val) and 20 * log10 (val)."
- version="0.10.25"
- glib:type-name="GstStreamVolumeFormat"
- glib:get-type="gst_stream_volume_format_get_type"
- c:type="GstStreamVolumeFormat">
- <member name="linear"
- value="0"
- c:identifier="GST_STREAM_VOLUME_FORMAT_LINEAR"
- glib:nick="linear"/>
- <member name="cubic"
- value="1"
- c:identifier="GST_STREAM_VOLUME_FORMAT_CUBIC"
- glib:nick="cubic"/>
- <member name="db"
- value="2"
- c:identifier="GST_STREAM_VOLUME_FORMAT_DB"
- glib:nick="db"/>
- </enumeration>
- <record name="StreamVolumeInterface"
- c:type="GstStreamVolumeInterface"
- glib:is-gtype-struct-for="StreamVolume">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <interface name="Tuner"
- c:type="GstTuner"
- glib:type-name="GstTuner"
- glib:get-type="gst_tuner_get_type"
- glib:type-struct="TunerClass">
- <prerequisite name="Gst.ImplementsInterface"/>
- <prerequisite name="Gst.Element"/>
- <virtual-method name="list_channels" invoker="list_channels">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_channel" invoker="set_channel">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_channel" invoker="get_channel">
- <return-value transfer-ownership="full">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="list_norms" invoker="list_norms">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_norm" invoker="set_norm">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="norm" transfer-ownership="none">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_norm" invoker="get_norm">
- <return-value transfer-ownership="full">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </return-value>
- </virtual-method>
- <virtual-method name="set_frequency" invoker="set_frequency">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_frequency" invoker="get_frequency">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="signal_strength" invoker="signal_strength">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="list_channels"
- c:identifier="gst_tuner_list_channels"
- doc="Retrieve a #GList of #GstTunerChannels available
-(e.g. 'composite', 's-video', ...) from the given tuner object.
-owned by the GstTuner and must not be freed.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="set_channel"
- c:identifier="gst_tuner_set_channel"
- doc="Tunes the object to the given channel, which should be one of the
-channels returned by gst_tuner_list_channels().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_channel"
- c:identifier="gst_tuner_get_channel"
- doc="Retrieve the current channel from the tuner.">
- <return-value transfer-ownership="full">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </return-value>
- </method>
- <method name="list_norms"
- c:identifier="gst_tuner_list_norms"
- doc="Retrieve a GList of available #GstTunerNorm settings for the currently
-tuned channel on the given tuner object.
-tuner object. The list is owned by the GstTuner and must not
-be freed.">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- </method>
- <method name="set_norm"
- c:identifier="gst_tuner_set_norm"
- doc="Changes the video norm on this tuner to the given norm, which should be
-one of the norms returned by gst_tuner_list_norms().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="norm" transfer-ownership="none">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_norm"
- c:identifier="gst_tuner_get_norm"
- doc="Get the current video norm from the given tuner object for the
-currently selected channel.">
- <return-value transfer-ownership="full">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </return-value>
- </method>
- <method name="set_frequency"
- c:identifier="gst_tuner_set_frequency"
- doc="Sets a tuning frequency on the given tuner/channel. Note that this
-requires the given channel to be a "tuning" channel, which can be
-checked using GST_TUNER_CHANNEL_HAS_FLAG (), with the proper flag
-being GST_TUNER_CHANNEL_FREQUENCY.
-The frequency is in Hz, with minimum steps indicated by the
-frequency_multiplicator provided in the #GstTunerChannel. The
-valid range is provided in the min_frequency and max_frequency properties
-of the #GstTunerChannel.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_frequency"
- c:identifier="gst_tuner_get_frequency"
- doc="Retrieve the current frequency from the given channel. As for
-gst_tuner_set_frequency(), the #GstTunerChannel must support frequency
-operations, as indicated by the GST_TUNER_CHANNEL_FREQUENCY flag.">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </method>
- <method name="signal_strength"
- c:identifier="gst_tuner_signal_strength"
- doc="Get the strength of the signal on this channel. Note that this
-requires the current channel to be a "tuning" channel, i.e. a
-channel on which frequency can be set. This can be checked using
-GST_TUNER_CHANNEL_HAS_FLAG (), and the appropriate flag to check
-for is GST_TUNER_CHANNEL_FREQUENCY.
-The valid range of the signal strength is indicated in the
-min_signal and max_signal properties of the #GstTunerChannel.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </method>
- <method name="find_norm_by_name"
- c:identifier="gst_tuner_find_norm_by_name"
- doc="Look up a #GstTunerNorm by name.
-is available.">
- <return-value transfer-ownership="full">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </return-value>
- <parameters>
- <parameter name="norm" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="find_channel_by_name"
- c:identifier="gst_tuner_find_channel_by_name"
- doc="Look up a #GstTunerChannel by name.
-is available.">
- <return-value transfer-ownership="full">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="channel_changed"
- c:identifier="gst_tuner_channel_changed"
- doc="Called by elements implementing the #GstTuner interface when the
-current channel changes. Fires the #GstTuner::channel-changed signal.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </method>
- <method name="norm_changed"
- c:identifier="gst_tuner_norm_changed"
- doc="Called by elements implementing the #GstTuner interface when the
-current norm changes. Fires the #GstTuner::norm-changed signal.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="norm" transfer-ownership="none">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </parameter>
- </parameters>
- </method>
- <method name="frequency_changed"
- c:identifier="gst_tuner_frequency_changed"
- doc="Called by elements implementing the #GstTuner interface when the
-configured frequency changes. Fires the #GstTuner::frequency-changed
-signal on the tuner, and the #GstTunerChannel::frequency-changed signal
-on the channel.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </method>
- <method name="signal_changed"
- c:identifier="gst_tuner_signal_changed"
- doc="Called by elements implementing the #GstTuner interface when the
-incoming signal strength changes. Fires the #GstTuner::signal-changed
-signal on the tuner and the #GstTunerChannel::signal-changed signal on
-the channel.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="signal" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <glib:signal name="channel-changed"
- doc="Reports that the current #GstTunerChannel has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="frequency-changed"
- doc="Reports that the current frequency has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel"/>
- </parameter>
- <parameter name="p0" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="norm-changed"
- doc="Reports that the current #GstTunerNorm has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="norm" transfer-ownership="none">
- <type name="TunerNorm" c:type="GstTunerNorm"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="signal-changed"
- doc="Reports that the signal strength has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel"/>
- </parameter>
- <parameter name="signal" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <class name="TunerChannel"
- c:type="GstTunerChannel"
- parent="GObject.Object"
- glib:type-name="GstTunerChannel"
- glib:get-type="gst_tuner_channel_get_type"
- glib:type-struct="TunerChannelClass">
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="label">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="flags">
- <type name="TunerChannelFlags" c:type="GstTunerChannelFlags"/>
- </field>
- <field name="freq_multiplicator">
- <type name="float" c:type="gfloat"/>
- </field>
- <field name="min_frequency">
- <type name="ulong" c:type="gulong"/>
- </field>
- <field name="max_frequency">
- <type name="ulong" c:type="gulong"/>
- </field>
- <field name="min_signal">
- <type name="int" c:type="gint"/>
- </field>
- <field name="max_signal">
- <type name="int" c:type="gint"/>
- </field>
- <glib:signal name="frequency-changed"
- doc="Reports that the current frequency has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="signal-changed"
- doc="Reports that the signal strength has changed.">
- <return-value transfer-ownership="full">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="signal" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="TunerChannelClass"
- c:type="GstTunerChannelClass"
- glib:is-gtype-struct-for="TunerChannel">
- <field name="parent">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="frequency_changed">
- <callback name="frequency_changed" c:type="frequency_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="signal_changed">
- <callback name="signal_changed" c:type="signal_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="signal" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <bitfield name="TunerChannelFlags"
- doc="and signal strength.
-An enumeration for flags indicating the available capabilities
-of a #GstTunerChannel."
- glib:type-name="GstTunerChannelFlags"
- glib:get-type="gst_tuner_channel_flags_get_type"
- c:type="GstTunerChannelFlags">
- <member name="input"
- value="1"
- c:identifier="GST_TUNER_CHANNEL_INPUT"
- glib:nick="input"/>
- <member name="output"
- value="2"
- c:identifier="GST_TUNER_CHANNEL_OUTPUT"
- glib:nick="output"/>
- <member name="frequency"
- value="4"
- c:identifier="GST_TUNER_CHANNEL_FREQUENCY"
- glib:nick="frequency"/>
- <member name="audio"
- value="8"
- c:identifier="GST_TUNER_CHANNEL_AUDIO"
- glib:nick="audio"/>
- </bitfield>
- <record name="TunerClass"
- c:type="GstTunerClass"
- glib:is-gtype-struct-for="Tuner">
- <field name="klass">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="list_channels">
- <callback name="list_channels" c:type="list_channels">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_channel">
- <callback name="set_channel" c:type="set_channel">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_channel">
- <callback name="get_channel" c:type="get_channel">
- <return-value transfer-ownership="full">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="list_norms">
- <callback name="list_norms" c:type="list_norms">
- <return-value transfer-ownership="none">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_norm">
- <callback name="set_norm" c:type="set_norm">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="norm" transfer-ownership="none">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_norm">
- <callback name="get_norm" c:type="get_norm">
- <return-value transfer-ownership="full">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_frequency">
- <callback name="set_frequency" c:type="set_frequency">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_frequency">
- <callback name="get_frequency" c:type="get_frequency">
- <return-value transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="signal_strength">
- <callback name="signal_strength" c:type="signal_strength">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="channel_changed">
- <callback name="channel_changed" c:type="channel_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="norm_changed">
- <callback name="norm_changed" c:type="norm_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="norm" transfer-ownership="none">
- <type name="TunerNorm" c:type="GstTunerNorm*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="frequency_changed">
- <callback name="frequency_changed" c:type="frequency_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="frequency" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="signal_changed">
- <callback name="signal_changed" c:type="signal_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tuner" transfer-ownership="none">
- <type name="Tuner" c:type="GstTuner*"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="TunerChannel" c:type="GstTunerChannel*"/>
- </parameter>
- <parameter name="signal" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <class name="TunerNorm"
- c:type="GstTunerNorm"
- doc="if any. (May be unset)."
- parent="GObject.Object"
- glib:type-name="GstTunerNorm"
- glib:get-type="gst_tuner_norm_get_type"
- glib:type-struct="TunerNormClass">
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="label">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="framerate">
- <type name="GObject.Value" c:type="GValue"/>
- </field>
- </class>
- <record name="TunerNormClass"
- c:type="GstTunerNormClass"
- glib:is-gtype-struct-for="TunerNorm">
- <field name="parent">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <interface name="VideoOrientation"
- c:type="GstVideoOrientation"
- doc="Opaque #GstVideoOrientation data structure."
- glib:type-name="GstVideoOrientation"
- glib:get-type="gst_video_orientation_get_type"
- glib:type-struct="VideoOrientationInterface">
- <prerequisite name="Gst.ImplementsInterface"/>
- <prerequisite name="Gst.Element"/>
- <virtual-method name="get_hflip" invoker="get_hflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_vflip" invoker="get_vflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_hcenter" invoker="get_hcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_vcenter" invoker="get_vcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_hflip" invoker="set_hflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_vflip" invoker="set_vflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_hcenter" invoker="set_hcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_vcenter" invoker="set_vcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_hflip"
- c:identifier="gst_video_orientation_get_hflip"
- doc="Get the horizontal flipping state (%TRUE for flipped) from the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_vflip"
- c:identifier="gst_video_orientation_get_vflip"
- doc="Get the vertical flipping state (%TRUE for flipped) from the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_hcenter"
- c:identifier="gst_video_orientation_get_hcenter"
- doc="Get the horizontal centering offset from the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_vcenter"
- c:identifier="gst_video_orientation_get_vcenter"
- doc="Get the vertical centering offset from the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_hflip"
- c:identifier="gst_video_orientation_set_hflip"
- doc="Set the horizontal flipping state (%TRUE for flipped) for the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_vflip"
- c:identifier="gst_video_orientation_set_vflip"
- doc="Set the vertical flipping state (%TRUE for flipped) for the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="flip" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_hcenter"
- c:identifier="gst_video_orientation_set_hcenter"
- doc="Set the horizontal centering offset for the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_vcenter"
- c:identifier="gst_video_orientation_set_vcenter"
- doc="Set the vertical centering offset for the given object."
- version="0.10.11">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="center" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- </interface>
- <record name="VideoOrientationInterface"
- c:type="GstVideoOrientationInterface"
- glib:is-gtype-struct-for="VideoOrientation"
- doc="#GstVideoOrientationInterface interface.">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="get_hflip">
- <callback name="get_hflip" c:type="get_hflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="flip" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_vflip">
- <callback name="get_vflip" c:type="get_vflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="flip" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_hcenter">
- <callback name="get_hcenter" c:type="get_hcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="center" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_vcenter">
- <callback name="get_vcenter" c:type="get_vcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="center" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_hflip">
- <callback name="set_hflip" c:type="set_hflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="flip" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_vflip">
- <callback name="set_vflip" c:type="set_vflip">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="flip" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_hcenter">
- <callback name="set_hcenter" c:type="set_hcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="center" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_vcenter">
- <callback name="set_vcenter" c:type="set_vcenter">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="video_orientation" transfer-ownership="none">
- <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
- </parameter>
- <parameter name="center" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <interface name="XOverlay"
- c:type="GstXOverlay"
- doc="Opaque #GstXOverlay data structure."
- glib:type-name="GstXOverlay"
- glib:get-type="gst_x_overlay_get_type"
- glib:type-struct="XOverlayClass">
- <prerequisite name="Gst.ImplementsInterface"/>
- <prerequisite name="Gst.Element"/>
- <virtual-method name="set_xwindow_id" invoker="set_xwindow_id">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xwindow_id" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="expose" invoker="expose">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </virtual-method>
- <virtual-method name="handle_events" invoker="handle_events">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="handle_events" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_render_rectangle"
- invoker="set_render_rectangle">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="x" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="set_xwindow_id"
- c:identifier="gst_x_overlay_set_xwindow_id"
- doc="This will call the video overlay's set_xwindow_id method. You should
-use this method to tell to a XOverlay to display video output to a
-specific XWindow. Passing 0 as the xwindow_id will tell the overlay to
-stop using that window and create an internal one.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xwindow_id" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_render_rectangle"
- c:identifier="gst_x_overlay_set_render_rectangle"
- doc="Configure a subregion as a video target within the window set by
-gst_x_overlay_set_xwindow_id(). If this is not used or not supported
-the video will fill the area of the window set as the overlay to 100%.
-By specifying the rectangle, the video can be overlayed to a specific region
-of that window only. After setting the new rectangle one should call
-gst_x_overlay_expose() to force a redraw. To unset the region pass -1 for
-the @x, @y, @width, and @height parameters.
-This method is needed for non fullscreen video overlay in UI toolkits that
-do not support subwindows."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="x" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="expose"
- c:identifier="gst_x_overlay_expose"
- doc="Tell an overlay that it has been exposed. This will redraw the current frame
-in the drawable even if the pipeline is PAUSED.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="handle_events"
- c:identifier="gst_x_overlay_handle_events"
- doc="Tell an overlay that it should handle events from the window system. These
-events are forwared upstream as navigation events. In some window system,
-events are not propagated in the window hierarchy if a client is listening
-for them. This method allows you to disable events handling completely
-from the XOverlay."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="handle_events" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="got_xwindow_id"
- c:identifier="gst_x_overlay_got_xwindow_id"
- doc="This will post a "have-xwindow-id" element message on the bus.
-This function should only be used by video overlay plugin developers.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xwindow_id" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </method>
- <method name="prepare_xwindow_id"
- c:identifier="gst_x_overlay_prepare_xwindow_id"
- doc="This will post a "prepare-xwindow-id" element message on the bus
-to give applications an opportunity to call
-gst_x_overlay_set_xwindow_id() before a plugin creates its own
-window.
-This function should only be used by video overlay plugin developers.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- </interface>
- <record name="XOverlayClass"
- c:type="GstXOverlayClass"
- glib:is-gtype-struct-for="XOverlay"
- doc="#GstXOverlay interface">
- <field name="klass">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="set_xwindow_id">
- <callback name="set_xwindow_id" c:type="set_xwindow_id">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="overlay" transfer-ownership="none">
- <type name="XOverlay" c:type="GstXOverlay*"/>
- </parameter>
- <parameter name="xwindow_id" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="expose">
- <callback name="expose" c:type="expose">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="overlay" transfer-ownership="none">
- <type name="XOverlay" c:type="GstXOverlay*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="handle_events">
- <callback name="handle_events" c:type="handle_events">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="overlay" transfer-ownership="none">
- <type name="XOverlay" c:type="GstXOverlay*"/>
- </parameter>
- <parameter name="handle_events" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_render_rectangle">
- <callback name="set_render_rectangle" c:type="set_render_rectangle">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="overlay" transfer-ownership="none">
- <type name="XOverlay" c:type="GstXOverlay*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </record>
- <function name="mixer_message_get_type"
- c:identifier="gst_mixer_message_get_type"
- doc="Check a bus message to see if it is a GstMixer notification
-message and return the GstMixerMessageType identifying which
-type of notification it is.
-if the message is not a GstMixer notification."
- version="0.10.14">
- <return-value transfer-ownership="full">
- <type name="MixerMessageType" c:type="GstMixerMessageType"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="mixer_message_parse_mute_toggled"
- c:identifier="gst_mixer_message_parse_mute_toggled"
- doc="Extracts the contents of a mute-toggled bus message. Reads
-the GstMixerTrack that has changed, and the new value of the mute
-flag.
-The GstMixerTrack remains valid until the message is freed."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack**"/>
- </parameter>
- <parameter name="mute" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </function>
- <function name="mixer_message_parse_option_changed"
- c:identifier="gst_mixer_message_parse_option_changed"
- doc="Extracts the GstMixerOptions and new value from a option-changed bus notification
-message.
-The options and value returned remain valid until the message is freed."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions**"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="mixer_message_parse_options_list_changed"
- c:identifier="gst_mixer_message_parse_options_list_changed"
- doc="Extracts the GstMixerOptions whose value list has changed from an
-options-list-changed bus notification message.
-The options object returned remains valid until the message is freed. You
-do not need to unref it."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <type name="MixerOptions" c:type="GstMixerOptions**"/>
- </parameter>
- </parameters>
- </function>
- <function name="mixer_message_parse_record_toggled"
- c:identifier="gst_mixer_message_parse_record_toggled"
- doc="Extracts the contents of a record-toggled bus message. Reads
-the GstMixerTrack that has changed, and the new value of the
-recording flag.
-The GstMixerTrack remains valid until the message is freed."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack**"/>
- </parameter>
- <parameter name="record" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </function>
- <function name="mixer_message_parse_volume_changed"
- c:identifier="gst_mixer_message_parse_volume_changed"
- doc="Parses a volume-changed notification message and extracts the track object
-it refers to, as well as an array of volumes and the size of the volumes array.
-The track object remains valid until the message is freed.
-The caller must free the array returned in the volumes parameter using g_free
-when they are done with it."
- version="0.10.14">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="track" transfer-ownership="none">
- <type name="MixerTrack" c:type="GstMixerTrack**"/>
- </parameter>
- <parameter name="volumes" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint**"/>
- </parameter>
- <parameter name="num_channels"
- direction="out"
- transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_event_get_type"
- c:identifier="gst_navigation_event_get_type"
- doc="Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
-#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="NavigationEventType" c:type="GstNavigationEventType"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_event_parse_command"
- c:identifier="gst_navigation_event_parse_command"
- doc="navigation event.
-Inspect a #GstNavigation command event and retrieve the enum value of the
-associated command."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="command" transfer-ownership="none">
- <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_event_parse_key_event"
- c:identifier="gst_navigation_event_parse_key_event"
- doc="press. The returned string is owned by the event, and valid only until the
-event is unreffed."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="key" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_event_parse_mouse_button_event"
- c:identifier="gst_navigation_event_parse_mouse_button_event"
- doc="with the event.
-event.
-event.
-Retrieve the details of either a #GstNavigation mouse button press event or
-a mouse button release event. Determine which type the event is using
-gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.
-otherwise FALSE."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="button" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="x" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="y" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_event_parse_mouse_move_event"
- c:identifier="gst_navigation_event_parse_mouse_move_event"
- doc="Inspect a #GstNavigation mouse movement event and extract the coordinates
-of the event."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="x" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- <parameter name="y" direction="out" transfer-ownership="full">
- <type name="double" c:type="gdouble*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_message_get_type"
- c:identifier="gst_navigation_message_get_type"
- doc="Check a bus message to see if it is a #GstNavigation event, and return
-the #GstNavigationMessageType identifying the type of the message if so.
-#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
-notification."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="NavigationMessageType" c:type="GstNavigationMessageType"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_message_new_angles_changed"
- c:identifier="gst_navigation_message_new_angles_changed"
- doc="Creates a new #GstNavigation message with type
-#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
-that the current angle, or current number of angles available in a
-multiangle video has changed."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="cur_angle" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="n_angles" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_message_new_commands_changed"
- c:identifier="gst_navigation_message_new_commands_changed"
- doc="Creates a new #GstNavigation message with type
-#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED"
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_message_new_mouse_over"
- c:identifier="gst_navigation_message_new_mouse_over"
- doc="%FALSE if it over a non-clickable area.
-Creates a new #GstNavigation message with type
-#GST_NAVIGATION_MESSAGE_MOUSE_OVER."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="Gst.Object" c:type="GstObject*"/>
- </parameter>
- <parameter name="active" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_message_parse_angles_changed"
- c:identifier="gst_navigation_message_parse_angles_changed"
- doc="or NULL
-Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
-and extract the @cur_angle and @n_angles parameters."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="cur_angle" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="n_angles" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_message_parse_mouse_over"
- c:identifier="gst_navigation_message_parse_mouse_over"
- doc="or NULL.
-Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
-and extract the active/inactive flag. If the mouse over event is marked
-active, it indicates that the mouse is over a clickable area."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- <parameter name="active" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_get_type"
- c:identifier="gst_navigation_query_get_type"
- doc="Inspect a #GstQuery and return the #GstNavigationQueryType associated with
-it if it is a #GstNavigation query.
-#GST_NAVIGATION_QUERY_INVALID"
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_new_angles"
- c:identifier="gst_navigation_query_new_angles"
- doc="Create a new #GstNavigation angles query. When executed, it will
-query the pipeline for the set of currently available angles, which may be
-greater than one in a multiangle video."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </return-value>
- </function>
- <function name="navigation_query_new_commands"
- c:identifier="gst_navigation_query_new_commands"
- doc="Create a new #GstNavigation commands query. When executed, it will
-query the pipeline for the set of currently available commands."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </return-value>
- </function>
- <function name="navigation_query_parse_angles"
- c:identifier="gst_navigation_query_parse_angles"
- doc="angle value from the query, or NULL
-value from the query, or NULL
-Parse the current angle number in the #GstNavigation angles @query into the
-#guint pointed to by the @cur_angle variable, and the number of available
-angles into the #guint pointed to by the @n_angles variable."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- <parameter name="cur_angle" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="n_angles" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_parse_commands_length"
- c:identifier="gst_navigation_query_parse_commands_length"
- doc="Parse the number of commands in the #GstNavigation commands @query."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- <parameter name="n_cmds" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_parse_commands_nth"
- c:identifier="gst_navigation_query_parse_commands_nth"
- doc="Parse the #GstNavigation command query and retrieve the @nth command from
-it into @cmd. If the list contains less elements than @nth, @cmd will be
-set to #GST_NAVIGATION_COMMAND_INVALID."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="cmd" transfer-ownership="none">
- <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_set_angles"
- c:identifier="gst_navigation_query_set_angles"
- doc="Set the #GstNavigation angles query result field in @query."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- <parameter name="cur_angle" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="n_angles" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_set_commands"
- c:identifier="gst_navigation_query_set_commands"
- doc="Set the #GstNavigation command query result fields in @query. The number
-of commands passed must be equal to @n_commands."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- <parameter name="n_cmds" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </function>
- <function name="navigation_query_set_commandsv"
- c:identifier="gst_navigation_query_set_commandsv"
- doc="Set the #GstNavigation command query result fields in @query. The number
-of commands passed must be equal to @n_commands."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="query" transfer-ownership="none">
- <type name="Gst.Query" c:type="GstQuery*"/>
- </parameter>
- <parameter name="n_cmds" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="cmds" transfer-ownership="none">
- <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
- </parameter>
- </parameters>
- </function>
- <function name="stream_volume_convert_volume"
- c:identifier="gst_stream_volume_convert_volume"
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </return-value>
- <parameters>
- <parameter name="from" transfer-ownership="none">
- <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
- </parameter>
- <parameter name="to" transfer-ownership="none">
- <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
- </parameter>
- <parameter name="val" transfer-ownership="none">
- <type name="double" c:type="gdouble"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gobject.ffi gstreamer.ffi ;
-IN: gstreamer.interfaces.ffi
-
-<<
-"gstreamer.interfaces" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstinterfaces-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/interfaces/GstInterfaces-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.interfaces.ffi ;
-IN: gstreamer.interfaces
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <namespace name="GstNet"
- version="0.10"
- shared-library="libgstnet-0.10.so.0"
- c:prefix="Gst">
- <class name="NetClientClock"
- c:type="GstNetClientClock"
- doc="Opaque #GstNetClientClock structure."
- parent="Gst.SystemClock"
- glib:type-name="GstNetClientClock"
- glib:get-type="gst_net_client_clock_get_type"
- glib:type-struct="NetClientClockClass">
- <constructor name="new"
- c:identifier="gst_net_client_clock_new"
- doc="Create a new #GstNetClientClock that will report the time
-provided by the #GstNetTimeProvider on @remote_address and
-clock.">
- <return-value transfer-ownership="full">
- <type name="NetClientClock" c:type="GstClock*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="remote_address" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="remote_port" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="base_time" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </constructor>
- <property name="address" writable="1">
- <type name="utf8" c:type="gchararray"/>
- </property>
- <property name="port" writable="1">
- <type name="int" c:type="gint"/>
- </property>
- <field name="clock">
- <type name="Gst.SystemClock" c:type="GstSystemClock"/>
- </field>
- <field name="address">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="port">
- <type name="int" c:type="gint"/>
- </field>
- <field name="sock">
- <type name="int" c:type="int"/>
- </field>
- <field name="control_sock">
- <array zero-terminated="0" c:type="int" fixed-size="2">
- <type name="int"/>
- </array>
- </field>
- <field name="current_timeout">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="servaddr">
- <type name="any" c:type="any*"/>
- </field>
- <field name="thread">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- <field name="priv">
- <type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="NetClientClockClass"
- c:type="GstNetClientClockClass"
- glib:is-gtype-struct-for="NetClientClock">
- <field name="parent_class">
- <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="NetClientClockPrivate" c:type="GstNetClientClockPrivate">
- </record>
- <record name="NetTimePacket"
- c:type="GstNetTimePacket"
- doc="Content of a #GstNetTimePacket.">
- <field name="local_time" writable="1">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="remote_time" writable="1">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <constructor name="new"
- c:identifier="gst_net_time_packet_new"
- doc="Creates a new #GstNetTimePacket from a buffer received over the network. The
-caller is responsible for ensuring that @buffer is at least
-#GST_NET_TIME_PACKET_SIZE bytes long.
-If @buffer is #NULL, the local and remote times will be set to
-#GST_CLOCK_TIME_NONE.
-MT safe. Caller owns return value (g_free to free).">
- <return-value transfer-ownership="full">
- <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </constructor>
- <method name="serialize"
- c:identifier="gst_net_time_packet_serialize"
- doc="Serialized a #GstNetTimePacket into a newly-allocated sequence of
-#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is
-suitable for passing to write(2) or sendto(2) for communication over the
-network.
-MT safe. Caller owns return value (g_free to free).">
- <return-value transfer-ownership="full">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </return-value>
- </method>
- <method name="send"
- c:identifier="gst_net_time_packet_send"
- doc="Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around
-sendto(2) and gst_net_time_packet_serialize().
-MT safe.">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="addr" transfer-ownership="none">
- <type name="any" c:type="any*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="int32" c:type="socklen_t"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <class name="NetTimeProvider"
- c:type="GstNetTimeProvider"
- doc="Opaque #GstNetTimeProvider structure."
- parent="Gst.Object"
- glib:type-name="GstNetTimeProvider"
- glib:get-type="gst_net_time_provider_get_type"
- glib:type-struct="NetTimeProviderClass">
- <constructor name="new"
- c:identifier="gst_net_time_provider_new"
- doc="to bind to all addresses
-Allows network clients to get the current time of @clock.">
- <return-value transfer-ownership="full">
- <type name="NetTimeProvider" c:type="GstNetTimeProvider*"/>
- </return-value>
- <parameters>
- <parameter name="clock" transfer-ownership="none">
- <type name="Gst.Clock" c:type="GstClock*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none" doc="or NULL">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </constructor>
- <property name="active" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="address" writable="1">
- <type name="utf8" c:type="gchararray"/>
- </property>
- <property name="clock" writable="1">
- <type name="Gst.Clock" c:type="GstClock"/>
- </property>
- <property name="port" writable="1">
- <type name="int" c:type="gint"/>
- </property>
- <field name="parent">
- <type name="Gst.Object" c:type="GstObject"/>
- </field>
- <field name="address">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="port">
- <type name="int" c:type="int"/>
- </field>
- <field name="sock">
- <type name="int" c:type="int"/>
- </field>
- <field name="control_sock">
- <array zero-terminated="0" c:type="int" fixed-size="2">
- <type name="int"/>
- </array>
- </field>
- <field name="thread">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- <field name="clock">
- <type name="Gst.Clock" c:type="GstClock*"/>
- </field>
- <union name="active" c:type="active">
- <field name="_gst_reserved1" writable="1">
- <type name="any" c:type="gpointer"/>
- </field>
- <field name="active" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- </union>
- <field name="priv">
- <type name="NetTimeProviderPrivate"
- c:type="GstNetTimeProviderPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="NetTimeProviderClass"
- c:type="GstNetTimeProviderClass"
- glib:is-gtype-struct-for="NetTimeProvider">
- <field name="parent_class">
- <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
- </field>
- </record>
- <record name="NetTimeProviderPrivate" c:type="GstNetTimeProviderPrivate">
- </record>
- <constant name="TIME_PACKET_SIZE" value="16">
- <type name="int"/>
- </constant>
- <function name="time_packet_receive"
- c:identifier="gst_net_time_packet_receive"
- doc="Receives a #GstNetTimePacket over a socket. Handles interrupted system calls,
-but otherwise returns NULL on error. See recvfrom(2) for more information on
-how to interpret @sockaddr.
-MT safe. Caller owns return value (g_free to free).">
- <return-value transfer-ownership="full">
- <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="addr" transfer-ownership="none">
- <type name="any" c:type="any*"/>
- </parameter>
- <parameter name="len" direction="out" transfer-ownership="full">
- <type name="int32" c:type="socklen_t*"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi gstreamer.ffi ;
-FROM: unix.types => socklen_t ;
-IN: gstreamer.net.ffi
-
-<<
-"gstreamer.net" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstnet-0.10.so" cdecl add-library ] }
-} cond
->>
-
-REPLACE-C-TYPE: any gpointer
-
-GIR: vocab:gstreamer/net/GstNet-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.net.ffi ;
-IN: gstreamer.net
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/netbuffer/gstnetbuffer.h"/>
- <namespace name="GstNetbuffer"
- version="0.10"
- shared-library="libgstnetbuffer-0.10.so.0"
- c:prefix="Gst">
- <record name="NetAddress"
- c:type="GstNetAddress"
- doc="An opaque network address as used in #GstNetBuffer.">
- <field name="type" writable="1">
- <type name="NetType" c:type="GstNetType"/>
- </field>
- <union name="address" c:type="address">
- <field name="ip6" writable="1">
- <array zero-terminated="0" c:type="guint8" fixed-size="16">
- <type name="uint8"/>
- </array>
- </field>
- <field name="ip4" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </union>
- <field name="port" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="NetBuffer"
- c:type="GstNetBuffer"
- doc="buffer for use in network sources and sinks.
-It contains the source or destination address of the buffer.">
- <field name="buffer" writable="1">
- <type name="Gst.Buffer" c:type="GstBuffer"/>
- </field>
- <field name="from" writable="1">
- <type name="NetAddress" c:type="GstNetAddress"/>
- </field>
- <field name="to" writable="1">
- <type name="NetAddress" c:type="GstNetAddress"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="NetBufferClass" c:type="GstNetBufferClass">
- <field name="buffer_class" writable="1">
- <type name="Gst.BufferClass" c:type="GstBufferClass"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="NetType"
- doc="The Address type used in #GstNetAddress."
- c:type="GstNetType">
- <member name="unknown" value="0" c:identifier="GST_NET_TYPE_UNKNOWN"/>
- <member name="ip4" value="1" c:identifier="GST_NET_TYPE_IP4"/>
- <member name="ip6" value="2" c:identifier="GST_NET_TYPE_IP6"/>
- </enumeration>
- <function name="netaddress_equal"
- c:identifier="gst_netaddress_equal"
- doc="Compare two #GstNetAddress structures"
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="naddr1" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="naddr2" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_get_address_bytes"
- c:identifier="gst_netaddress_get_address_bytes"
- doc="Get just the address bytes stored in @naddr into @address.
-Note that @port is expressed in network byte order, use g_ntohs() to convert
-it to host order. IP4 addresses are also stored in network byte order."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="port" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_get_ip4_address"
- c:identifier="gst_netaddress_get_ip4_address"
- doc="Get the IPv4 address stored in @naddr into @address. This function requires
-that the address type of @naddr is of type #GST_NET_TYPE_IP4.
-Note that @port and @address are expressed in network byte order, use
-g_ntohs() and g_ntohl() to convert them to host order.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="address" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="port" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_get_ip6_address"
- c:identifier="gst_netaddress_get_ip6_address"
- doc="Get the IPv6 address stored in @naddr into @address.
-If @naddr is of type GST_NET_TYPE_IP4, the transitional IP6 address is
-returned.
-Note that @port is expressed in network byte order, use g_ntohs() to convert
-it to host order.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="port" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_get_net_type"
- c:identifier="gst_netaddress_get_net_type"
- doc="Get the type of address stored in @naddr.">
- <return-value transfer-ownership="full">
- <type name="NetType" c:type="GstNetType"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_set_address_bytes"
- c:identifier="gst_netaddress_set_address_bytes"
- doc="Set just the address bytes stored in @naddr into @address.
-Note that @port must be expressed in network byte order, use g_htons() to
-convert it to network byte order order. IP4 address bytes must also be
-stored in network byte order."
- version="0.10.22">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="NetType" c:type="GstNetType"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_set_ip4_address"
- c:identifier="gst_netaddress_set_ip4_address"
- doc="Set @naddr with the IPv4 @address and @port pair.
-Note that @port and @address must be expressed in network byte order,
-use g_htons() and g_htonl() to convert them to network byte order.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_set_ip6_address"
- c:identifier="gst_netaddress_set_ip6_address"
- doc="Set @naddr with the IPv6 @address and @port pair.
-Note that @port must be expressed in network byte order, use g_htons() to convert
-it to network byte order.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="netaddress_to_string"
- c:identifier="gst_netaddress_to_string"
- doc="Copies a string representation of @naddr into @dest. Up to @len bytes are
-copied.
-enough"
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="naddr" transfer-ownership="none">
- <type name="NetAddress" c:type="GstNetAddress*"/>
- </parameter>
- <parameter name="dest" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="ulong" c:type="gulong"/>
- </parameter>
- </parameters>
- </function>
- <function name="new"
- c:identifier="gst_netbuffer_new"
- doc="Create a new network buffer.">
- <return-value transfer-ownership="full">
- <type name="NetBuffer" c:type="GstNetBuffer*"/>
- </return-value>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi ;
-IN: gstreamer.netbuffer.ffi
-
-<<
-"gstreamer.netbuffer" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstnetbuffer-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/netbuffer/GstNetbuffer-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.netbuffer.ffi ;
-IN: gstreamer.netbuffer
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/pbutils/descriptions.h"/>
- <c:include name="gst/pbutils/install-plugins.h"/>
- <c:include name="gst/pbutils/missing-plugins.h"/>
- <c:include name="gst/pbutils/pbutils-enumtypes.h"/>
- <c:include name="gst/pbutils/pbutils.h"/>
- <namespace name="GstPbutils"
- version="0.10"
- shared-library="libgstpbutils-0.10.so.0"
- c:prefix="Gst">
- <record name="InstallPluginsContext"
- c:type="GstInstallPluginsContext"
- doc="Opaque context structure for the plugin installation. Use the provided
-API to set details on it."
- version="0.10.12"
- glib:type-name="GstInstallPluginsContext"
- glib:get-type="gst_install_plugins_context_get_type">
- <constructor name="new"
- c:identifier="gst_install_plugins_context_new"
- doc="Creates a new #GstInstallPluginsContext.
-gst_install_plugins_context_free() when no longer needed"
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="InstallPluginsContext"
- c:type="GstInstallPluginsContext*"/>
- </return-value>
- </constructor>
- <method name="free"
- c:identifier="gst_install_plugins_context_free"
- doc="Frees a #GstInstallPluginsContext."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_xid"
- c:identifier="gst_install_plugins_context_set_xid"
- doc="This function is for X11-based applications (such as most Gtk/Qt
-applications on linux/unix) only. You can use it to tell the external
-installer the XID of your main application window. That way the installer
-can make its own window transient to your application window during the
-installation.
-If set, the XID will be passed to the installer via a --transient-for=XID
-command line option.
-Gtk+/Gnome application should be able to obtain the XID of the top-level
-window like this:
-<programlisting>
-##include &lt;gtk/gtk.h&gt;
-##ifdef GDK_WINDOWING_X11
-##include &lt;gdk/gdkx.h&gt;
-##endif
-...
-##ifdef GDK_WINDOWING_X11
-xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&gt;window);
-##endif
-...
-</programlisting>"
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="xid"
- transfer-ownership="none"
- doc="of the top-level application">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <callback name="InstallPluginsResultFunc"
- c:type="GstInstallPluginsResultFunc"
- doc="The prototype of the callback function that will be called once the
-external plugin installer program has returned. You only need to provide
-a callback function if you are using the asynchronous interface."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="result" transfer-ownership="none">
- <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="1">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="InstallPluginsReturn"
- doc="installed
-any of the requested plugins could be found. Only return this if nothing
-has been installed. Return #GST_INSTALL_PLUGINS_PARTIAL_SUCCESS if
-some (but not all) of the requested plugins could be installed.
-this happens, the user has already seen an error message and another
-one should not be displayed
-(ie. death by signal)
-be installed, but not all
-indicate that everything went fine so far and the provided callback
-will be called with the result of the installation later
-occured when trying to start the installer
-actual installer is not installed
-installation is still in progress, try again later
-Result codes returned by gst_install_plugins_async() and
-gst_install_plugins_sync(), and also the result code passed to the
-#GstInstallPluginsResultFunc specified with gst_install_plugin_async().
-These codes indicate success or failure of starting an external installer
-program and to what extent the requested plugins could be installed."
- version="0.10.12"
- glib:type-name="GstInstallPluginsReturn"
- glib:get-type="gst_install_plugins_return_get_type"
- c:type="GstInstallPluginsReturn">
- <member name="success"
- value="0"
- c:identifier="GST_INSTALL_PLUGINS_SUCCESS"
- glib:nick="success"/>
- <member name="not_found"
- value="1"
- c:identifier="GST_INSTALL_PLUGINS_NOT_FOUND"
- glib:nick="not-found"/>
- <member name="error"
- value="2"
- c:identifier="GST_INSTALL_PLUGINS_ERROR"
- glib:nick="error"/>
- <member name="partial_success"
- value="3"
- c:identifier="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS"
- glib:nick="partial-success"/>
- <member name="user_abort"
- value="4"
- c:identifier="GST_INSTALL_PLUGINS_USER_ABORT"
- glib:nick="user-abort"/>
- <member name="crashed"
- value="100"
- c:identifier="GST_INSTALL_PLUGINS_CRASHED"
- glib:nick="crashed"/>
- <member name="invalid"
- value="101"
- c:identifier="GST_INSTALL_PLUGINS_INVALID"
- glib:nick="invalid"/>
- <member name="started_ok"
- value="200"
- c:identifier="GST_INSTALL_PLUGINS_STARTED_OK"
- glib:nick="started-ok"/>
- <member name="internal_failure"
- value="201"
- c:identifier="GST_INSTALL_PLUGINS_INTERNAL_FAILURE"
- glib:nick="internal-failure"/>
- <member name="helper_missing"
- value="202"
- c:identifier="GST_INSTALL_PLUGINS_HELPER_MISSING"
- glib:nick="helper-missing"/>
- <member name="install_in_progress"
- value="203"
- c:identifier="GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS"
- glib:nick="install-in-progress"/>
- </enumeration>
- <function name="install_plugins_async"
- c:identifier="gst_install_plugins_async"
- doc="Requests plugin installation without blocking. Once the plugins have been
-installed or installation has failed, @func will be called with the result
-of the installation and your provided @user_data pointer.
-This function requires a running GLib/Gtk main loop. If you are not
-running a GLib/Gtk main loop, make sure to regularly call
-g_main_context_iteration(NULL,FALSE).
-The installer strings that make up @detail are typically obtained by
-calling gst_missing_plugin_message_get_installer_detail() on missing-plugin
-messages that have been caught on a pipeline's bus or created by the
-application via the provided API, such as gst_missing_element_message_new().
-It is possible to request the installation of multiple missing plugins in
-one go (as might be required if there is a demuxer for a certain format
-installed but no suitable video decoder and no suitable audio decoder)."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
- </return-value>
- <parameters>
- <parameter name="details" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="ctx" transfer-ownership="none">
- <type name="InstallPluginsContext"
- c:type="GstInstallPluginsContext*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="3">
- <type name="InstallPluginsResultFunc"
- c:type="GstInstallPluginsResultFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="install_plugins_installation_in_progress"
- c:identifier="gst_install_plugins_installation_in_progress"
- doc="Checks whether plugin installation (initiated by this application only)
-is currently in progress."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="install_plugins_return_get_name"
- c:identifier="gst_install_plugins_return_get_name"
- doc="Convenience function to return the descriptive string associated
-with a status code. This function returns English strings and
-should not be used for user messages. It is here only to assist
-in debugging."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="ret" transfer-ownership="none">
- <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
- </parameter>
- </parameters>
- </function>
- <function name="install_plugins_supported"
- c:identifier="gst_install_plugins_supported"
- doc="Checks whether plugin installation is likely to be supported by the
-current environment. This currently only checks whether the helper script
-that is to be provided by the distribution or operating system vendor
-exists."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </function>
- <function name="install_plugins_sync"
- c:identifier="gst_install_plugins_sync"
- doc="Requests plugin installation and block until the plugins have been
-installed or installation has failed.
-This function should almost never be used, it only exists for cases where
-a non-GLib main loop is running and the user wants to run it in a separate
-thread and marshal the result back asynchronously into the main thread
-using the other non-GLib main loop. You should almost always use
-gst_install_plugins_async() instead of this function."
- version="0.10.12">
- <return-value transfer-ownership="full">
- <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
- </return-value>
- <parameters>
- <parameter name="details" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="ctx" transfer-ownership="none">
- <type name="InstallPluginsContext"
- c:type="GstInstallPluginsContext*"/>
- </parameter>
- </parameters>
- </function>
- <function name="is_missing_plugin_message"
- c:identifier="gst_is_missing_plugin_message"
- doc="Checks whether @msg is a missing plugins message.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_decoder_installer_detail_new"
- c:identifier="gst_missing_decoder_installer_detail_new"
- doc="Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-gst_install_plugins_async() or gst_install_plugins_sync().
-This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.
-with g_free() when not needed any longer."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="decode_caps"
- transfer-ownership="none"
- doc="caps for which a decoder element is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_decoder_message_new"
- c:identifier="gst_missing_decoder_message_new"
- doc="Creates a missing-plugin message for @element to notify the application
-that a decoder element for a particular set of (fixed) caps is missing.
-This function is mainly for use in plugins.">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="decode_caps"
- transfer-ownership="none"
- doc="caps for which a decoder element is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_element_installer_detail_new"
- c:identifier="gst_missing_element_installer_detail_new"
- doc="e.g. "videoscale" or "cdparanoiasrc"
-Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-gst_install_plugins_async() or gst_install_plugins_sync().
-This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.
-with g_free() when not needed any longer."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="factory_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_element_message_new"
- c:identifier="gst_missing_element_message_new"
- doc="e.g. "videoscale" or "cdparanoiasrc"
-Creates a missing-plugin message for @element to notify the application
-that a certain required element is missing. This function is mainly for
-use in plugins.">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="factory_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_encoder_installer_detail_new"
- c:identifier="gst_missing_encoder_installer_detail_new"
- doc="Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-gst_install_plugins_async() or gst_install_plugins_sync().
-This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.
-with g_free() when not needed any longer."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="encode_caps"
- transfer-ownership="none"
- doc="caps for which an encoder element is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_encoder_message_new"
- c:identifier="gst_missing_encoder_message_new"
- doc="Creates a missing-plugin message for @element to notify the application
-that an encoder element for a particular set of (fixed) caps is missing.
-This function is mainly for use in plugins.">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="encode_caps"
- transfer-ownership="none"
- doc="caps for which an encoder element is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_plugin_message_get_description"
- c:identifier="gst_missing_plugin_message_get_description"
- doc="Returns a localised string describing the missing feature, for use in
-error dialogs and the like. Should never return NULL unless @msg is not
-a valid missing-plugin message.
-This function is mainly for applications that need a human-readable string
-describing a missing plugin, given a previously collected missing-plugin
-message
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_plugin_message_get_installer_detail"
- c:identifier="gst_missing_plugin_message_get_installer_detail"
- doc="Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-gst_install_plugins_async() or gst_install_plugins_sync().
-This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions.
-with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_uri_sink_installer_detail_new"
- c:identifier="gst_missing_uri_sink_installer_detail_new"
- doc="e.g. "http" or "mms"
-Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-gst_install_plugins_async() or gst_install_plugins_sync().
-This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.
-with g_free() when not needed any longer."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_uri_sink_message_new"
- c:identifier="gst_missing_uri_sink_message_new"
- doc="e.g. "http" or "smb"
-Creates a missing-plugin message for @element to notify the application
-that a sink element for a particular URI protocol is missing. This
-function is mainly for use in plugins.">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_uri_source_installer_detail_new"
- c:identifier="gst_missing_uri_source_installer_detail_new"
- doc="e.g. "http" or "mms"
-Returns an opaque string containing all the details about the missing
-element to be passed to an external installer called via
-gst_install_plugins_async() or gst_install_plugins_sync().
-This function is mainly for applications that call external plugin
-installation mechanisms using one of the two above-mentioned functions in
-the case where the application knows exactly what kind of plugin it is
-missing.
-with g_free() when not needed any longer."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="missing_uri_source_message_new"
- c:identifier="gst_missing_uri_source_message_new"
- doc="e.g. "http" or "mms"
-Creates a missing-plugin message for @element to notify the application
-that a source element for a particular URI protocol is missing. This
-function is mainly for use in plugins.">
- <return-value transfer-ownership="full">
- <type name="Gst.Message" c:type="GstMessage*"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_add_codec_description_to_tag_list"
- c:identifier="gst_pb_utils_add_codec_description_to_tag_list"
- doc="#GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC
-Adds a codec tag describing the format specified by @caps to @taglist.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="taglist" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="codec_tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="caps"
- transfer-ownership="none"
- doc="#GstCaps for which a codec tag should be added.">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_get_codec_description"
- c:identifier="gst_pb_utils_get_codec_description"
- doc="Returns a localised (as far as this is possible) string describing the
-media format specified in @caps, for use in error dialogs or other messages
-to be seen by the user. Should never return NULL unless @caps is invalid.
-Also see the convenience function
-gst_pb_utils_add_codec_description_to_tag_list().
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="caps"
- transfer-ownership="none"
- doc="#GstCaps for which an format description is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_get_decoder_description"
- c:identifier="gst_pb_utils_get_decoder_description"
- doc="Returns a localised string describing an decoder for the format specified
-in @caps, for use in error dialogs or other messages to be seen by the user.
-Should never return NULL unless @factory_name or @caps are invalid.
-This function is mainly for internal use, applications would typically
-use gst_missing_plugin_message_get_description() to get a description of
-a missing feature from a missing-plugin message.
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="caps"
- transfer-ownership="none"
- doc="#GstCaps for which an decoder description is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_get_element_description"
- c:identifier="gst_pb_utils_get_element_description"
- doc="Returns a localised string describing the given element, for use in
-error dialogs or other messages to be seen by the user. Should never
-return NULL unless @factory_name is invalid.
-This function is mainly for internal use, applications would typically
-use gst_missing_plugin_message_get_description() to get a description of
-a missing feature from a missing-plugin message.
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="factory_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_get_encoder_description"
- c:identifier="gst_pb_utils_get_encoder_description"
- doc="Returns a localised string describing an encoder for the format specified
-in @caps, for use in error dialogs or other messages to be seen by the user.
-Should never return NULL unless @factory_name or @caps are invalid.
-This function is mainly for internal use, applications would typically
-use gst_missing_plugin_message_get_description() to get a description of
-a missing feature from a missing-plugin message.
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="caps"
- transfer-ownership="none"
- doc="#GstCaps for which an encoder description is needed">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_get_sink_description"
- c:identifier="gst_pb_utils_get_sink_description"
- doc="Returns a localised string describing a sink element handling the protocol
-specified in @protocol, for use in error dialogs or other messages to be
-seen by the user. Should never return NULL unless @protocol is invalid.
-This function is mainly for internal use, applications would typically
-use gst_missing_plugin_message_get_description() to get a description of
-a missing feature from a missing-plugin message.
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_get_source_description"
- c:identifier="gst_pb_utils_get_source_description"
- doc="Returns a localised string describing a source element handling the protocol
-specified in @protocol, for use in error dialogs or other messages to be
-seen by the user. Should never return NULL unless @protocol is invalid.
-This function is mainly for internal use, applications would typically
-use gst_missing_plugin_message_get_description() to get a description of
-a missing feature from a missing-plugin message.
-string with g_free() when not needed any longer.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="protocol" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="pb_utils_init"
- c:identifier="gst_pb_utils_init"
- doc="Initialises the base utils support library. This function is not
-thread-safe. Applications should call it after calling gst_init(),
-plugins should call it from their plugin_init function.
-This function may be called multiple times. It will do nothing if the
-library has already been initialised."
- version="0.10.12">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi gstreamer.ffi ;
-IN: gstreamer.pbutils.ffi
-
-<<
-"gstreamer.pbutils" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstpbutils-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/pbutils/GstPbutils-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.pbutils.ffi ;
-IN: gstreamer.pbutils
-
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstBase" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-app-0.10"/>
+ <c:include name="gst/app/gstappbuffer.h"/>
+ <c:include name="gst/app/gstappsink.h"/>
+ <c:include name="gst/app/gstappsrc.h"/>
+ <namespace name="GstApp"
+ version="0.10"
+ shared-library="libgstapp-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <class name="AppBuffer"
+ c:symbol-prefix="app_buffer"
+ c:type="GstAppBuffer"
+ parent="Gst.Buffer"
+ glib:type-name="GstAppBuffer"
+ glib:get-type="gst_app_buffer_get_type"
+ glib:type-struct="AppBufferClass"
+ glib:fundamental="1">
+ <constructor name="new"
+ c:identifier="gst_app_buffer_new"
+ introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="finalize" transfer-ownership="none">
+ <type name="AppBufferFinalizeFunc"
+ c:type="GstAppBufferFinalizeFunc"/>
+ </parameter>
+ <parameter name="priv" transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <field name="buffer">
+ <type name="Gst.Buffer" c:type="GstBuffer"/>
+ </field>
+ <field name="finalize">
+ <type name="AppBufferFinalizeFunc" c:type="GstAppBufferFinalizeFunc"/>
+ </field>
+ <field name="priv">
+ <type name="gpointer" c:type="void*"/>
+ </field>
+ </class>
+ <record name="AppBufferClass"
+ c:type="GstAppBufferClass"
+ glib:is-gtype-struct-for="AppBuffer">
+ <field name="buffer_class">
+ <type name="Gst.BufferClass" c:type="GstBufferClass"/>
+ </field>
+ </record>
+ <callback name="AppBufferFinalizeFunc" c:type="GstAppBufferFinalizeFunc">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="priv" transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="AppSink"
+ c:symbol-prefix="app_sink"
+ c:type="GstAppSink"
+ parent="GstBase.BaseSink"
+ glib:type-name="GstAppSink"
+ glib:get-type="gst_app_sink_get_type"
+ glib:type-struct="AppSinkClass">
+ <implements name="Gst.URIHandler"/>
+ <method name="get_caps"
+ c:identifier="gst_app_sink_get_caps"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the configured caps on @appsink.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps accepted by the sink. gst_caps_unref() after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_drop"
+ c:identifier="gst_app_sink_get_drop"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Check if @appsink will drop old buffers when the maximum amount of queued
+buffers is reached.
+filled.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @appsink is dropping old buffers when the queue is</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_emit_signals"
+ c:identifier="gst_app_sink_get_emit_signals"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Check if appsink will emit the "new-preroll" and "new-buffer" signals.
+signals.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @appsink is emiting the "new-preroll" and "new-buffer"</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_max_buffers"
+ c:identifier="gst_app_sink_get_max_buffers"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the maximum amount of buffers that can be queued in @appsink.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The maximum amount of buffers that can be queued.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="is_eos"
+ c:identifier="gst_app_sink_is_eos"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Check if @appsink is EOS, which is when no more buffers can be pulled because
+an EOS event was received.
+This function also returns %TRUE when the appsink is not in the PAUSED or
+PLAYING state.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if no more buffers can be pulled and the appsink is EOS.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="pull_buffer"
+ c:identifier="gst_app_sink_pull_buffer"
+ version="0.10.22"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This function blocks until a buffer or EOS becomes available or the appsink
+element is set to the READY/NULL state.
+This function will only return buffers when the appsink is in the PLAYING
+state. All rendered buffers will be put in a queue so that the application
+can pull buffers at its own rate. Note that when the application does not
+pull buffers fast enough, the queued buffers could consume a lot of memory,
+especially when dealing with raw video frames.
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBuffer or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="pull_buffer_list"
+ c:identifier="gst_app_sink_pull_buffer_list"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This function blocks until a buffer list or EOS becomes available or the
+appsink element is set to the READY/NULL state.
+This function will only return buffer lists when the appsink is in the
+PLAYING state. All rendered buffer lists will be put in a queue so that
+the application can pull buffer lists at its own rate. Note that when
+the application does not pull buffer lists fast enough, the queued buffer
+lists could consume a lot of memory, especially when dealing with raw
+video frames.
+If an EOS event was received before any buffer lists, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBufferList or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ </method>
+ <method name="pull_preroll"
+ c:identifier="gst_app_sink_pull_preroll"
+ version="0.10.22"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the last preroll buffer in @appsink. This was the buffer that caused the
+appsink to preroll in the PAUSED state. This buffer can be pulled many times
+and remains available to the application even after EOS.
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the buffer right
+after the seek position.
+Note that the preroll buffer will also be returned as the first buffer
+when calling gst_app_sink_pull_buffer().
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
+This function blocks until a preroll buffer or EOS is received or the appsink
+element is set to the READY/NULL state.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBuffer or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </method>
+ <method name="set_callbacks"
+ c:identifier="gst_app_sink_set_callbacks"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set callbacks which will be executed for each new preroll, new buffer and eos.
+This is an alternative to using the signals, it has lower overhead and is thus
+less expensive, but also less flexible.
+If callbacks are installed, no signals will be emited for performance
+reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callbacks" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the callbacks</doc>
+ <type name="AppSinkCallbacks" c:type="GstAppSinkCallbacks*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a user_data argument for the callbacks</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">a destroy notify function</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps"
+ c:identifier="gst_app_sink_set_caps"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the capabilities on the appsink element. This function takes
+a copy of the caps structure. After calling this method, the sink will only
+accept caps that match @caps. If @caps is non-fixed, you must check the caps
+on the buffers to get the actual used caps.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caps to set</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_drop"
+ c:identifier="gst_app_sink_set_drop"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Instruct @appsink to drop old buffers when the maximum amount of queued
+buffers is reached.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="drop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_emit_signals"
+ c:identifier="gst_app_sink_set_emit_signals"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Make appsink emit the "new-preroll" and "new-buffer" signals. This option is
+by default disabled because signal emission is expensive and unneeded when
+the application prefers to operate in pull mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="emit" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_buffers"
+ c:identifier="gst_app_sink_set_max_buffers"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the maximum amount of buffers that can be queued in @appsink. After this
+amount of buffers are queued in appsink, any more buffers will block upstream
+elements until a buffer is pulled from @appsink.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum number of buffers to queue</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps" writable="1" transfer-ownership="none">
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="drop" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="emit-signals" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="eos" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="max-buffers" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <field name="basesink">
+ <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
+ </field>
+ <field name="priv">
+ <type name="AppSinkPrivate" c:type="GstAppSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="eos">
+ <doc xml:whitespace="preserve">Signal that the end-of-stream has been reached. This signal is emited from
+the steaming thread.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="new-buffer">
+ <doc xml:whitespace="preserve">Signal that a new buffer is available.
+This signal is emited from the steaming thread and only when the
+"emit-signals" property is %TRUE.
+The new buffer can be retrieved with the "pull-buffer" action
+signal or gst_app_sink_pull_buffer() either from this signal callback
+or from any other thread.
+Note that this signal is only emited when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="new-buffer-list">
+ <doc xml:whitespace="preserve">Signal that a new bufferlist is available.
+This signal is emited from the steaming thread and only when the
+"emit-signals" property is %TRUE.
+The new buffer can be retrieved with the "pull-buffer-list" action
+signal or gst_app_sink_pull_buffer_list() either from this signal callback
+or from any other thread.
+Note that this signal is only emited when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="new-preroll">
+ <doc xml:whitespace="preserve">Signal that a new preroll buffer is available.
+This signal is emited from the steaming thread and only when the
+"emit-signals" property is %TRUE.
+The new preroll buffer can be retrieved with the "pull-preroll" action
+signal or gst_app_sink_pull_preroll() either from this signal callback
+or from any other thread.
+Note that this signal is only emited when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pull-buffer" introspectable="0">
+ <doc xml:whitespace="preserve">This function blocks until a buffer or EOS becomes available or the appsink
+element is set to the READY/NULL state.
+This function will only return buffers when the appsink is in the PLAYING
+state. All rendered buffers will be put in a queue so that the application
+can pull buffers at its own rate.
+Note that when the application does not pull buffers fast enough, the
+queued buffers could consume a lot of memory, especially when dealing with
+raw video frames. It's possible to control the behaviour of the queue with
+the "drop" and "max-buffers" properties.
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBuffer or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.Buffer"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pull-buffer-list" introspectable="0">
+ <doc xml:whitespace="preserve">This function blocks until a buffer list or EOS becomes available or the appsink
+element is set to the READY/NULL state.
+This function will only return bufferlists when the appsink is in the PLAYING
+state. All rendered bufferlists will be put in a queue so that the application
+can pull bufferlists at its own rate.
+Note that when the application does not pull bufferlists fast enough, the
+queued bufferlists could consume a lot of memory, especially when dealing with
+raw video frames. It's possible to control the behaviour of the queue with
+the "drop" and "max-buffers" properties.
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBufferList or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.BufferList"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pull-preroll" introspectable="0">
+ <doc xml:whitespace="preserve">Get the last preroll buffer in @appsink. This was the buffer that caused the
+appsink to preroll in the PAUSED state. This buffer can be pulled many times
+and remains available to the application even after EOS.
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the buffer right
+after the seek position.
+Note that the preroll buffer will also be returned as the first buffer
+when calling gst_app_sink_pull_buffer() or the "pull-buffer" action signal.
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
+This function blocks until a preroll buffer or EOS is received or the appsink
+element is set to the READY/NULL state.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBuffer or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.Buffer"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <record name="AppSinkCallbacks"
+ c:type="GstAppSinkCallbacks"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">A set of callbacks that can be installed on the appsink with
+gst_app_sink_set_callbacks().</doc>
+ <field name="eos">
+ <callback name="eos">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_preroll">
+ <callback name="new_preroll">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_buffer">
+ <callback name="new_buffer">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_buffer_list">
+ <callback name="new_buffer_list">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSinkClass"
+ c:type="GstAppSinkClass"
+ glib:is-gtype-struct-for="AppSink">
+ <field name="basesink_class">
+ <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
+ </field>
+ <field name="eos">
+ <callback name="eos">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_preroll">
+ <callback name="new_preroll">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_buffer">
+ <callback name="new_buffer">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pull_preroll" introspectable="0">
+ <callback name="pull_preroll" introspectable="0">
+ <return-value>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pull_buffer" introspectable="0">
+ <callback name="pull_buffer" introspectable="0">
+ <return-value>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_buffer_list" introspectable="0">
+ <callback name="new_buffer_list" introspectable="0">
+ <return-value>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pull_buffer_list" introspectable="0">
+ <callback name="pull_buffer_list" introspectable="0">
+ <return-value>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSinkPrivate" c:type="GstAppSinkPrivate" disguised="1">
+ </record>
+ <class name="AppSrc"
+ c:symbol-prefix="app_src"
+ c:type="GstAppSrc"
+ parent="GstBase.BaseSrc"
+ glib:type-name="GstAppSrc"
+ glib:get-type="gst_app_src_get_type"
+ glib:type-struct="AppSrcClass">
+ <implements name="Gst.URIHandler"/>
+ <method name="end_of_stream"
+ c:identifier="gst_app_src_end_of_stream"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Indicates to the appsrc element that the last buffer queued in the
+element is the last buffer of the stream.
+#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK when the EOS was successfuly queued.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ </method>
+ <method name="get_caps"
+ c:identifier="gst_app_src_get_caps"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the configured caps on @appsrc.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps produced by the source. gst_caps_unref() after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_emit_signals"
+ c:identifier="gst_app_src_get_emit_signals"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Check if appsrc will emit the "new-preroll" and "new-buffer" signals.
+signals.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @appsrc is emiting the "new-preroll" and "new-buffer"</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_latency"
+ c:identifier="gst_app_src_get_latency"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Retrieve the min and max latencies in @min and @max respectively.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the min latency</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the min latency</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_bytes"
+ c:identifier="gst_app_src_get_max_bytes"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the maximum amount of bytes that can be queued in @appsrc.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The maximum amount of bytes that can be queued.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ </method>
+ <method name="get_size"
+ c:identifier="gst_app_src_get_size"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the size of the stream in bytes. A value of -1 means that the size is
+not known.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the stream previously set with gst_app_src_set_size();</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ </method>
+ <method name="get_stream_type"
+ c:identifier="gst_app_src_get_stream_type"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get the stream type. Control the stream type of @appsrc
+with gst_app_src_set_stream_type().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stream type.</doc>
+ <type name="AppStreamType" c:type="GstAppStreamType"/>
+ </return-value>
+ </method>
+ <method name="push_buffer"
+ c:identifier="gst_app_src_push_buffer"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Adds a buffer to the queue of buffers that the appsrc element will
+push to its source pad. This function takes ownership of the buffer.
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.
+#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_UNEXPECTED when EOS occured.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_FLOW_OK when the buffer was successfuly queued.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer to push</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_callbacks"
+ c:identifier="gst_app_src_set_callbacks"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set callbacks which will be executed when data is needed, enough data has
+been collected or when a seek should be performed.
+This is an alternative to using the signals, it has lower overhead and is thus
+less expensive, but also less flexible.
+If callbacks are installed, no signals will be emited for performance
+reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callbacks" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the callbacks</doc>
+ <type name="AppSrcCallbacks" c:type="GstAppSrcCallbacks*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a user_data argument for the callbacks</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">a destroy notify function</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps"
+ c:identifier="gst_app_src_set_caps"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the capabilities on the appsrc element. This function takes
+a copy of the caps structure. After calling this method, the source will
+only produce caps that match @caps. @caps must be fixed and the caps on the
+buffers must match the caps or left NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caps to set</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_emit_signals"
+ c:identifier="gst_app_src_set_emit_signals"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is
+by default disabled because signal emission is expensive and unneeded when
+the application prefers to operate in pull mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="emit" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency"
+ c:identifier="gst_app_src_set_latency"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Configure the @min and @max latency in @src. If @min is set to -1, the
+default latency calculations for pseudo-live sources will be used.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the min latency</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the min latency</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_bytes"
+ c:identifier="gst_app_src_set_max_bytes"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the maximum amount of bytes that can be queued in @appsrc.
+After the maximum amount of bytes are queued, @appsrc will emit the
+"enough-data" signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum number of bytes to queue</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_size"
+ c:identifier="gst_app_src_set_size"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the size of the stream in bytes. A value of -1 means that the size is
+not known.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_type"
+ c:identifier="gst_app_src_set_stream_type"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set the stream type on @appsrc. For seekable streams, the "seek" signal must
+be connected to.
+A stream_type stream</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state</doc>
+ <type name="AppStreamType" c:type="GstAppStreamType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="block" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="caps" writable="1" transfer-ownership="none">
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="emit-signals" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="format"
+ introspectable="0"
+ writable="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <property name="is-live" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="max-bytes" writable="1" transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <property name="max-latency" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="min-latency" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="min-percent" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="size" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="stream-type" writable="1" transfer-ownership="none">
+ <type name="AppStreamType"/>
+ </property>
+ <field name="basesrc">
+ <type name="GstBase.BaseSrc" c:type="GstBaseSrc"/>
+ </field>
+ <field name="priv">
+ <type name="AppSrcPrivate" c:type="GstAppSrcPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="end-of-stream" introspectable="0">
+ <doc xml:whitespace="preserve">Notify @appsrc that no more buffer are available.</doc>
+ <return-value>
+ <type/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="enough-data">
+ <doc xml:whitespace="preserve">Signal that the source has enough data. It is recommended that the
+application stops calling push-buffer until the need-data signal is
+emited again to avoid excessive buffer queueing.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="need-data">
+ <doc xml:whitespace="preserve">Signal that the source needs more data. In the callback or from another
+thread you should call push-buffer or end-of-stream.
+pushed into @appsrc.
+You can call push-buffer multiple times until the enough-data signal is
+fired.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of bytes needed.</doc>
+ <type name="guint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="push-buffer" introspectable="0">
+ <doc xml:whitespace="preserve">Adds a buffer to the queue of buffers that the appsrc element will
+push to its source pad. This function does not take ownership of the
+buffer so the buffer needs to be unreffed after calling this function.
+When the block property is TRUE, this function can block until free space
+becomes available in the queue.</doc>
+ <return-value>
+ <type/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a buffer to push</doc>
+ <type name="Gst.Buffer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="seek-data">
+ <doc xml:whitespace="preserve">Seek to the given offset. The next push-buffer should produce buffers from
+the new @offset.
+This callback is only called for seekable stream types.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the seek succeeded.</doc>
+ <type name="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset to seek to</doc>
+ <type name="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="AppSrcCallbacks"
+ c:type="GstAppSrcCallbacks"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">A set of callbacks that can be installed on the appsrc with
+gst_app_src_set_callbacks().</doc>
+ <field name="need_data">
+ <callback name="need_data">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="enough_data">
+ <callback name="enough_data">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="seek_data">
+ <callback name="seek_data">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSrcClass"
+ c:type="GstAppSrcClass"
+ glib:is-gtype-struct-for="AppSrc">
+ <field name="basesrc_class">
+ <type name="GstBase.BaseSrcClass" c:type="GstBaseSrcClass"/>
+ </field>
+ <field name="need_data">
+ <callback name="need_data">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="enough_data">
+ <callback name="enough_data">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="seek_data">
+ <callback name="seek_data">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="push_buffer">
+ <callback name="push_buffer">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="end_of_stream">
+ <callback name="end_of_stream">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSrcPrivate" c:type="GstAppSrcPrivate" disguised="1">
+ </record>
+ <enumeration name="AppStreamType"
+ glib:type-name="GstAppStreamType"
+ glib:get-type="gst_app_stream_type_get_type"
+ c:type="GstAppStreamType">
+ <doc xml:whitespace="preserve">The stream type.</doc>
+ <member name="stream"
+ value="0"
+ c:identifier="GST_APP_STREAM_TYPE_STREAM"
+ glib:nick="stream"/>
+ <member name="seekable"
+ value="1"
+ c:identifier="GST_APP_STREAM_TYPE_SEEKABLE"
+ glib:nick="seekable"/>
+ <member name="random_access"
+ value="2"
+ c:identifier="GST_APP_STREAM_TYPE_RANDOM_ACCESS"
+ glib:nick="random-access"/>
+ </enumeration>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.app.ffi ;
+IN: gstreamer.app
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.c-types alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gstreamer.ffi ;
+IN: gstreamer.app.ffi
+
+<<
+"gstreamer.app" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstapp-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/app/GstApp-0.10.gir
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstBase" version="0.10"/>
+ <include name="GstInterfaces" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-audio-0.10"/>
+ <c:include name="gst/audio/audio-enumtypes.h"/>
+ <c:include name="gst/audio/audio.h"/>
+ <c:include name="gst/audio/gstaudioclock.h"/>
+ <c:include name="gst/audio/gstaudiofilter.h"/>
+ <c:include name="gst/audio/gstaudiosink.h"/>
+ <c:include name="gst/audio/gstaudiosrc.h"/>
+ <c:include name="gst/audio/gstbaseaudiosink.h"/>
+ <c:include name="gst/audio/gstbaseaudiosrc.h"/>
+ <c:include name="gst/audio/gstringbuffer.h"/>
+ <c:include name="gst/audio/mixerutils.h"/>
+ <c:include name="gst/audio/multichannel.h"/>
+ <namespace name="GstAudio"
+ version="0.10"
+ shared-library="libgstaudio-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <constant name="AUDIO_DEF_RATE" value="44100">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="AUDIO_FLOAT_PAD_TEMPLATE_CAPS"
+ value="audio/x-raw-float, rate = (int) [ 1, MAX ], channels = (int) [ 1, MAX ], endianness = (int) { LITTLE_ENDIAN , BIG_ENDIAN }, width = (int) { 32, 64 }">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_FLOAT_STANDARD_PAD_TEMPLATE_CAPS"
+ value="audio/x-raw-float, width = (int) 32, rate = (int) [ 1, MAX ], channels = (int) 1, endianness = (int) BYTE_ORDER">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_INT_PAD_TEMPLATE_CAPS"
+ value="audio/x-raw-int, rate = (int) [ 1, MAX ], channels = (int) [ 1, MAX ], endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, width = (int) { 8, 16, 24, 32 }, depth = (int) [ 1, 32 ], signed = (boolean) { true, false }">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS"
+ value="audio/x-raw-int, rate = (int) [ 1, MAX ], channels = (int) 2, endianness = (int) BYTE_ORDER, width = (int) 16, depth = (int) 16, signed = (boolean) true">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <enumeration name="AudioChannelPosition"
+ glib:type-name="GstAudioChannelPosition"
+ glib:get-type="gst_audio_channel_position_get_type"
+ c:type="GstAudioChannelPosition">
+ <member name="invalid"
+ value="-1"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_INVALID"
+ glib:nick="invalid"/>
+ <member name="front_mono"
+ value="0"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_MONO"
+ glib:nick="front-mono"/>
+ <member name="front_left"
+ value="1"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT"
+ glib:nick="front-left"/>
+ <member name="front_right"
+ value="2"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT"
+ glib:nick="front-right"/>
+ <member name="rear_center"
+ value="3"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_CENTER"
+ glib:nick="rear-center"/>
+ <member name="rear_left"
+ value="4"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_LEFT"
+ glib:nick="rear-left"/>
+ <member name="rear_right"
+ value="5"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT"
+ glib:nick="rear-right"/>
+ <member name="lfe"
+ value="6"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_LFE"
+ glib:nick="lfe"/>
+ <member name="front_center"
+ value="7"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER"
+ glib:nick="front-center"/>
+ <member name="front_left_of_center"
+ value="8"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER"
+ glib:nick="front-left-of-center"/>
+ <member name="front_right_of_center"
+ value="9"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER"
+ glib:nick="front-right-of-center"/>
+ <member name="side_left"
+ value="10"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT"
+ glib:nick="side-left"/>
+ <member name="side_right"
+ value="11"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT"
+ glib:nick="side-right"/>
+ <member name="none"
+ value="12"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_NONE"
+ glib:nick="none"/>
+ <member name="num"
+ value="13"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_NUM"
+ glib:nick="num"/>
+ </enumeration>
+ <class name="AudioClock"
+ c:symbol-prefix="audio_clock"
+ c:type="GstAudioClock"
+ parent="Gst.SystemClock"
+ glib:type-name="GstAudioClock"
+ glib:get-type="gst_audio_clock_get_type"
+ glib:type-struct="AudioClockClass">
+ <doc xml:whitespace="preserve">Opaque #GstAudioClock.</doc>
+ <constructor name="new"
+ c:identifier="gst_audio_clock_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstAudioClock instance. Whenever the clock time should be
+calculated it will call @func with @user_data. When @func returns
+#GST_CLOCK_TIME_NONE, the clock will return the last reported time.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstAudioClock casted to a #GstClock.</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the clock</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">a function</doc>
+ <type name="AudioClockGetTimeFunc"
+ c:type="GstAudioClockGetTimeFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_full"
+ c:identifier="gst_audio_clock_new_full"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Create a new #GstAudioClock instance. Whenever the clock time should be
+calculated it will call @func with @user_data. When @func returns
+#GST_CLOCK_TIME_NONE, the clock will return the last reported time.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstAudioClock casted to a #GstClock.</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the clock</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:whitespace="preserve">a function</doc>
+ <type name="AudioClockGetTimeFunc"
+ c:type="GstAudioClockGetTimeFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">#GDestroyNotify for @user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="adjust"
+ c:identifier="gst_audio_clock_adjust"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Adjust @time with the internal offset of the audio clock.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@time adjusted with the internal offset.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstAudioClock</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_time"
+ c:identifier="gst_audio_clock_get_time"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Report the time as returned by the #GstAudioClockGetTimeFunc without applying
+any offsets.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time as reported by the time function of the audio clock</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstAudioClock</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="invalidate"
+ c:identifier="gst_audio_clock_invalidate"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Invalidate the clock function. Call this function when the provided
+#GstAudioClockGetTimeFunc cannot be called anymore, for example, when the
+user_data becomes invalid.
+After calling this function, @clock will return the last returned time for
+the rest of its lifetime.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstAudioClock</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="reset" c:identifier="gst_audio_clock_reset">
+ <doc xml:whitespace="preserve">Inform @clock that future calls to #GstAudioClockGetTimeFunc will return values
+starting from @time. The clock will update an internal offset to make sure that
+future calls to internal_time will return an increasing result as required by
+the #GstClock object.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="clock">
+ <type name="Gst.SystemClock" c:type="GstSystemClock"/>
+ </field>
+ <field name="func">
+ <type name="AudioClockGetTimeFunc" c:type="GstAudioClockGetTimeFunc"/>
+ </field>
+ <field name="user_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="last_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="time_offset" writable="1">
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </field>
+ <field name="destroy_notify" writable="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <record name="AudioClockClass"
+ c:type="GstAudioClockClass"
+ glib:is-gtype-struct-for="AudioClock">
+ <field name="parent_class">
+ <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="AudioClockGetTimeFunc" c:type="GstAudioClockGetTimeFunc">
+ <doc xml:whitespace="preserve">This function will be called whenever the current clock time needs to be
+calculated. If this function returns #GST_CLOCK_TIME_NONE, the last reported
+time will be returned by the clock.
+be used.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the current time or #GST_CLOCK_TIME_NONE if the previous time should</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstAudioClock</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="AudioFieldFlag"
+ deprecated="use gst_structure_set() directly"
+ c:type="GstAudioFieldFlag">
+ <doc xml:whitespace="preserve">Do not use anymore.</doc>
+ <member name="rate" value="1" c:identifier="GST_AUDIO_FIELD_RATE"/>
+ <member name="channels"
+ value="2"
+ c:identifier="GST_AUDIO_FIELD_CHANNELS"/>
+ <member name="endianness"
+ value="4"
+ c:identifier="GST_AUDIO_FIELD_ENDIANNESS"/>
+ <member name="width" value="8" c:identifier="GST_AUDIO_FIELD_WIDTH"/>
+ <member name="depth" value="16" c:identifier="GST_AUDIO_FIELD_DEPTH"/>
+ <member name="signed" value="32" c:identifier="GST_AUDIO_FIELD_SIGNED"/>
+ </bitfield>
+ <class name="AudioFilter"
+ c:symbol-prefix="audio_filter"
+ c:type="GstAudioFilter"
+ version="0.10.12"
+ parent="GstBase.BaseTransform"
+ abstract="1"
+ glib:type-name="GstAudioFilter"
+ glib:get-type="gst_audio_filter_get_type"
+ glib:type-struct="AudioFilterClass">
+ <doc xml:whitespace="preserve">Base class for audio filters with the same format for input and output.</doc>
+ <virtual-method name="setup">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="basetransform">
+ <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
+ </field>
+ <field name="format">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioFilterClass"
+ c:type="GstAudioFilterClass"
+ glib:is-gtype-struct-for="AudioFilter"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">In addition to the @setup virtual function, you should also override the
+GstBaseTransform::transform and/or GstBaseTransform::transform_ip virtual
+function.</doc>
+ <field name="basetransformclass">
+ <type name="GstBase.BaseTransformClass"
+ c:type="GstBaseTransformClass"/>
+ </field>
+ <field name="setup">
+ <callback name="setup">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="AudioFilter" c:type="GstAudioFilter*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_pad_templates"
+ c:identifier="gst_audio_filter_class_add_pad_templates"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Convenience function to add pad templates to this element class, with
+This function is usually used from within a GObject base_init function.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="allowed_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">what formats the filter can handle, as #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="AudioMixerFilterFunc" c:type="GstAudioMixerFilterFunc">
+ <doc xml:whitespace="preserve">Function that will be called by gst_audio_default_registry_mixer_filter()
+so the caller can decide which mixer elements should be kept and returned.
+When the mixer element is passed to the callback function, it is opened
+and in READY state. If you decide to keep the element, you need to set it
+back to NULL state yourself (unless you want to keep it opened of course).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the element should be kept, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstElement implementing the #GstMixer interface</doc>
+ <type name="GstInterfaces.Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="AudioSink"
+ c:symbol-prefix="audio_sink"
+ c:type="GstAudioSink"
+ parent="BaseAudioSink"
+ glib:type-name="GstAudioSink"
+ glib:get-type="gst_audio_sink_get_type"
+ glib:type-struct="AudioSinkClass">
+ <doc xml:whitespace="preserve">Opaque #GstAudioSink.</doc>
+ <virtual-method name="close">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="delay">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="open">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="prepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unprepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="write">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <type name="BaseAudioSink" c:type="GstBaseAudioSink"/>
+ </field>
+ <field name="thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioSinkClass"
+ c:type="GstAudioSinkClass"
+ glib:is-gtype-struct-for="AudioSink">
+ <doc xml:whitespace="preserve">#GstAudioSink class. Override the vmethods to implement functionality.</doc>
+ <field name="parent_class">
+ <type name="BaseAudioSinkClass" c:type="GstBaseAudioSinkClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare">
+ <callback name="prepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unprepare">
+ <callback name="unprepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="write">
+ <callback name="write">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delay">
+ <callback name="delay">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="AudioSrc"
+ c:symbol-prefix="audio_src"
+ c:type="GstAudioSrc"
+ parent="BaseAudioSrc"
+ glib:type-name="GstAudioSrc"
+ glib:get-type="gst_audio_src_get_type"
+ glib:type-struct="AudioSrcClass">
+ <doc xml:whitespace="preserve">Base class for simple audio sources.</doc>
+ <virtual-method name="close">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="delay">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="open">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="prepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="read">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="unprepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <field name="element">
+ <type name="BaseAudioSrc" c:type="GstBaseAudioSrc"/>
+ </field>
+ <field name="thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioSrcClass"
+ c:type="GstAudioSrcClass"
+ glib:is-gtype-struct-for="AudioSrc">
+ <doc xml:whitespace="preserve">#GstAudioSrc class. Override the vmethod to implement
+functionality.</doc>
+ <field name="parent_class">
+ <type name="BaseAudioSrcClass" c:type="GstBaseAudioSrcClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare">
+ <callback name="prepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unprepare">
+ <callback name="unprepare">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="read">
+ <callback name="read">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delay">
+ <callback name="delay">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="BaseAudioSink"
+ c:symbol-prefix="base_audio_sink"
+ c:type="GstBaseAudioSink"
+ parent="GstBase.BaseSink"
+ glib:type-name="GstBaseAudioSink"
+ glib:get-type="gst_base_audio_sink_get_type"
+ glib:type-struct="BaseAudioSinkClass">
+ <doc xml:whitespace="preserve">Opaque #GstBaseAudioSink.</doc>
+ <virtual-method name="create_ringbuffer"
+ invoker="create_ringbuffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create and return the #GstRingBuffer for @sink. This function will call the
+::create_ringbuffer vmethod and will set @sink as the parent of the returned
+buffer (see gst_object_set_parent()).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new ringbuffer of @sink.</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </return-value>
+ </virtual-method>
+ <method name="create_ringbuffer"
+ c:identifier="gst_base_audio_sink_create_ringbuffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create and return the #GstRingBuffer for @sink. This function will call the
+::create_ringbuffer vmethod and will set @sink as the parent of the returned
+buffer (see gst_object_set_parent()).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new ringbuffer of @sink.</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </return-value>
+ </method>
+ <method name="get_drift_tolerance"
+ c:identifier="gst_base_audio_sink_get_drift_tolerance">
+ <return-value transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ </method>
+ <method name="get_provide_clock"
+ c:identifier="gst_base_audio_sink_get_provide_clock"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Queries whether @sink will provide a clock or not. See also
+gst_base_audio_sink_set_provide_clock.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @sink will provide a clock.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_slave_method"
+ c:identifier="gst_base_audio_sink_get_slave_method"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Get the current slave method used by @sink.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current slave method used by @sink.</doc>
+ <type name="BaseAudioSinkSlaveMethod"
+ c:type="GstBaseAudioSinkSlaveMethod"/>
+ </return-value>
+ </method>
+ <method name="set_drift_tolerance"
+ c:identifier="gst_base_audio_sink_set_drift_tolerance"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Controls the sink's drift tolerance.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="drift_tolerance" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new drift tolerance in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_provide_clock"
+ c:identifier="gst_base_audio_sink_set_provide_clock"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Controls whether @sink will provide a clock or not. If @provide is %TRUE,
+gst_element_provide_clock() will return a clock that reflects the datarate
+of @sink. If @provide is %FALSE, gst_element_provide_clock() will return NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="provide" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_slave_method"
+ c:identifier="gst_base_audio_sink_set_slave_method"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Controls how clock slaving will be performed in @sink.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new slave method</doc>
+ <type name="BaseAudioSinkSlaveMethod"
+ c:type="GstBaseAudioSinkSlaveMethod"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="buffer-time" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="can-activate-pull"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="drift-tolerance" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="latency-time" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="provide-clock" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="slave-method" writable="1" transfer-ownership="none">
+ <type name="BaseAudioSinkSlaveMethod"/>
+ </property>
+ <field name="element">
+ <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
+ </field>
+ <field name="ringbuffer">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </field>
+ <field name="buffer_time">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="latency_time">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="next_sample">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="provide_clock">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="provided_clock">
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </field>
+ <field name="priv">
+ <type name="BaseAudioSinkPrivate" c:type="GstBaseAudioSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseAudioSinkClass"
+ c:type="GstBaseAudioSinkClass"
+ glib:is-gtype-struct-for="BaseAudioSink">
+ <doc xml:whitespace="preserve">#GstBaseAudioSink class. Override the vmethod to implement
+functionality.</doc>
+ <field name="parent_class">
+ <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
+ </field>
+ <field name="create_ringbuffer" introspectable="0">
+ <callback name="create_ringbuffer" introspectable="0">
+ <return-value>
+ <doc xml:whitespace="preserve">The new ringbuffer of @sink.</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseAudioSink" c:type="GstBaseAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseAudioSinkPrivate"
+ c:type="GstBaseAudioSinkPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="BaseAudioSinkSlaveMethod"
+ glib:type-name="GstBaseAudioSinkSlaveMethod"
+ glib:get-type="gst_base_audio_sink_slave_method_get_type"
+ c:type="GstBaseAudioSinkSlaveMethod">
+ <doc xml:whitespace="preserve">Different possible clock slaving algorithms used when the internal audio
+clock is not selected as the pipeline master clock.</doc>
+ <member name="resample"
+ value="0"
+ c:identifier="GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE"
+ glib:nick="resample"/>
+ <member name="skew"
+ value="1"
+ c:identifier="GST_BASE_AUDIO_SINK_SLAVE_SKEW"
+ glib:nick="skew"/>
+ <member name="none"
+ value="2"
+ c:identifier="GST_BASE_AUDIO_SINK_SLAVE_NONE"
+ glib:nick="none"/>
+ </enumeration>
+ <class name="BaseAudioSrc"
+ c:symbol-prefix="base_audio_src"
+ c:type="GstBaseAudioSrc"
+ parent="GstBase.PushSrc"
+ glib:type-name="GstBaseAudioSrc"
+ glib:get-type="gst_base_audio_src_get_type"
+ glib:type-struct="BaseAudioSrcClass">
+ <doc xml:whitespace="preserve">Opaque #GstBaseAudioSrc.</doc>
+ <virtual-method name="create_ringbuffer"
+ invoker="create_ringbuffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create and return the #GstRingBuffer for @src. This function will call the
+::create_ringbuffer vmethod and will set @src as the parent of the returned
+buffer (see gst_object_set_parent()).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new ringbuffer of @src.</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </return-value>
+ </virtual-method>
+ <method name="create_ringbuffer"
+ c:identifier="gst_base_audio_src_create_ringbuffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create and return the #GstRingBuffer for @src. This function will call the
+::create_ringbuffer vmethod and will set @src as the parent of the returned
+buffer (see gst_object_set_parent()).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new ringbuffer of @src.</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </return-value>
+ </method>
+ <method name="get_provide_clock"
+ c:identifier="gst_base_audio_src_get_provide_clock"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Queries whether @src will provide a clock or not. See also
+gst_base_audio_src_set_provide_clock.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @src will provide a clock.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_slave_method"
+ c:identifier="gst_base_audio_src_get_slave_method"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Get the current slave method used by @src.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current slave method used by @src.</doc>
+ <type name="BaseAudioSrcSlaveMethod"
+ c:type="GstBaseAudioSrcSlaveMethod"/>
+ </return-value>
+ </method>
+ <method name="set_provide_clock"
+ c:identifier="gst_base_audio_src_set_provide_clock"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Controls whether @src will provide a clock or not. If @provide is %TRUE,
+gst_element_provide_clock() will return a clock that reflects the datarate
+of @src. If @provide is %FALSE, gst_element_provide_clock() will return NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="provide" transfer-ownership="none">
+ <doc xml:whitespace="preserve">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_slave_method"
+ c:identifier="gst_base_audio_src_set_slave_method"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Controls how clock slaving will be performed in @src.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new slave method</doc>
+ <type name="BaseAudioSrcSlaveMethod"
+ c:type="GstBaseAudioSrcSlaveMethod"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="actual-buffer-time"
+ version="0.10.20"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Actual configured size of audio buffer in microseconds.</doc>
+ <type name="gint64"/>
+ </property>
+ <property name="actual-latency-time"
+ version="0.10.20"
+ transfer-ownership="none">
+ <doc xml:whitespace="preserve">Actual configured audio latency in microseconds.</doc>
+ <type name="gint64"/>
+ </property>
+ <property name="buffer-time" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="latency-time" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="provide-clock" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="slave-method" writable="1" transfer-ownership="none">
+ <type name="BaseAudioSrcSlaveMethod"/>
+ </property>
+ <field name="element">
+ <type name="GstBase.PushSrc" c:type="GstPushSrc"/>
+ </field>
+ <field name="ringbuffer">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </field>
+ <field name="buffer_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="latency_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="next_sample">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="clock">
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </field>
+ <field name="priv">
+ <type name="BaseAudioSrcPrivate" c:type="GstBaseAudioSrcPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseAudioSrcClass"
+ c:type="GstBaseAudioSrcClass"
+ glib:is-gtype-struct-for="BaseAudioSrc">
+ <doc xml:whitespace="preserve">#GstBaseAudioSrc class. Override the vmethod to implement
+functionality.</doc>
+ <field name="parent_class">
+ <type name="GstBase.PushSrcClass" c:type="GstPushSrcClass"/>
+ </field>
+ <field name="create_ringbuffer" introspectable="0">
+ <callback name="create_ringbuffer" introspectable="0">
+ <return-value>
+ <doc xml:whitespace="preserve">The new ringbuffer of @src.</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseAudioSrc" c:type="GstBaseAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseAudioSrcPrivate"
+ c:type="GstBaseAudioSrcPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="BaseAudioSrcSlaveMethod"
+ glib:type-name="GstBaseAudioSrcSlaveMethod"
+ glib:get-type="gst_base_audio_src_slave_method_get_type"
+ c:type="GstBaseAudioSrcSlaveMethod">
+ <doc xml:whitespace="preserve">Different possible clock slaving algorithms when the internal audio clock was
+not selected as the pipeline clock.</doc>
+ <member name="resample"
+ value="0"
+ c:identifier="GST_BASE_AUDIO_SRC_SLAVE_RESAMPLE"
+ glib:nick="resample"/>
+ <member name="re_timestamp"
+ value="1"
+ c:identifier="GST_BASE_AUDIO_SRC_SLAVE_RETIMESTAMP"
+ glib:nick="re-timestamp"/>
+ <member name="skew"
+ value="2"
+ c:identifier="GST_BASE_AUDIO_SRC_SLAVE_SKEW"
+ glib:nick="skew"/>
+ <member name="none"
+ value="3"
+ c:identifier="GST_BASE_AUDIO_SRC_SLAVE_NONE"
+ glib:nick="none"/>
+ </enumeration>
+ <enumeration name="BufferFormat"
+ glib:type-name="GstBufferFormat"
+ glib:get-type="gst_buffer_format_get_type"
+ c:type="GstBufferFormat">
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_UNKNOWN"
+ glib:nick="unknown"/>
+ <member name="s8" value="1" c:identifier="GST_S8" glib:nick="s8"/>
+ <member name="u8" value="2" c:identifier="GST_U8" glib:nick="u8"/>
+ <member name="s16_le"
+ value="3"
+ c:identifier="GST_S16_LE"
+ glib:nick="s16-le"/>
+ <member name="s16_be"
+ value="4"
+ c:identifier="GST_S16_BE"
+ glib:nick="s16-be"/>
+ <member name="u16_le"
+ value="5"
+ c:identifier="GST_U16_LE"
+ glib:nick="u16-le"/>
+ <member name="u16_be"
+ value="6"
+ c:identifier="GST_U16_BE"
+ glib:nick="u16-be"/>
+ <member name="s24_le"
+ value="7"
+ c:identifier="GST_S24_LE"
+ glib:nick="s24-le"/>
+ <member name="s24_be"
+ value="8"
+ c:identifier="GST_S24_BE"
+ glib:nick="s24-be"/>
+ <member name="u24_le"
+ value="9"
+ c:identifier="GST_U24_LE"
+ glib:nick="u24-le"/>
+ <member name="u24_be"
+ value="10"
+ c:identifier="GST_U24_BE"
+ glib:nick="u24-be"/>
+ <member name="s32_le"
+ value="11"
+ c:identifier="GST_S32_LE"
+ glib:nick="s32-le"/>
+ <member name="s32_be"
+ value="12"
+ c:identifier="GST_S32_BE"
+ glib:nick="s32-be"/>
+ <member name="u32_le"
+ value="13"
+ c:identifier="GST_U32_LE"
+ glib:nick="u32-le"/>
+ <member name="u32_be"
+ value="14"
+ c:identifier="GST_U32_BE"
+ glib:nick="u32-be"/>
+ <member name="s24_3le"
+ value="15"
+ c:identifier="GST_S24_3LE"
+ glib:nick="s24-3le"/>
+ <member name="s24_3be"
+ value="16"
+ c:identifier="GST_S24_3BE"
+ glib:nick="s24-3be"/>
+ <member name="u24_3le"
+ value="17"
+ c:identifier="GST_U24_3LE"
+ glib:nick="u24-3le"/>
+ <member name="u24_3be"
+ value="18"
+ c:identifier="GST_U24_3BE"
+ glib:nick="u24-3be"/>
+ <member name="s20_3le"
+ value="19"
+ c:identifier="GST_S20_3LE"
+ glib:nick="s20-3le"/>
+ <member name="s20_3be"
+ value="20"
+ c:identifier="GST_S20_3BE"
+ glib:nick="s20-3be"/>
+ <member name="u20_3le"
+ value="21"
+ c:identifier="GST_U20_3LE"
+ glib:nick="u20-3le"/>
+ <member name="u20_3be"
+ value="22"
+ c:identifier="GST_U20_3BE"
+ glib:nick="u20-3be"/>
+ <member name="s18_3le"
+ value="23"
+ c:identifier="GST_S18_3LE"
+ glib:nick="s18-3le"/>
+ <member name="s18_3be"
+ value="24"
+ c:identifier="GST_S18_3BE"
+ glib:nick="s18-3be"/>
+ <member name="u18_3le"
+ value="25"
+ c:identifier="GST_U18_3LE"
+ glib:nick="u18-3le"/>
+ <member name="u18_3be"
+ value="26"
+ c:identifier="GST_U18_3BE"
+ glib:nick="u18-3be"/>
+ <member name="float32_le"
+ value="27"
+ c:identifier="GST_FLOAT32_LE"
+ glib:nick="float32-le"/>
+ <member name="float32_be"
+ value="28"
+ c:identifier="GST_FLOAT32_BE"
+ glib:nick="float32-be"/>
+ <member name="float64_le"
+ value="29"
+ c:identifier="GST_FLOAT64_LE"
+ glib:nick="float64-le"/>
+ <member name="float64_be"
+ value="30"
+ c:identifier="GST_FLOAT64_BE"
+ glib:nick="float64-be"/>
+ <member name="mu_law"
+ value="31"
+ c:identifier="GST_MU_LAW"
+ glib:nick="mu-law"/>
+ <member name="a_law"
+ value="32"
+ c:identifier="GST_A_LAW"
+ glib:nick="a-law"/>
+ <member name="ima_adpcm"
+ value="33"
+ c:identifier="GST_IMA_ADPCM"
+ glib:nick="ima-adpcm"/>
+ <member name="mpeg" value="34" c:identifier="GST_MPEG" glib:nick="mpeg"/>
+ <member name="gsm" value="35" c:identifier="GST_GSM" glib:nick="gsm"/>
+ <member name="iec958"
+ value="36"
+ c:identifier="GST_IEC958"
+ glib:nick="iec958"/>
+ <member name="ac3" value="37" c:identifier="GST_AC3" glib:nick="ac3"/>
+ <member name="eac3" value="38" c:identifier="GST_EAC3" glib:nick="eac3"/>
+ <member name="dts" value="39" c:identifier="GST_DTS" glib:nick="dts"/>
+ </enumeration>
+ <enumeration name="BufferFormatType"
+ glib:type-name="GstBufferFormatType"
+ glib:get-type="gst_buffer_format_type_get_type"
+ c:type="GstBufferFormatType">
+ <doc xml:whitespace="preserve">The format of the samples in the ringbuffer.</doc>
+ <member name="linear"
+ value="0"
+ c:identifier="GST_BUFTYPE_LINEAR"
+ glib:nick="linear"/>
+ <member name="float"
+ value="1"
+ c:identifier="GST_BUFTYPE_FLOAT"
+ glib:nick="float"/>
+ <member name="mu_law"
+ value="2"
+ c:identifier="GST_BUFTYPE_MU_LAW"
+ glib:nick="mu-law"/>
+ <member name="a_law"
+ value="3"
+ c:identifier="GST_BUFTYPE_A_LAW"
+ glib:nick="a-law"/>
+ <member name="ima_adpcm"
+ value="4"
+ c:identifier="GST_BUFTYPE_IMA_ADPCM"
+ glib:nick="ima-adpcm"/>
+ <member name="mpeg"
+ value="5"
+ c:identifier="GST_BUFTYPE_MPEG"
+ glib:nick="mpeg"/>
+ <member name="gsm"
+ value="6"
+ c:identifier="GST_BUFTYPE_GSM"
+ glib:nick="gsm"/>
+ <member name="iec958"
+ value="7"
+ c:identifier="GST_BUFTYPE_IEC958"
+ glib:nick="iec958"/>
+ <member name="ac3"
+ value="8"
+ c:identifier="GST_BUFTYPE_AC3"
+ glib:nick="ac3"/>
+ <member name="eac3"
+ value="9"
+ c:identifier="GST_BUFTYPE_EAC3"
+ glib:nick="eac3"/>
+ <member name="dts"
+ value="10"
+ c:identifier="GST_BUFTYPE_DTS"
+ glib:nick="dts"/>
+ </enumeration>
+ <class name="RingBuffer"
+ c:symbol-prefix="ring_buffer"
+ c:type="GstRingBuffer"
+ parent="Gst.Object"
+ abstract="1"
+ glib:type-name="GstRingBuffer"
+ glib:get-type="gst_ring_buffer_get_type"
+ glib:type-struct="RingBufferClass">
+ <doc xml:whitespace="preserve">The ringbuffer base class structure.</doc>
+ <function name="debug_spec_buff"
+ c:identifier="gst_ring_buffer_debug_spec_buff">
+ <doc xml:whitespace="preserve">Print debug info about the buffer sized in @spec to the debug log.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the spec to debug</doc>
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_spec_caps"
+ c:identifier="gst_ring_buffer_debug_spec_caps">
+ <doc xml:whitespace="preserve">Print debug info about the parsed caps in @spec to the debug log.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the spec to debug</doc>
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_caps" c:identifier="gst_ring_buffer_parse_caps">
+ <doc xml:whitespace="preserve">Parse @caps into @spec.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the caps could be parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a spec</doc>
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="acquire" invoker="acquire">
+ <doc xml:whitespace="preserve">Allocate the resources for the ringbuffer. This function fills
+in the data pointer of the ring buffer with a valid #GstBuffer
+to which samples can be written.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be acquired, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the specs of the buffer</doc>
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="activate" invoker="activate" version="0.10.22.">
+ <doc xml:whitespace="preserve">Activate @buf to start or stop pulling data.
+MT safe.
+FALSE on error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be activated in the requested mode,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="clear_all" invoker="clear_all">
+ <doc xml:whitespace="preserve">Fill the ringbuffer with silence.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="close_device" invoker="close_device">
+ <doc xml:whitespace="preserve">Close the audio device associated with the ring buffer. The ring buffer
+should already have been released via gst_ring_buffer_release().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be closed, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="commit">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="in_samples" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_samples" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="accum" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="delay" invoker="delay">
+ <doc xml:whitespace="preserve">Get the number of samples queued in the audio device. This is
+usually less than the segment size but can be bigger when the
+implementation uses another internal buffer between the audio
+device.
+For playback ringbuffers this is the amount of samples transfered from the
+ringbuffer to the device but still not played.
+For capture ringbuffers this is the amount of samples in the device that are
+not yet transfered to the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples queued in the audio device.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="open_device" invoker="open_device">
+ <doc xml:whitespace="preserve">Open the audio device associated with the ring buffer. Does not perform any
+setup on the device. You must open the device before acquiring the ring
+buffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be opened, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="pause" invoker="pause">
+ <doc xml:whitespace="preserve">Pause processing samples from the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be paused, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="release" invoker="release">
+ <doc xml:whitespace="preserve">Free the resources of the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be released, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="resume">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="start" invoker="start">
+ <doc xml:whitespace="preserve">Start processing samples from the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be started, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="stop" invoker="stop">
+ <doc xml:whitespace="preserve">Stop processing samples from the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be stopped, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </virtual-method>
+ <method name="acquire" c:identifier="gst_ring_buffer_acquire">
+ <doc xml:whitespace="preserve">Allocate the resources for the ringbuffer. This function fills
+in the data pointer of the ring buffer with a valid #GstBuffer
+to which samples can be written.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be acquired, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the specs of the buffer</doc>
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="activate"
+ c:identifier="gst_ring_buffer_activate"
+ version="0.10.22.">
+ <doc xml:whitespace="preserve">Activate @buf to start or stop pulling data.
+MT safe.
+FALSE on error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be activated in the requested mode,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="advance" c:identifier="gst_ring_buffer_advance">
+ <doc xml:whitespace="preserve">Subclasses should call this function to notify the fact that
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="advance" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of segments written</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear" c:identifier="gst_ring_buffer_clear">
+ <doc xml:whitespace="preserve">Clear the given segment of the buffer with silence samples.
+This function is used by subclasses.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the segment to clear</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear_all" c:identifier="gst_ring_buffer_clear_all">
+ <doc xml:whitespace="preserve">Fill the ringbuffer with silence.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="close_device" c:identifier="gst_ring_buffer_close_device">
+ <doc xml:whitespace="preserve">Close the audio device associated with the ring buffer. The ring buffer
+should already have been released via gst_ring_buffer_release().
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be closed, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="commit" c:identifier="gst_ring_buffer_commit">
+ <doc xml:whitespace="preserve">Same as gst_ring_buffer_commit_full() but with a in_samples and out_samples
+equal to @len, ignoring accum.
+error.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples written to the ringbuffer or -1 on</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to commit</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of samples in the data to commit</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="commit_full"
+ c:identifier="gst_ring_buffer_commit_full"
+ version="0.10.11.">
+ <doc xml:whitespace="preserve">Commit @in_samples samples pointed to by @data to the ringbuffer @buf.
+samples in @data. For negative rates, @out_samples must be negative and
+When @out_samples is positive, the first sample will be written at position @sample
+in the ringbuffer. When @out_samples is negative, the last sample will be written to
+although it is recommended for optimal performance.
+set to 0 when this function is first called. In case the commit operation is
+interrupted, one can resume the processing by passing the previously returned
+MT safe.
+number of samples written can be less than @out_samples when @buf was interrupted
+with a flush or stop.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples written to the ringbuffer or -1 on error. The</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to commit</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="in_samples" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of samples in the data to commit</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_samples" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of samples to write to the ringbuffer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="accum" transfer-ownership="none">
+ <doc xml:whitespace="preserve">accumulator for rate conversion.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="convert"
+ c:identifier="gst_ring_buffer_convert"
+ version="0.10.22.">
+ <doc xml:whitespace="preserve">Convert @src_val in @src_fmt to the equivalent value in @dest_fmt. The result
+will be put in @dest_val.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the conversion succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_fmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source format</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the source value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_fmt" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the destination format</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the converted value</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="delay" c:identifier="gst_ring_buffer_delay">
+ <doc xml:whitespace="preserve">Get the number of samples queued in the audio device. This is
+usually less than the segment size but can be bigger when the
+implementation uses another internal buffer between the audio
+device.
+For playback ringbuffers this is the amount of samples transfered from the
+ringbuffer to the device but still not played.
+For capture ringbuffers this is the amount of samples in the device that are
+not yet transfered to the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples queued in the audio device.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="device_is_open"
+ c:identifier="gst_ring_buffer_device_is_open">
+ <doc xml:whitespace="preserve">Checks the status of the device associated with the ring buffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device was open, FALSE if it was closed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_acquired" c:identifier="gst_ring_buffer_is_acquired">
+ <doc xml:whitespace="preserve">Check if the ringbuffer is acquired and ready to use.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the ringbuffer is acquired, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_active"
+ c:identifier="gst_ring_buffer_is_active"
+ version="0.10.22.">
+ <doc xml:whitespace="preserve">Check if @buf is activated.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device is active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="may_start"
+ c:identifier="gst_ring_buffer_may_start"
+ version="0.10.6">
+ <doc xml:whitespace="preserve">Tell the ringbuffer that it is allowed to start playback when
+the ringbuffer is filled with samples.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="allowed" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new value</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="open_device" c:identifier="gst_ring_buffer_open_device">
+ <doc xml:whitespace="preserve">Open the audio device associated with the ring buffer. Does not perform any
+setup on the device. You must open the device before acquiring the ring
+buffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be opened, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="pause" c:identifier="gst_ring_buffer_pause">
+ <doc xml:whitespace="preserve">Pause processing samples from the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be paused, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="prepare_read" c:identifier="gst_ring_buffer_prepare_read">
+ <doc xml:whitespace="preserve">Returns a pointer to memory where the data from segment @segment
+can be found. This function is mostly used by subclasses.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if the buffer is not started.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the segment to read</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="readptr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pointer to the memory where samples can be read</doc>
+ <type name="guint8" c:type="guint8**"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes to read</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read" c:identifier="gst_ring_buffer_read">
+ <doc xml:whitespace="preserve">Read @len samples from the ringbuffer into the memory pointed
+to by @data.
+The first sample should be read from position @sample in
+the ringbuffer.
+although it is recommended.
+error.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples read from the ringbuffer or -1 on</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">where the data should be read</doc>
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of samples in data to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="release" c:identifier="gst_ring_buffer_release">
+ <doc xml:whitespace="preserve">Free the resources of the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be released, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="samples_done" c:identifier="gst_ring_buffer_samples_done">
+ <doc xml:whitespace="preserve">Get the number of samples that were processed by the ringbuffer
+since it was last started. This does not include the number of samples not
+yet processed (see gst_ring_buffer_delay()).
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples processed by the ringbuffer.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ </method>
+ <method name="set_callback"
+ c:identifier="gst_ring_buffer_set_callback"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Sets the given callback function on the buffer. This function
+will be called every time a segment has been written to a device.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cb" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the callback to set</doc>
+ <type name="RingBufferCallback" c:type="GstRingBufferCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing" c:identifier="gst_ring_buffer_set_flushing">
+ <doc xml:whitespace="preserve">Set the ringbuffer to flushing mode or normal mode.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sample" c:identifier="gst_ring_buffer_set_sample">
+ <doc xml:whitespace="preserve">Make sure that the next sample written to the device is
+accounted for as being the @sample sample written to the
+device. This value will be used in reporting the current
+sample position of the ringbuffer.
+This function will also clear the buffer with silence.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sample number to set</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_ring_buffer_start">
+ <doc xml:whitespace="preserve">Start processing samples from the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be started, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="stop" c:identifier="gst_ring_buffer_stop">
+ <doc xml:whitespace="preserve">Stop processing samples from the ringbuffer.
+MT safe.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be stopped, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <field name="object">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="cond">
+ <type name="GLib.Cond" c:type="GCond*"/>
+ </field>
+ <field name="open">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="acquired">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="data">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="spec">
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec"/>
+ </field>
+ <field name="segstate">
+ <type name="RingBufferSegState" c:type="GstRingBufferSegState*"/>
+ </field>
+ <field name="samples_per_seg">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="empty_seg">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="state">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="segdone">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="segbase">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="waiting">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="callback">
+ <type name="RingBufferCallback" c:type="GstRingBufferCallback"/>
+ </field>
+ <field name="cb_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="flushing" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="may_start" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="active" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <callback name="RingBufferCallback" c:type="GstRingBufferCallback">
+ <doc xml:whitespace="preserve">This function is set with gst_ring_buffer_set_callback() and is
+called to fill the memory at @data with @len bytes of samples.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rbuf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRingBuffer</doc>
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">target to fill</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">amount to fill</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="3">
+ <doc xml:whitespace="preserve">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="RingBufferClass"
+ c:type="GstRingBufferClass"
+ glib:is-gtype-struct-for="RingBuffer">
+ <doc xml:whitespace="preserve">The vmethods that subclasses can override to implement the ringbuffer.</doc>
+ <field name="parent_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="open_device">
+ <callback name="open_device">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be opened, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="acquire">
+ <callback name="acquire">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be acquired, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the specs of the buffer</doc>
+ <type name="RingBufferSpec" c:type="GstRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="release">
+ <callback name="release">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be released, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close_device">
+ <callback name="close_device">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be closed, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be started, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pause">
+ <callback name="pause">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be paused, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="resume">
+ <callback name="resume">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be stopped, FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delay">
+ <callback name="delay">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of samples queued in the audio device.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="activate">
+ <callback name="activate">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the device could be activated in the requested mode,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="commit">
+ <callback name="commit">
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ <parameter name="in_samples" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_samples" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="accum" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="clear_all">
+ <callback name="clear_all">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="RingBuffer" c:type="GstRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="RingBufferSegState"
+ glib:type-name="GstRingBufferSegState"
+ glib:get-type="gst_ring_buffer_seg_state_get_type"
+ c:type="GstRingBufferSegState">
+ <doc xml:whitespace="preserve">The state of a segment in the ringbuffer.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_SEGSTATE_INVALID"
+ glib:nick="invalid"/>
+ <member name="empty"
+ value="1"
+ c:identifier="GST_SEGSTATE_EMPTY"
+ glib:nick="empty"/>
+ <member name="filled"
+ value="2"
+ c:identifier="GST_SEGSTATE_FILLED"
+ glib:nick="filled"/>
+ <member name="partial"
+ value="3"
+ c:identifier="GST_SEGSTATE_PARTIAL"
+ glib:nick="partial"/>
+ </enumeration>
+ <record name="RingBufferSpec" c:type="GstRingBufferSpec">
+ <doc xml:whitespace="preserve">The structure containing the format specification of the ringbuffer.</doc>
+ <field name="caps" writable="1">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="BufferFormatType" c:type="GstBufferFormatType"/>
+ </field>
+ <field name="format" writable="1">
+ <type name="BufferFormat" c:type="GstBufferFormat"/>
+ </field>
+ <field name="sign" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="bigend" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="width" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="depth" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="rate" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="channels" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="latency_time" writable="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="buffer_time" writable="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="segsize" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="segtotal" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="bytes_per_sample" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="silence_sample" writable="1">
+ <array zero-terminated="0" c:type="guint8" fixed-size="32">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="seglatency" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="guint8" fixed-size="0">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="RingBufferState"
+ glib:type-name="GstRingBufferState"
+ glib:get-type="gst_ring_buffer_state_get_type"
+ c:type="GstRingBufferState">
+ <doc xml:whitespace="preserve">The state of the ringbuffer.</doc>
+ <member name="stopped"
+ value="0"
+ c:identifier="GST_RING_BUFFER_STATE_STOPPED"
+ glib:nick="stopped"/>
+ <member name="paused"
+ value="1"
+ c:identifier="GST_RING_BUFFER_STATE_PAUSED"
+ glib:nick="paused"/>
+ <member name="started"
+ value="2"
+ c:identifier="GST_RING_BUFFER_STATE_STARTED"
+ glib:nick="started"/>
+ </enumeration>
+ <function name="audio_buffer_clip"
+ c:identifier="gst_audio_buffer_clip"
+ version="0.10.14"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Clip the the buffer to the given %GstSegment.
+After calling this function the caller does not own a reference to
+otherwise the clipped buffer is returned.
+If the buffer has no timestamp, it is assumed to be inside the segment and
+is not clipped</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">%NULL if the buffer is completely outside the configured segment,</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The buffer to clip.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which the buffer should be clipped.</doc>
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">sample rate.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="frame_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">size of one audio frame in bytes.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_check_channel_positions"
+ c:identifier="gst_audio_check_channel_positions"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">This functions checks if the given channel positions are valid. Channel
+positions are valid if:
+<itemizedlist>
+<listitem><para>No channel positions appears twice or all positions are %GST_AUDIO_CHANNEL_POSITION_NONE.
+</para></listitem>
+<listitem><para>Either all or none of the channel positions are %GST_AUDIO_CHANNEL_POSITION_NONE.
+</para></listitem>
+<listitem><para>%GST_AUDIO_CHANNEL_POSITION_FRONT_MONO and %GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT or %GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT don't appear together in the given positions.
+</para></listitem>
+</itemizedlist>
+and %FALSE otherwise.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the given channel positions are valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">An array of #GstAudioChannelPosition.</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of elements in @pos.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_default_registry_mixer_filter"
+ c:identifier="gst_audio_default_registry_mixer_filter"
+ version="0.10.2"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Utility function to find audio mixer elements.
+Will traverse the default plugin registry in order of plugin rank and
+find usable audio mixer elements. The caller may optionally fine-tune
+the selection by specifying a filter function.
+element in the list by setting it to NULL state and calling
+gst_object_unref(). After that the list itself should be freed
+using g_list_free().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GList of audio mixer #GstElement<!-- -->s. You must free each</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="filter_func" transfer-ownership="none" closure="2">
+ <doc xml:whitespace="preserve">filter function, or #NULL</doc>
+ <type name="AudioMixerFilterFunc" c:type="GstAudioMixerFilterFunc"/>
+ </parameter>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:whitespace="preserve">set to #TRUE if you only want the first suitable mixer element</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data to pass to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_duration_from_pad_buffer"
+ c:identifier="gst_audio_duration_from_pad_buffer">
+ <doc xml:whitespace="preserve">Calculate length in nanoseconds of audio buffer @buf based on capabilities of</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to get the caps from</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_fixate_channel_positions"
+ c:identifier="gst_audio_fixate_channel_positions">
+ <doc xml:whitespace="preserve">Custom fixate function. Elements that implement some sort of
+channel conversion algorithm should use this function for
+fixating on GstAudioChannelPosition properties. It will take
+care of equal channel positioning (left/right). Caller g_free()s
+the return value. The input properties may be (and are supposed
+to be) unfixed.
+Note that this function is mostly a hack because we currently
+have no way to add default fixation functions for new GTypes.
+set of #GstAudioChannelPosition values.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">fixed values that the caller could use as a fixed</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstStructure containing a (possibly unfixed) "channel-positions" field.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_frame_byte_size"
+ c:identifier="gst_audio_frame_byte_size">
+ <doc xml:whitespace="preserve">Calculate byte size of an audio frame.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the byte size, or 0 if there was an error</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to get the caps from</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_frame_length" c:identifier="gst_audio_frame_length">
+ <doc xml:whitespace="preserve">Calculate length of buffer in frames.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">0 if there's an error, or the number of frames if everything's ok</doc>
+ <type name="glong" c:type="long"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to get the caps from</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_get_channel_positions"
+ c:identifier="gst_audio_get_channel_positions">
+ <doc xml:whitespace="preserve">Retrieves a number of (fixed!) audio channel positions from
+the provided #GstStructure and returns it as a newly allocated
+array. The caller should g_free () this array. The caller
+should also check that the members in this #GstStructure are
+indeed "fixed" before calling this function.
+positions as provided in the given #GstStructure. Returns
+NULL on error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a newly allocated array containing the channel</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstStructure to retrieve channel positions from.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_is_buffer_framed"
+ c:identifier="gst_audio_is_buffer_framed">
+ <doc xml:whitespace="preserve">Check if the buffer size is a whole multiple of the frame size.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if buffer size is multiple.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstPad to get the caps from</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_set_caps_channel_positions_list"
+ c:identifier="gst_audio_set_caps_channel_positions_list">
+ <doc xml:whitespace="preserve">Sets a (possibly non-fixed) list of possible audio channel
+positions (given in pos) on the given caps. Each of the
+structures of the caps, after this function has been called,
+will contain a "channel-positions" field with an array.
+Each value in the array will contain each of the values given
+in the pos array. Note that the size of the caps might be
+increased by this, since each structure with a "channel-
+positions" field needs to have a fixed "channels" field.
+The input caps is not required to have this.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstCaps to set the list of channel positions on.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the array containing one or more possible audio channel positions that we should add in each value of the array in the given structure.</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ <parameter name="num_positions" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of values in pos.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_set_channel_positions"
+ c:identifier="gst_audio_set_channel_positions">
+ <doc xml:whitespace="preserve">Adds a "channel-positions" field to the given #GstStructure,
+which will represent the channel positions as given in the
+provided #GstAudioChannelPosition array.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstStructure to set channel positions on.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of channel positions. The number of members in this array should be equal to the (fixed!) number of the "channels" field in the given #GstStructure.</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_set_structure_channel_positions_list"
+ c:identifier="gst_audio_set_structure_channel_positions_list">
+ <doc xml:whitespace="preserve">Sets a (possibly non-fixed) list of possible audio channel
+positions (given in pos) on the given structure. The
+structure, after this function has been called, will contain
+a "channel-positions" field with an array of the size of
+the "channels" field value in the given structure (note
+that this means that the channels field in the provided
+structure should be fixed!). Each value in the array will
+contain each of the values given in the pos array.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstStructure to set the list of channel positions on.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the array containing one or more possible audio channel positions that we should add in each value of the array in the given structure.</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ <parameter name="num_positions" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of values in pos.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_structure_set_int"
+ c:identifier="gst_audio_structure_set_int"
+ deprecated="use gst_structure_set()">
+ <doc xml:whitespace="preserve">Do not use anymore.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="flag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a set of #GstAudioFieldFlag</doc>
+ <type name="AudioFieldFlag" c:type="GstAudioFieldFlag"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.audio.ffi ;
+IN: gstreamer.audio
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.c-types alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gstreamer.ffi gstreamer.base.ffi
+gstreamer.interfaces.ffi ;
+IN: gstreamer.audio.ffi
+
+<<
+"gstreamer.audio" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstaudio-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/audio/GstAudio-0.10.gir
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-fft-0.10"/>
+ <c:include name="gst/fft/gstfft.h"/>
+ <c:include name="gst/fft/gstfftf32.h"/>
+ <c:include name="gst/fft/gstfftf64.h"/>
+ <c:include name="gst/fft/gstffts16.h"/>
+ <c:include name="gst/fft/gstffts32.h"/>
+ <namespace name="GstFft"
+ version="0.10"
+ shared-library="libgstfft-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <record name="FFTF32" c:type="GstFFTF32">
+ <doc xml:whitespace="preserve">Instance structure for #GstFFTF32.</doc>
+ <field name="cfg" readable="0" private="1">
+ <type name="gpointer" c:type="void*"/>
+ </field>
+ <field name="inverse" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="len" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="fft" c:identifier="gst_fft_f32_fft">
+ <doc xml:whitespace="preserve">This performs the FFT on @timedata and puts the result in @freqdata.
+allocating the #GstFFTF32 instance with gst_fft_f32_new().
+domain samples.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the time domain</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the frequency domain</doc>
+ <type name="FFTF32Complex" c:type="GstFFTF32Complex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_fft_f32_free">
+ <doc xml:whitespace="preserve">This frees the memory allocated for @self.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="inverse_fft" c:identifier="gst_fft_f32_inverse_fft">
+ <doc xml:whitespace="preserve">This performs the inverse FFT on @freqdata and puts the result in @timedata.
+while allocating the #GstFFTF32 instance with gst_fft_f32_new().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the frequency domain</doc>
+ <type name="FFTF32Complex" c:type="GstFFTF32Complex*"/>
+ </parameter>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the time domain</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="window" c:identifier="gst_fft_f32_window">
+ <doc xml:whitespace="preserve">This calls the window function @window on the @timedata sample buffer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Time domain samples</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Window function to apply</doc>
+ <type name="FFTWindow" c:type="GstFFTWindow"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="FFTF32Complex" c:type="GstFFTF32Complex">
+ <doc xml:whitespace="preserve">Data type for complex numbers composed of
+32 bit float.</doc>
+ <field name="r" writable="1">
+ <type name="gfloat" c:type="gfloat"/>
+ </field>
+ <field name="i" writable="1">
+ <type name="gfloat" c:type="gfloat"/>
+ </field>
+ </record>
+ <record name="FFTF64" c:type="GstFFTF64">
+ <doc xml:whitespace="preserve">Instance structure for #GstFFTF64.</doc>
+ <field name="cfg" readable="0" private="1">
+ <type name="gpointer" c:type="void*"/>
+ </field>
+ <field name="inverse" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="len" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="fft" c:identifier="gst_fft_f64_fft">
+ <doc xml:whitespace="preserve">This performs the FFT on @timedata and puts the result in @freqdata.
+allocating the #GstFFTF64 instance with gst_fft_f64_new().
+domain samples.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the time domain</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the frequency domain</doc>
+ <type name="FFTF64Complex" c:type="GstFFTF64Complex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_fft_f64_free">
+ <doc xml:whitespace="preserve">This frees the memory allocated for @self.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="inverse_fft" c:identifier="gst_fft_f64_inverse_fft">
+ <doc xml:whitespace="preserve">This performs the inverse FFT on @freqdata and puts the result in @timedata.
+while allocating the #GstFFTF64 instance with gst_fft_f64_new().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the frequency domain</doc>
+ <type name="FFTF64Complex" c:type="GstFFTF64Complex*"/>
+ </parameter>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the time domain</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="window" c:identifier="gst_fft_f64_window">
+ <doc xml:whitespace="preserve">This calls the window function @window on the @timedata sample buffer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Time domain samples</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Window function to apply</doc>
+ <type name="FFTWindow" c:type="GstFFTWindow"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="FFTF64Complex" c:type="GstFFTF64Complex">
+ <doc xml:whitespace="preserve">Data type for complex numbers composed of
+64 bit float.</doc>
+ <field name="r" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="i" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <record name="FFTS16" c:type="GstFFTS16">
+ <doc xml:whitespace="preserve">Instance structure for #GstFFTS16.</doc>
+ <field name="cfg" readable="0" private="1">
+ <type name="gpointer" c:type="void*"/>
+ </field>
+ <field name="inverse" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="len" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="fft" c:identifier="gst_fft_s16_fft">
+ <doc xml:whitespace="preserve">This performs the FFT on @timedata and puts the result in @freqdata.
+allocating the #GstFFTS16 instance with gst_fft_s16_new().
+domain samples.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the time domain</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the frequency domain</doc>
+ <type name="FFTS16Complex" c:type="GstFFTS16Complex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_fft_s16_free">
+ <doc xml:whitespace="preserve">This frees the memory allocated for @self.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="inverse_fft" c:identifier="gst_fft_s16_inverse_fft">
+ <doc xml:whitespace="preserve">This performs the inverse FFT on @freqdata and puts the result in @timedata.
+while allocating the #GstFFTS16 instance with gst_fft_s16_new().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the frequency domain</doc>
+ <type name="FFTS16Complex" c:type="GstFFTS16Complex*"/>
+ </parameter>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the time domain</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="window" c:identifier="gst_fft_s16_window">
+ <doc xml:whitespace="preserve">This calls the window function @window on the @timedata sample buffer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Time domain samples</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Window function to apply</doc>
+ <type name="FFTWindow" c:type="GstFFTWindow"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="FFTS16Complex" c:type="GstFFTS16Complex">
+ <doc xml:whitespace="preserve">Data type for complex numbers composed of
+signed 16 bit integers.</doc>
+ <field name="r" writable="1">
+ <type name="gint16" c:type="gint16"/>
+ </field>
+ <field name="i" writable="1">
+ <type name="gint16" c:type="gint16"/>
+ </field>
+ </record>
+ <record name="FFTS32" c:type="GstFFTS32">
+ <doc xml:whitespace="preserve">Instance structure for #GstFFTS32.</doc>
+ <field name="cfg" readable="0" private="1">
+ <type name="gpointer" c:type="void*"/>
+ </field>
+ <field name="inverse" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="len" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="fft" c:identifier="gst_fft_s32_fft">
+ <doc xml:whitespace="preserve">This performs the FFT on @timedata and puts the result in @freqdata.
+allocating the #GstFFTS32 instance with gst_fft_s32_new().
+domain samples.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the time domain</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the frequency domain</doc>
+ <type name="FFTS32Complex" c:type="GstFFTS32Complex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_fft_s32_free">
+ <doc xml:whitespace="preserve">This frees the memory allocated for @self.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="inverse_fft" c:identifier="gst_fft_s32_inverse_fft">
+ <doc xml:whitespace="preserve">This performs the inverse FFT on @freqdata and puts the result in @timedata.
+while allocating the #GstFFTS32 instance with gst_fft_s32_new().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="freqdata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Buffer of the samples in the frequency domain</doc>
+ <type name="FFTS32Complex" c:type="GstFFTS32Complex*"/>
+ </parameter>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Target buffer for the samples in the time domain</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="window" c:identifier="gst_fft_s32_window">
+ <doc xml:whitespace="preserve">This calls the window function @window on the @timedata sample buffer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timedata" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Time domain samples</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Window function to apply</doc>
+ <type name="FFTWindow" c:type="GstFFTWindow"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="FFTS32Complex" c:type="GstFFTS32Complex">
+ <doc xml:whitespace="preserve">Data type for complex numbers composed of
+signed 32 bit integers.</doc>
+ <field name="r" writable="1">
+ <type name="gint32" c:type="gint32"/>
+ </field>
+ <field name="i" writable="1">
+ <type name="gint32" c:type="gint32"/>
+ </field>
+ </record>
+ <enumeration name="FFTWindow" c:type="GstFFTWindow">
+ <doc xml:whitespace="preserve">The various window functions available.</doc>
+ <member name="rectangular"
+ value="0"
+ c:identifier="GST_FFT_WINDOW_RECTANGULAR"/>
+ <member name="hamming" value="1" c:identifier="GST_FFT_WINDOW_HAMMING"/>
+ <member name="hann" value="2" c:identifier="GST_FFT_WINDOW_HANN"/>
+ <member name="bartlett"
+ value="3"
+ c:identifier="GST_FFT_WINDOW_BARTLETT"/>
+ <member name="blackman"
+ value="4"
+ c:identifier="GST_FFT_WINDOW_BLACKMAN"/>
+ </enumeration>
+ <function name="fft_f32_new"
+ c:identifier="gst_fft_f32_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This returns a new #GstFFTF32 instance with the given parameters. It makes
+sense to keep one instance for several calls for speed reasons.
+2, 3 and 5. To get the next number with this characteristics use
+gst_fft_next_fast_length().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstFFTF32 instance.</doc>
+ <type name="FFTF32" c:type="GstFFTF32*"/>
+ </return-value>
+ <parameters>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the FFT in the time domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="inverse" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the #GstFFTF32 instance should be used for the inverse FFT</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="fft_f64_new"
+ c:identifier="gst_fft_f64_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This returns a new #GstFFTF64 instance with the given parameters. It makes
+sense to keep one instance for several calls for speed reasons.
+2, 3 and 5. To get the next number with this characteristics use
+gst_fft_next_fast_length().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstFFTF64 instance.</doc>
+ <type name="FFTF64" c:type="GstFFTF64*"/>
+ </return-value>
+ <parameters>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the FFT in the time domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="inverse" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the #GstFFTF64 instance should be used for the inverse FFT</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="fft_next_fast_length"
+ c:identifier="gst_fft_next_fast_length">
+ <doc xml:whitespace="preserve">Returns the next number to @n that is entirely a product
+of 2, 3 and 5. Using this as the @len parameter for
+the different GstFFT types will provide the best performance.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the next fast FFT length.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number for which the next fast length should be returned</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="fft_s16_new"
+ c:identifier="gst_fft_s16_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This returns a new #GstFFTS16 instance with the given parameters. It makes
+sense to keep one instance for several calls for speed reasons.
+2, 3 and 5. To get the next number with this characteristics use
+gst_fft_next_fast_length().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstFFTS16 instance.</doc>
+ <type name="FFTS16" c:type="GstFFTS16*"/>
+ </return-value>
+ <parameters>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the FFT in the time domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="inverse" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the #GstFFTS16 instance should be used for the inverse FFT</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="fft_s32_new"
+ c:identifier="gst_fft_s32_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This returns a new #GstFFTS32 instance with the given parameters. It makes
+sense to keep one instance for several calls for speed reasons.
+2, 3 and 5. To get the next number with this characteristics use
+gst_fft_next_fast_length().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a new #GstFFTS32 instance.</doc>
+ <type name="FFTS32" c:type="GstFFTS32*"/>
+ </return-value>
+ <parameters>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the FFT in the time domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="inverse" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the #GstFFTS32 instance should be used for the inverse FFT</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.c-types alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gstreamer.ffi ;
+IN: gstreamer.fft.ffi
+
+<<
+"gstreamer.fft" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstfft-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/fft/GstFft-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.fft.ffi ;
+IN: gstreamer.fft
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-interfaces-0.10"/>
+ <c:include name="gst/interfaces/colorbalance.h"/>
+ <c:include name="gst/interfaces/colorbalancechannel.h"/>
+ <c:include name="gst/interfaces/interfaces-enumtypes.h"/>
+ <c:include name="gst/interfaces/mixer.h"/>
+ <c:include name="gst/interfaces/mixeroptions.h"/>
+ <c:include name="gst/interfaces/mixertrack.h"/>
+ <c:include name="gst/interfaces/navigation.h"/>
+ <c:include name="gst/interfaces/propertyprobe.h"/>
+ <c:include name="gst/interfaces/streamvolume.h"/>
+ <c:include name="gst/interfaces/tuner.h"/>
+ <c:include name="gst/interfaces/tunerchannel.h"/>
+ <c:include name="gst/interfaces/tunernorm.h"/>
+ <c:include name="gst/interfaces/videoorientation.h"/>
+ <c:include name="gst/interfaces/xoverlay.h"/>
+ <namespace name="GstInterfaces"
+ version="0.10"
+ shared-library="libgstinterfaces-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <interface name="ColorBalance"
+ c:symbol-prefix="color_balance"
+ c:type="GstColorBalance"
+ glib:type-name="GstColorBalance"
+ glib:get-type="gst_color_balance_get_type">
+ <prerequisite name="Gst.Element"/>
+ <prerequisite name="Gst.ImplementsInterface"/>
+ <method name="get_balance_type"
+ c:identifier="gst_color_balance_get_balance_type"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the #GstColorBalanceType of this implementation.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A the #GstColorBalanceType.</doc>
+ <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
+ </return-value>
+ </method>
+ <method name="get_value" c:identifier="gst_color_balance_get_value">
+ <doc xml:whitespace="preserve">Retrieve the current value of the indicated channel, between min_value
+and max_value.
+#GstColorBalanceChannel::max_value members of the
+#GstColorBalanceChannel object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current value of the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_channels"
+ c:identifier="gst_color_balance_list_channels">
+ <doc xml:whitespace="preserve">Retrieve a list of the available channels.
+The list is owned by the #GstColorBalance instance and must not
+be freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A GList containing pointers to #GstColorBalanceChannel objects.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="set_value" c:identifier="gst_color_balance_set_value">
+ <doc xml:whitespace="preserve">Sets the current value of the channel to the passed value, which must
+be between min_value and max_value.
+#GstColorBalanceChannel::max_value members of the
+#GstColorBalanceChannel object.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new value for the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_changed"
+ c:identifier="gst_color_balance_value_changed">
+ <doc xml:whitespace="preserve">A helper function called by implementations of the GstColorBalance
+interface. It fires the #GstColorBalance::value-changed signal on the
+instance, and the #GstColorBalanceChannel::value-changed signal on the
+channel object.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstColorBalanceChannel whose value has changed</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new value of the channel</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="value-changed">
+ <doc xml:whitespace="preserve">Fired when the value of the indicated channel has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstColorBalanceChannel</doc>
+ <type name="ColorBalanceChannel"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new value</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <class name="ColorBalanceChannel"
+ c:symbol-prefix="color_balance_channel"
+ c:type="GstColorBalanceChannel"
+ parent="GObject.Object"
+ glib:type-name="GstColorBalanceChannel"
+ glib:get-type="gst_color_balance_channel_get_type"
+ glib:type-struct="ColorBalanceChannelClass">
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="label">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="min_value">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_value">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <glib:signal name="value-changed">
+ <doc xml:whitespace="preserve">Fired when the value of the indicated channel has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new value</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ColorBalanceChannelClass"
+ c:type="GstColorBalanceChannelClass"
+ glib:is-gtype-struct-for="ColorBalanceChannel">
+ <field name="parent">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="value_changed">
+ <callback name="value_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ColorBalanceClass" c:type="GstColorBalanceClass">
+ <field name="klass" writable="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="balance_type" writable="1">
+ <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
+ </field>
+ <field name="list_channels">
+ <callback name="list_channels">
+ <return-value transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_value">
+ <callback name="set_value">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_value">
+ <callback name="get_value">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="value_changed">
+ <callback name="value_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="ColorBalanceType"
+ glib:type-name="GstColorBalanceType"
+ glib:get-type="gst_color_balance_type_get_type"
+ c:type="GstColorBalanceType">
+ <doc xml:whitespace="preserve">An enumeration indicating whether an element implements color balancing
+operations in software or in dedicated hardware. In general, dedicated
+hardware implementations (such as those provided by xvimagesink) are
+preferred.</doc>
+ <member name="hardware"
+ value="0"
+ c:identifier="GST_COLOR_BALANCE_HARDWARE"
+ glib:nick="hardware"/>
+ <member name="software"
+ value="1"
+ c:identifier="GST_COLOR_BALANCE_SOFTWARE"
+ glib:nick="software"/>
+ </enumeration>
+ <interface name="Mixer"
+ c:symbol-prefix="mixer"
+ c:type="GstMixer"
+ glib:type-name="GstMixer"
+ glib:get-type="gst_mixer_get_type">
+ <prerequisite name="Gst.Element"/>
+ <prerequisite name="Gst.ImplementsInterface"/>
+ <method name="get_mixer_flags" c:identifier="gst_mixer_get_mixer_flags">
+ <doc xml:whitespace="preserve">Get the set of supported flags for this mixer implementation.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A set of or-ed GstMixerFlags for supported features.</doc>
+ <type name="MixerFlags" c:type="GstMixerFlags"/>
+ </return-value>
+ </method>
+ <method name="get_mixer_type"
+ c:identifier="gst_mixer_get_mixer_type"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the #GstMixerType of this mixer implementation.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A the #GstMixerType.</doc>
+ <type name="MixerType" c:type="GstMixerType"/>
+ </return-value>
+ </method>
+ <method name="get_option" c:identifier="gst_mixer_get_option">
+ <doc xml:whitespace="preserve">Get the current value of a name/value option in the mixer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">current value of the name/value option.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="opts" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstMixerOptions that we operate on.</doc>
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_volume" c:identifier="gst_mixer_get_volume">
+ <doc xml:whitespace="preserve">Get the current volume(s) on the given track.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstMixerTrack to get the volume from.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pre-allocated array of integers (of size track->num_channels) to store the current volume of each channel in the given track in.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_tracks" c:identifier="gst_mixer_list_tracks">
+ <doc xml:whitespace="preserve">Returns a list of available tracks for this mixer/element. Note
+that it is allowed for sink (output) elements to only provide
+the output tracks in this list. Likewise, for sources (inputs),
+it is allowed to only provide input elements in this list.
+The list is owned by the #GstMixer instance and must not be freed
+or modified.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GList consisting of zero or more #GstMixerTracks.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="mixer_changed"
+ c:identifier="gst_mixer_mixer_changed"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">This function is called by the mixer implementation to produce
+a notification message on the bus indicating that the list of available
+mixer tracks for a given mixer object has changed. Applications should
+rebuild their interface when they receive this message.
+This function only works for GstElements that are implementing the
+GstMixer interface, and the element needs to have been provided a bus.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="mute_toggled" c:identifier="gst_mixer_mute_toggled">
+ <doc xml:whitespace="preserve">This function is called by the mixer implementation to produce
+a notification message on the bus indicating that the given track
+has changed mute state.
+This function only works for GstElements that are implementing the
+GstMixer interface, and the element needs to have been provided a bus.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstMixerTrack that has change mute state.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state of the mute flag on the track</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="option_changed" c:identifier="gst_mixer_option_changed">
+ <doc xml:whitespace="preserve">This function is called by the mixer implementation to produce
+a notification message on the bus indicating that the given options
+object has changed state.
+This function only works for GstElements that are implementing the
+GstMixer interface, and the element needs to have been provided a bus.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="opts" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstMixerOptions that has changed value.</doc>
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new value of the GstMixerOptions.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="options_list_changed"
+ c:identifier="gst_mixer_options_list_changed"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">This function is called by the mixer implementation to produce
+a notification message on the bus indicating that the list of possible
+options of a given options object has changed.
+The new options are not contained in the message on purpose. Applications
+should call gst_mixer_option_get_values() on @opts to make @opts update
+its internal state and obtain the new list of values.
+This function only works for GstElements that are implementing the
+GstMixer interface, and the element needs to have been provided a bus
+for this to work.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="opts" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstMixerOptions whose list of values has changed</doc>
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="record_toggled" c:identifier="gst_mixer_record_toggled">
+ <doc xml:whitespace="preserve">This function is called by the mixer implementation to produce
+a notification message on the bus indicating that the given track
+has changed recording state.
+This function only works for GstElements that are implementing the
+GstMixer interface, and the element needs to have been provided a bus.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstMixerTrack that has changed recording state.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="record" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state of the record flag on the track</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute" c:identifier="gst_mixer_set_mute">
+ <doc xml:whitespace="preserve">Mutes or unmutes the given channel. To find out whether a
+track is currently muted, use GST_MIXER_TRACK_HAS_FLAG ().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMixerTrack to operate on.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a boolean value indicating whether to turn on or off muting.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_option" c:identifier="gst_mixer_set_option">
+ <doc xml:whitespace="preserve">Sets a name/value option in the mixer to the requested value.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="opts" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstMixerOptions that we operate on.</doc>
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The requested new option value.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_record" c:identifier="gst_mixer_set_record">
+ <doc xml:whitespace="preserve">Enables or disables recording on the given track. Note that
+this is only possible on input tracks, not on output tracks
+(see GST_MIXER_TRACK_HAS_FLAG () and the GST_MIXER_TRACK_INPUT
+flag).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstMixerTrack to operate on.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="record" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a boolean value that indicates whether to turn on or off recording.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume" c:identifier="gst_mixer_set_volume">
+ <doc xml:whitespace="preserve">Sets the volume on each channel in a track. Short note about
+the mixer/element, such as 'Line-in' or 'Microphone'. A
+channel is said to be a mono-stream inside this track. A
+stereo track thus contains two channels.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstMixerTrack to set the volume on.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of integers (of size track->num_channels) that gives the wanted volume for each channel in this track.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="volume_changed" c:identifier="gst_mixer_volume_changed">
+ <doc xml:whitespace="preserve">This function is called by the mixer implementation to produce
+a notification message on the bus indicating that the volume(s) for the
+given track have changed.
+This function only works for GstElements that are implementing the
+GstMixer interface, and the element needs to have been provided a bus.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the GstMixerTrack that has changed.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Array of volume values, one per channel on the mixer track.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="mute-toggled">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="MixerTrack"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gboolean"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="option-changed">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="MixerOptions"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="utf8"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="record-toggled">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="MixerTrack"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gboolean"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="volume-changed">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="MixerTrack"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="MixerClass" c:type="GstMixerClass">
+ <field name="klass" writable="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="mixer_type" writable="1">
+ <type name="MixerType" c:type="GstMixerType"/>
+ </field>
+ <field name="list_tracks">
+ <callback name="list_tracks">
+ <return-value transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_volume">
+ <callback name="set_volume">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_volume">
+ <callback name="get_volume">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_mute">
+ <callback name="set_mute">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_record">
+ <callback name="set_record">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="record" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="mute_toggled">
+ <callback name="mute_toggled">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="record_toggled">
+ <callback name="record_toggled">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="record" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="volume_changed">
+ <callback name="volume_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="MixerTrack" c:type="GstMixerTrack*"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_option">
+ <callback name="set_option">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="opts" transfer-ownership="none">
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_option">
+ <callback name="get_option">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="opts" transfer-ownership="none">
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="option_changed">
+ <callback name="option_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ <parameter name="opts" transfer-ownership="none">
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ <parameter name="option" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_mixer_flags">
+ <callback name="get_mixer_flags">
+ <return-value transfer-ownership="none">
+ <type name="MixerFlags" c:type="GstMixerFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="mixer" transfer-ownership="none">
+ <type name="Mixer" c:type="GstMixer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="MixerFlags"
+ version="0.10.14"
+ glib:type-name="GstMixerFlags"
+ glib:get-type="gst_mixer_flags_get_type"
+ c:type="GstMixerFlags">
+ <doc xml:whitespace="preserve">Flags indicating which optional features are supported by a mixer
+implementation.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_MIXER_FLAG_NONE"
+ glib:nick="none"/>
+ <member name="auto_notifications"
+ value="1"
+ c:identifier="GST_MIXER_FLAG_AUTO_NOTIFICATIONS"
+ glib:nick="auto-notifications"/>
+ <member name="has_whitelist"
+ value="2"
+ c:identifier="GST_MIXER_FLAG_HAS_WHITELIST"
+ glib:nick="has-whitelist"/>
+ <member name="grouping"
+ value="4"
+ c:identifier="GST_MIXER_FLAG_GROUPING"
+ glib:nick="grouping"/>
+ </bitfield>
+ <enumeration name="MixerMessageType"
+ version="0.10.14"
+ glib:type-name="GstMixerMessageType"
+ glib:get-type="gst_mixer_message_type_get_type"
+ c:type="GstMixerMessageType">
+ <doc xml:whitespace="preserve">An enumeration for the type of a GstMixer message received on the bus</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_MIXER_MESSAGE_INVALID"
+ glib:nick="invalid"/>
+ <member name="mute_toggled"
+ value="1"
+ c:identifier="GST_MIXER_MESSAGE_MUTE_TOGGLED"
+ glib:nick="mute-toggled"/>
+ <member name="record_toggled"
+ value="2"
+ c:identifier="GST_MIXER_MESSAGE_RECORD_TOGGLED"
+ glib:nick="record-toggled"/>
+ <member name="volume_changed"
+ value="3"
+ c:identifier="GST_MIXER_MESSAGE_VOLUME_CHANGED"
+ glib:nick="volume-changed"/>
+ <member name="option_changed"
+ value="4"
+ c:identifier="GST_MIXER_MESSAGE_OPTION_CHANGED"
+ glib:nick="option-changed"/>
+ <member name="options_list_changed"
+ value="5"
+ c:identifier="GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED"
+ glib:nick="options-list-changed"/>
+ <member name="mixer_changed"
+ value="6"
+ c:identifier="GST_MIXER_MESSAGE_MIXER_CHANGED"
+ glib:nick="mixer-changed"/>
+ </enumeration>
+ <class name="MixerOptions"
+ c:symbol-prefix="mixer_options"
+ c:type="GstMixerOptions"
+ parent="MixerTrack"
+ glib:type-name="GstMixerOptions"
+ glib:get-type="gst_mixer_options_get_type"
+ glib:type-struct="MixerOptionsClass">
+ <virtual-method name="get_values"
+ invoker="get_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the values for the mixer option.
+option. You must not free or modify the list or its contents, it belongs
+to the @mixer_options object.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A list of strings with all the possible values for the mixer</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </virtual-method>
+ <method name="get_values"
+ c:identifier="gst_mixer_options_get_values"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the values for the mixer option.
+option. You must not free or modify the list or its contents, it belongs
+to the @mixer_options object.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A list of strings with all the possible values for the mixer</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <field name="parent">
+ <type name="MixerTrack" c:type="GstMixerTrack"/>
+ </field>
+ <field name="values">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="MixerOptionsClass"
+ c:type="GstMixerOptionsClass"
+ glib:is-gtype-struct-for="MixerOptions">
+ <field name="parent">
+ <type name="MixerTrackClass" c:type="GstMixerTrackClass"/>
+ </field>
+ <field name="get_values" introspectable="0">
+ <callback name="get_values" introspectable="0">
+ <return-value>
+ <doc xml:whitespace="preserve">A list of strings with all the possible values for the mixer</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="opts" transfer-ownership="none">
+ <type name="MixerOptions" c:type="GstMixerOptions*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="MixerTrack"
+ c:symbol-prefix="mixer_track"
+ c:type="GstMixerTrack"
+ parent="GObject.Object"
+ glib:type-name="GstMixerTrack"
+ glib:get-type="gst_mixer_track_get_type"
+ glib:type-struct="MixerTrackClass">
+ <property name="flags" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="index"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="label" transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <property name="max-volume" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="min-volume" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="num-channels" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="untranslated-label"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="label">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="flags">
+ <type name="MixerTrackFlags" c:type="GstMixerTrackFlags"/>
+ </field>
+ <field name="num_channels">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="min_volume">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_volume">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </class>
+ <record name="MixerTrackClass"
+ c:type="GstMixerTrackClass"
+ glib:is-gtype-struct-for="MixerTrack">
+ <field name="parent">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="MixerTrackFlags"
+ glib:type-name="GstMixerTrackFlags"
+ glib:get-type="gst_mixer_track_flags_get_type"
+ c:type="GstMixerTrackFlags">
+ <doc xml:whitespace="preserve">Mixer track flags.</doc>
+ <member name="input"
+ value="1"
+ c:identifier="GST_MIXER_TRACK_INPUT"
+ glib:nick="input"/>
+ <member name="output"
+ value="2"
+ c:identifier="GST_MIXER_TRACK_OUTPUT"
+ glib:nick="output"/>
+ <member name="mute"
+ value="4"
+ c:identifier="GST_MIXER_TRACK_MUTE"
+ glib:nick="mute"/>
+ <member name="record"
+ value="8"
+ c:identifier="GST_MIXER_TRACK_RECORD"
+ glib:nick="record"/>
+ <member name="master"
+ value="16"
+ c:identifier="GST_MIXER_TRACK_MASTER"
+ glib:nick="master"/>
+ <member name="software"
+ value="32"
+ c:identifier="GST_MIXER_TRACK_SOFTWARE"
+ glib:nick="software"/>
+ <member name="no_record"
+ value="64"
+ c:identifier="GST_MIXER_TRACK_NO_RECORD"
+ glib:nick="no-record"/>
+ <member name="no_mute"
+ value="128"
+ c:identifier="GST_MIXER_TRACK_NO_MUTE"
+ glib:nick="no-mute"/>
+ <member name="whitelist"
+ value="256"
+ c:identifier="GST_MIXER_TRACK_WHITELIST"
+ glib:nick="whitelist"/>
+ <member name="readonly"
+ value="512"
+ c:identifier="GST_MIXER_TRACK_READONLY"
+ glib:nick="readonly"/>
+ <member name="writeonly"
+ value="1024"
+ c:identifier="GST_MIXER_TRACK_WRITEONLY"
+ glib:nick="writeonly"/>
+ </bitfield>
+ <enumeration name="MixerType"
+ glib:type-name="GstMixerType"
+ glib:get-type="gst_mixer_type_get_type"
+ c:type="GstMixerType">
+ <member name="hardware"
+ value="0"
+ c:identifier="GST_MIXER_HARDWARE"
+ glib:nick="hardware"/>
+ <member name="software"
+ value="1"
+ c:identifier="GST_MIXER_SOFTWARE"
+ glib:nick="software"/>
+ </enumeration>
+ <interface name="Navigation"
+ c:symbol-prefix="navigation"
+ c:type="GstNavigation"
+ glib:type-name="GstNavigation"
+ glib:get-type="gst_navigation_get_type"
+ glib:type-struct="NavigationInterface">
+ <virtual-method name="send_event" invoker="send_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="send_command"
+ c:identifier="gst_navigation_send_command"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Sends the indicated command to the navigation interface.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="command" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The command to issue</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_event" c:identifier="gst_navigation_send_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_key_event"
+ c:identifier="gst_navigation_send_key_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type of the key event. Recognised values are "key-press" and "key-release"</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Character representation of the key. This is typically as produced by XKeysymToString.</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_mouse_event"
+ c:identifier="gst_navigation_send_mouse_event">
+ <doc xml:whitespace="preserve">Sends a mouse event to the navigation interface. Mouse event coordinates
+are sent relative to the display space of the related output area. This is
+usually the size in pixels of the window associated with the element
+implementing the #GstNavigation interface.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type of mouse event, as a text string. Recognised values are "mouse-button-press", "mouse-button-release" and "mouse-move".</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ <parameter name="button" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The button number of the button being pressed or released. Pass 0 for mouse-move events.</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The x coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The y coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <enumeration name="NavigationCommand"
+ version="0.10.23"
+ glib:type-name="GstNavigationCommand"
+ glib:get-type="gst_navigation_command_get_type"
+ c:type="GstNavigationCommand">
+ <doc xml:whitespace="preserve">A set of commands that may be issued to an element providing the
+#GstNavigation interface. The available commands can be queried via
+the gst_navigation_query_new_commands() query.
+For convenience in handling DVD navigation, the MENU commands are aliased as:
+GST_NAVIGATION_COMMAND_DVD_MENU = @GST_NAVIGATION_COMMAND_MENU1
+GST_NAVIGATION_COMMAND_DVD_TITLE_MENU = @GST_NAVIGATION_COMMAND_MENU2
+GST_NAVIGATION_COMMAND_DVD_ROOT_MENU = @GST_NAVIGATION_COMMAND_MENU3
+GST_NAVIGATION_COMMAND_DVD_SUBPICTURE_MENU = @GST_NAVIGATION_COMMAND_MENU4
+GST_NAVIGATION_COMMAND_DVD_AUDIO_MENU = @GST_NAVIGATION_COMMAND_MENU5
+GST_NAVIGATION_COMMAND_DVD_ANGLE_MENU = @GST_NAVIGATION_COMMAND_MENU6
+GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU = @GST_NAVIGATION_COMMAND_MENU7</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_COMMAND_INVALID"
+ glib:nick="invalid"/>
+ <member name="menu1"
+ value="1"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU1"
+ glib:nick="menu1"/>
+ <member name="menu2"
+ value="2"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU2"
+ glib:nick="menu2"/>
+ <member name="menu3"
+ value="3"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU3"
+ glib:nick="menu3"/>
+ <member name="menu4"
+ value="4"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU4"
+ glib:nick="menu4"/>
+ <member name="menu5"
+ value="5"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU5"
+ glib:nick="menu5"/>
+ <member name="menu6"
+ value="6"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU6"
+ glib:nick="menu6"/>
+ <member name="menu7"
+ value="7"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU7"
+ glib:nick="menu7"/>
+ <member name="left"
+ value="20"
+ c:identifier="GST_NAVIGATION_COMMAND_LEFT"
+ glib:nick="left"/>
+ <member name="right"
+ value="21"
+ c:identifier="GST_NAVIGATION_COMMAND_RIGHT"
+ glib:nick="right"/>
+ <member name="up"
+ value="22"
+ c:identifier="GST_NAVIGATION_COMMAND_UP"
+ glib:nick="up"/>
+ <member name="down"
+ value="23"
+ c:identifier="GST_NAVIGATION_COMMAND_DOWN"
+ glib:nick="down"/>
+ <member name="activate"
+ value="24"
+ c:identifier="GST_NAVIGATION_COMMAND_ACTIVATE"
+ glib:nick="activate"/>
+ <member name="prev_angle"
+ value="30"
+ c:identifier="GST_NAVIGATION_COMMAND_PREV_ANGLE"
+ glib:nick="prev-angle"/>
+ <member name="next_angle"
+ value="31"
+ c:identifier="GST_NAVIGATION_COMMAND_NEXT_ANGLE"
+ glib:nick="next-angle"/>
+ </enumeration>
+ <enumeration name="NavigationEventType"
+ version="0.10.23"
+ glib:type-name="GstNavigationEventType"
+ glib:get-type="gst_navigation_event_type_get_type"
+ c:type="GstNavigationEventType">
+ <doc xml:whitespace="preserve">Enum values for the various events that an element implementing the
+GstNavigation interface might send up the pipeline.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_EVENT_INVALID"
+ glib:nick="invalid"/>
+ <member name="key_press"
+ value="1"
+ c:identifier="GST_NAVIGATION_EVENT_KEY_PRESS"
+ glib:nick="key-press"/>
+ <member name="key_release"
+ value="2"
+ c:identifier="GST_NAVIGATION_EVENT_KEY_RELEASE"
+ glib:nick="key-release"/>
+ <member name="mouse_button_press"
+ value="3"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS"
+ glib:nick="mouse-button-press"/>
+ <member name="mouse_button_release"
+ value="4"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE"
+ glib:nick="mouse-button-release"/>
+ <member name="mouse_move"
+ value="5"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_MOVE"
+ glib:nick="mouse-move"/>
+ <member name="command"
+ value="6"
+ c:identifier="GST_NAVIGATION_EVENT_COMMAND"
+ glib:nick="command"/>
+ </enumeration>
+ <record name="NavigationInterface"
+ c:type="GstNavigationInterface"
+ glib:is-gtype-struct-for="Navigation">
+ <field name="g_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="send_event">
+ <callback name="send_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="navigation" transfer-ownership="none">
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="NavigationMessageType"
+ version="0.10.23"
+ glib:type-name="GstNavigationMessageType"
+ glib:get-type="gst_navigation_message_type_get_type"
+ c:type="GstNavigationMessageType">
+ <doc xml:whitespace="preserve">A set of notifications that may be received on the bus when navigation
+related status changes.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_MESSAGE_INVALID"
+ glib:nick="invalid"/>
+ <member name="mouse_over"
+ value="1"
+ c:identifier="GST_NAVIGATION_MESSAGE_MOUSE_OVER"
+ glib:nick="mouse-over"/>
+ <member name="commands_changed"
+ value="2"
+ c:identifier="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED"
+ glib:nick="commands-changed"/>
+ <member name="angles_changed"
+ value="3"
+ c:identifier="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED"
+ glib:nick="angles-changed"/>
+ </enumeration>
+ <enumeration name="NavigationQueryType"
+ glib:type-name="GstNavigationQueryType"
+ glib:get-type="gst_navigation_query_type_get_type"
+ c:type="GstNavigationQueryType">
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_QUERY_INVALID"
+ glib:nick="invalid"/>
+ <member name="commands"
+ value="1"
+ c:identifier="GST_NAVIGATION_QUERY_COMMANDS"
+ glib:nick="commands"/>
+ <member name="angles"
+ value="2"
+ c:identifier="GST_NAVIGATION_QUERY_ANGLES"
+ glib:nick="angles"/>
+ </enumeration>
+ <interface name="PropertyProbe"
+ c:symbol-prefix="property_probe"
+ c:type="GstPropertyProbe"
+ glib:type-name="GstPropertyProbe"
+ glib:get-type="gst_property_probe_get_type"
+ glib:type-struct="PropertyProbeInterface">
+ <doc xml:whitespace="preserve">Opaque #GstPropertyProbe data structure.</doc>
+ <virtual-method name="get_properties" invoker="get_properties">
+ <doc xml:whitespace="preserve">Get a list of properties for which probing is supported.
+by this element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the list of properties for which probing is supported</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </virtual-method>
+ <virtual-method name="get_values">
+ <return-value transfer-ownership="full">
+ <type name="GObject.ValueArray" c:type="GValueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="needs_probe">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="probe_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_properties"
+ c:identifier="gst_property_probe_get_properties">
+ <doc xml:whitespace="preserve">Get a list of properties for which probing is supported.
+by this element.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the list of properties for which probing is supported</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_property"
+ c:identifier="gst_property_probe_get_property">
+ <doc xml:whitespace="preserve">Get #GParamSpec for a property for which probing is supported.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GParamSpec of %NULL.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_values" c:identifier="gst_property_probe_get_values">
+ <doc xml:whitespace="preserve">Gets the possible (probed) values for the given property,
+requires the property to have been probed before.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A list of valid values for the given property.</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GParamSpec property identifier.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_values_name"
+ c:identifier="gst_property_probe_get_values_name">
+ <doc xml:whitespace="preserve">Same as gst_property_probe_get_values ().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A list of valid values for the given property.</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to get values for.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="needs_probe" c:identifier="gst_property_probe_needs_probe">
+ <doc xml:whitespace="preserve">Checks whether a property needs a probe. This might be because
+the property wasn't initialized before, or because host setup
+changed. This might be, for example, because a new device was
+added, and thus device probing needs to be refreshed to display
+the new device.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the property needs a new probe, FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GParamSpec that identifies the property to check.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="needs_probe_name"
+ c:identifier="gst_property_probe_needs_probe_name">
+ <doc xml:whitespace="preserve">Same as gst_property_probe_needs_probe ().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the property needs a new probe, FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to check.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="probe_and_get_values"
+ c:identifier="gst_property_probe_probe_and_get_values">
+ <doc xml:whitespace="preserve">Check whether the given property requires a new probe. If so,
+fo the probe. After that, retrieve a value list. Meant as a
+utility function that wraps the above functions.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the list of valid values for this property.</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GParamSpec property identifier.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="probe_and_get_values_name"
+ c:identifier="gst_property_probe_probe_and_get_values_name">
+ <doc xml:whitespace="preserve">Same as gst_property_probe_probe_and_get_values ().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the list of valid values for this property.</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the property to get values for.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="probe_property"
+ c:identifier="gst_property_probe_probe_property">
+ <doc xml:whitespace="preserve">Runs a probe on the property specified by @pspec</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GParamSpec of the property.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="probe_property_name"
+ c:identifier="gst_property_probe_probe_property_name">
+ <doc xml:whitespace="preserve">Runs a probe on the property specified by @name.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">name of the property.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="probe-needed">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="PropertyProbeInterface"
+ c:type="GstPropertyProbeInterface"
+ glib:is-gtype-struct-for="PropertyProbe">
+ <doc xml:whitespace="preserve">#GstPropertyProbe interface.</doc>
+ <field name="klass">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="probe_needed">
+ <callback name="probe_needed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="probe" transfer-ownership="none">
+ <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_properties">
+ <callback name="get_properties">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the list of properties for which probing is supported</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="probe" transfer-ownership="none">
+ <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="needs_probe">
+ <callback name="needs_probe">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="probe" transfer-ownership="none">
+ <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
+ </parameter>
+ <parameter name="prop_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="probe_property">
+ <callback name="probe_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="probe" transfer-ownership="none">
+ <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
+ </parameter>
+ <parameter name="prop_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_values">
+ <callback name="get_values">
+ <return-value transfer-ownership="full">
+ <type name="GObject.ValueArray" c:type="GValueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="probe" transfer-ownership="none">
+ <type name="PropertyProbe" c:type="GstPropertyProbe*"/>
+ </parameter>
+ <parameter name="prop_id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <interface name="StreamVolume"
+ c:symbol-prefix="stream_volume"
+ c:type="GstStreamVolume"
+ glib:type-name="GstStreamVolume"
+ glib:get-type="gst_stream_volume_get_type"
+ glib:type-struct="StreamVolumeInterface">
+ <method name="get_mute"
+ c:identifier="gst_stream_volume_get_mute"
+ version="0.10.25">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Returns %TRUE if the stream is muted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_volume"
+ c:identifier="gst_stream_volume_get_volume"
+ version="0.10.25">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current stream volume as linear factor</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstStreamVolumeFormat which should be returned</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute"
+ c:identifier="gst_stream_volume_set_mute"
+ version="0.10.25">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Mute state that should be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume"
+ c:identifier="gst_stream_volume_set_volume"
+ version="0.10.25">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstStreamVolumeFormat of @val</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Linear volume factor that should be set</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="mute" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="volume" writable="1" transfer-ownership="none">
+ <type name="gdouble"/>
+ </property>
+ </interface>
+ <enumeration name="StreamVolumeFormat"
+ version="0.10.25"
+ glib:type-name="GstStreamVolumeFormat"
+ glib:get-type="gst_stream_volume_format_get_type"
+ c:type="GstStreamVolumeFormat">
+ <doc xml:whitespace="preserve">Different representations of a stream volume. gst_stream_volume_convert()
+allows to convert between the different representations.
+Formulas to convert from a linear to a cubic or dB volume are
+cbrt(val) and 20 * log10 (val).</doc>
+ <member name="linear"
+ value="0"
+ c:identifier="GST_STREAM_VOLUME_FORMAT_LINEAR"
+ glib:nick="linear"/>
+ <member name="cubic"
+ value="1"
+ c:identifier="GST_STREAM_VOLUME_FORMAT_CUBIC"
+ glib:nick="cubic"/>
+ <member name="db"
+ value="2"
+ c:identifier="GST_STREAM_VOLUME_FORMAT_DB"
+ glib:nick="db"/>
+ </enumeration>
+ <record name="StreamVolumeInterface"
+ c:type="GstStreamVolumeInterface"
+ glib:is-gtype-struct-for="StreamVolume">
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <interface name="Tuner"
+ c:symbol-prefix="tuner"
+ c:type="GstTuner"
+ glib:type-name="GstTuner"
+ glib:get-type="gst_tuner_get_type">
+ <prerequisite name="Gst.Element"/>
+ <prerequisite name="Gst.ImplementsInterface"/>
+ <method name="channel_changed" c:identifier="gst_tuner_channel_changed">
+ <doc xml:whitespace="preserve">Called by elements implementing the #GstTuner interface when the
+current channel changes. Fires the #GstTuner::channel-changed signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstTunerChannel instance</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_channel_by_name"
+ c:identifier="gst_tuner_find_channel_by_name"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Look up a #GstTunerChannel by name.
+is available.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A #GstTunerChannel, or NULL if no channel with the provided name</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A string containing the name of a #GstTunerChannel</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_norm_by_name"
+ c:identifier="gst_tuner_find_norm_by_name"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Look up a #GstTunerNorm by name.
+is available.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A #GstTunerNorm, or NULL if no norm with the provided name</doc>
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </return-value>
+ <parameters>
+ <parameter name="norm" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A string containing the name of a #GstTunerNorm</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="frequency_changed"
+ c:identifier="gst_tuner_frequency_changed">
+ <doc xml:whitespace="preserve">Called by elements implementing the #GstTuner interface when the
+configured frequency changes. Fires the #GstTuner::frequency-changed
+signal on the tuner, and the #GstTunerChannel::frequency-changed signal
+on the channel.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current #GstTunerChannel</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="frequency" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new frequency setting</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_channel"
+ c:identifier="gst_tuner_get_channel"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Retrieve the current channel from the tuner.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the current channel of the tuner object.</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </return-value>
+ </method>
+ <method name="get_frequency" c:identifier="gst_tuner_get_frequency">
+ <doc xml:whitespace="preserve">Retrieve the current frequency from the given channel. As for
+gst_tuner_set_frequency(), the #GstTunerChannel must support frequency
+operations, as indicated by the GST_TUNER_CHANNEL_FREQUENCY flag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current frequency, or 0 on error.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstTunerChannel to retrieve the frequency from.</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_norm"
+ c:identifier="gst_tuner_get_norm"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get the current video norm from the given tuner object for the
+currently selected channel.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">the current norm.</doc>
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </return-value>
+ </method>
+ <method name="list_channels" c:identifier="gst_tuner_list_channels">
+ <doc xml:whitespace="preserve">Retrieve a #GList of #GstTunerChannels available
+(e.g. 'composite', 's-video', ...) from the given tuner object.
+owned by the GstTuner and must not be freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A list of channels available on this tuner. The list is</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="list_norms" c:identifier="gst_tuner_list_norms">
+ <doc xml:whitespace="preserve">Retrieve a GList of available #GstTunerNorm settings for the currently
+tuned channel on the given tuner object.
+tuner object. The list is owned by the GstTuner and must not
+be freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A list of norms available on the current channel for this</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="norm_changed" c:identifier="gst_tuner_norm_changed">
+ <doc xml:whitespace="preserve">Called by elements implementing the #GstTuner interface when the
+current norm changes. Fires the #GstTuner::norm-changed signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="norm" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstTunerNorm instance</doc>
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_channel" c:identifier="gst_tuner_set_channel">
+ <doc xml:whitespace="preserve">Tunes the object to the given channel, which should be one of the
+channels returned by gst_tuner_list_channels().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the channel to tune to.</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frequency" c:identifier="gst_tuner_set_frequency">
+ <doc xml:whitespace="preserve">Sets a tuning frequency on the given tuner/channel. Note that this
+requires the given channel to be a "tuning" channel, which can be
+checked using GST_TUNER_CHANNEL_HAS_FLAG (), with the proper flag
+being GST_TUNER_CHANNEL_FREQUENCY.
+The frequency is in Hz, with minimum steps indicated by the
+frequency_multiplicator provided in the #GstTunerChannel. The
+valid range is provided in the min_frequency and max_frequency properties
+of the #GstTunerChannel.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstTunerChannel to set the frequency on.</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="frequency" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The frequency to tune in to.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_norm" c:identifier="gst_tuner_set_norm">
+ <doc xml:whitespace="preserve">Changes the video norm on this tuner to the given norm, which should be
+one of the norms returned by gst_tuner_list_norms().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="norm" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the norm to use for the current channel.</doc>
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="signal_changed" c:identifier="gst_tuner_signal_changed">
+ <doc xml:whitespace="preserve">Called by elements implementing the #GstTuner interface when the
+incoming signal strength changes. Fires the #GstTuner::signal-changed
+signal on the tuner and the #GstTunerChannel::signal-changed signal on
+the channel.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current #GstTunerChannel</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="signal" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new signal strength</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="signal_strength" c:identifier="gst_tuner_signal_strength">
+ <doc xml:whitespace="preserve">Get the strength of the signal on this channel. Note that this
+requires the current channel to be a "tuning" channel, i.e. a
+channel on which frequency can be set. This can be checked using
+GST_TUNER_CHANNEL_HAS_FLAG (), and the appropriate flag to check
+for is GST_TUNER_CHANNEL_FREQUENCY.
+The valid range of the signal strength is indicated in the
+min_signal and max_signal properties of the #GstTunerChannel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Signal strength, or 0 on error.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstTunerChannel to get the signal strength from.</doc>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="channel-changed">
+ <doc xml:whitespace="preserve">Reports that the current #GstTunerChannel has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new configured channel.</doc>
+ <type name="TunerChannel"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="frequency-changed">
+ <doc xml:whitespace="preserve">Reports that the current frequency has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TunerChannel"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gulong"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="norm-changed">
+ <doc xml:whitespace="preserve">Reports that the current #GstTunerNorm has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new configured norm.</doc>
+ <type name="TunerNorm"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="signal-changed">
+ <doc xml:whitespace="preserve">Reports that the signal strength has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The current #GstTunerChannel</doc>
+ <type name="TunerChannel"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new signal strength (an integer)</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <class name="TunerChannel"
+ c:symbol-prefix="tuner_channel"
+ c:type="GstTunerChannel"
+ parent="GObject.Object"
+ glib:type-name="GstTunerChannel"
+ glib:get-type="gst_tuner_channel_get_type"
+ glib:type-struct="TunerChannelClass">
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="label">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="flags">
+ <type name="TunerChannelFlags" c:type="GstTunerChannelFlags"/>
+ </field>
+ <field name="freq_multiplicator">
+ <type name="gfloat" c:type="gfloat"/>
+ </field>
+ <field name="min_frequency">
+ <type name="gulong" c:type="gulong"/>
+ </field>
+ <field name="max_frequency">
+ <type name="gulong" c:type="gulong"/>
+ </field>
+ <field name="min_signal">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_signal">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <glib:signal name="frequency-changed">
+ <doc xml:whitespace="preserve">Reports that the current frequency has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new frequency (an unsigned long)</doc>
+ <type name="gulong"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="signal-changed">
+ <doc xml:whitespace="preserve">Reports that the signal strength has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The new signal strength (an integer)</doc>
+ <type name="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TunerChannelClass"
+ c:type="GstTunerChannelClass"
+ glib:is-gtype-struct-for="TunerChannel">
+ <field name="parent">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="frequency_changed">
+ <callback name="frequency_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="frequency" transfer-ownership="none">
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="signal_changed">
+ <callback name="signal_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="signal" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="TunerChannelFlags"
+ glib:type-name="GstTunerChannelFlags"
+ glib:get-type="gst_tuner_channel_flags_get_type"
+ c:type="GstTunerChannelFlags">
+ <doc xml:whitespace="preserve">An enumeration for flags indicating the available capabilities
+of a #GstTunerChannel.</doc>
+ <member name="input"
+ value="1"
+ c:identifier="GST_TUNER_CHANNEL_INPUT"
+ glib:nick="input"/>
+ <member name="output"
+ value="2"
+ c:identifier="GST_TUNER_CHANNEL_OUTPUT"
+ glib:nick="output"/>
+ <member name="frequency"
+ value="4"
+ c:identifier="GST_TUNER_CHANNEL_FREQUENCY"
+ glib:nick="frequency"/>
+ <member name="audio"
+ value="8"
+ c:identifier="GST_TUNER_CHANNEL_AUDIO"
+ glib:nick="audio"/>
+ </bitfield>
+ <record name="TunerClass" c:type="GstTunerClass">
+ <field name="klass" writable="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="list_channels">
+ <callback name="list_channels">
+ <return-value transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_channel">
+ <callback name="set_channel">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_channel" introspectable="0">
+ <callback name="get_channel" introspectable="0">
+ <return-value>
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="list_norms">
+ <callback name="list_norms">
+ <return-value transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_norm">
+ <callback name="set_norm">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="norm" transfer-ownership="none">
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_norm" introspectable="0">
+ <callback name="get_norm" introspectable="0">
+ <return-value>
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_frequency">
+ <callback name="set_frequency">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="frequency" transfer-ownership="none">
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_frequency">
+ <callback name="get_frequency">
+ <return-value transfer-ownership="none">
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="signal_strength">
+ <callback name="signal_strength">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="channel_changed">
+ <callback name="channel_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="norm_changed">
+ <callback name="norm_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="norm" transfer-ownership="none">
+ <type name="TunerNorm" c:type="GstTunerNorm*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="frequency_changed">
+ <callback name="frequency_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="frequency" transfer-ownership="none">
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="signal_changed">
+ <callback name="signal_changed">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tuner" transfer-ownership="none">
+ <type name="Tuner" c:type="GstTuner*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="TunerChannel" c:type="GstTunerChannel*"/>
+ </parameter>
+ <parameter name="signal" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TunerNorm"
+ c:symbol-prefix="tuner_norm"
+ c:type="GstTunerNorm"
+ parent="GObject.Object"
+ glib:type-name="GstTunerNorm"
+ glib:get-type="gst_tuner_norm_get_type"
+ glib:type-struct="TunerNormClass">
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="label">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="framerate">
+ <type name="GObject.Value" c:type="GValue"/>
+ </field>
+ </class>
+ <record name="TunerNormClass"
+ c:type="GstTunerNormClass"
+ glib:is-gtype-struct-for="TunerNorm">
+ <field name="parent">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <interface name="VideoOrientation"
+ c:symbol-prefix="video_orientation"
+ c:type="GstVideoOrientation"
+ glib:type-name="GstVideoOrientation"
+ glib:get-type="gst_video_orientation_get_type"
+ glib:type-struct="VideoOrientationInterface">
+ <doc xml:whitespace="preserve">Opaque #GstVideoOrientation data structure.</doc>
+ <prerequisite name="Gst.Element"/>
+ <prerequisite name="Gst.ImplementsInterface"/>
+ <virtual-method name="get_hcenter"
+ invoker="get_hcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the horizontal centering offset from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_hflip" invoker="get_hflip" version="0.10.11">
+ <doc xml:whitespace="preserve">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_vcenter"
+ invoker="get_vcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the vertical centering offset from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_vflip" invoker="get_vflip" version="0.10.11">
+ <doc xml:whitespace="preserve">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_hcenter"
+ invoker="set_hcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Set the horizontal centering offset for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_hflip" invoker="set_hflip" version="0.10.11">
+ <doc xml:whitespace="preserve">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_vcenter"
+ invoker="set_vcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Set the vertical centering offset for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_vflip" invoker="set_vflip" version="0.10.11">
+ <doc xml:whitespace="preserve">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_hcenter"
+ c:identifier="gst_video_orientation_get_hcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the horizontal centering offset from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_hflip"
+ c:identifier="gst_video_orientation_get_hflip"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_vcenter"
+ c:identifier="gst_video_orientation_get_vcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the vertical centering offset from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_vflip"
+ c:identifier="gst_video_orientation_get_vflip"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_hcenter"
+ c:identifier="gst_video_orientation_set_hcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Set the horizontal centering offset for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_hflip"
+ c:identifier="gst_video_orientation_set_hflip"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_vcenter"
+ c:identifier="gst_video_orientation_set_vcenter"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Set the vertical centering offset for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_vflip"
+ c:identifier="gst_video_orientation_set_vflip"
+ version="0.10.11">
+ <doc xml:whitespace="preserve">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="VideoOrientationInterface"
+ c:type="GstVideoOrientationInterface"
+ glib:is-gtype-struct-for="VideoOrientation">
+ <doc xml:whitespace="preserve">#GstVideoOrientationInterface interface.</doc>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_hflip">
+ <callback name="get_hflip">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_vflip">
+ <callback name="get_vflip">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_hcenter">
+ <callback name="get_hcenter">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_vcenter">
+ <callback name="get_vcenter">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_hflip">
+ <callback name="set_hflip">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_vflip">
+ <callback name="set_vflip">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_hcenter">
+ <callback name="set_hcenter">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_vcenter">
+ <callback name="set_vcenter">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:whitespace="preserve">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <interface name="XOverlay"
+ c:symbol-prefix="x_overlay"
+ c:type="GstXOverlay"
+ glib:type-name="GstXOverlay"
+ glib:get-type="gst_x_overlay_get_type">
+ <doc xml:whitespace="preserve">Opaque #GstXOverlay data structure.</doc>
+ <prerequisite name="Gst.Element"/>
+ <prerequisite name="Gst.ImplementsInterface"/>
+ </interface>
+ <record name="XOverlayClass" c:type="GstXOverlayClass">
+ <doc xml:whitespace="preserve">#GstXOverlay interface</doc>
+ <field name="klass" writable="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="set_xwindow_id">
+ <callback name="set_xwindow_id">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="xwindow_id" transfer-ownership="none">
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="expose">
+ <callback name="expose">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_events">
+ <callback name="handle_events">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_render_rectangle">
+ <callback name="set_render_rectangle">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_window_handle" introspectable="0">
+ <callback name="set_window_handle" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <type c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function name="interfaces_marshal_VOID__OBJECT_BOOLEAN"
+ c:identifier="gst_interfaces_marshal_VOID__OBJECT_BOOLEAN">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="closure" transfer-ownership="none">
+ <type name="GObject.Closure" c:type="GClosure*"/>
+ </parameter>
+ <parameter name="return_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="n_param_values" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="param_values" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="invocation_hint" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="marshal_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="interfaces_marshal_VOID__OBJECT_INT"
+ c:identifier="gst_interfaces_marshal_VOID__OBJECT_INT">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="closure" transfer-ownership="none">
+ <type name="GObject.Closure" c:type="GClosure*"/>
+ </parameter>
+ <parameter name="return_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="n_param_values" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="param_values" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="invocation_hint" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="marshal_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="interfaces_marshal_VOID__OBJECT_POINTER"
+ c:identifier="gst_interfaces_marshal_VOID__OBJECT_POINTER">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="closure" transfer-ownership="none">
+ <type name="GObject.Closure" c:type="GClosure*"/>
+ </parameter>
+ <parameter name="return_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="n_param_values" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="param_values" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="invocation_hint" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="marshal_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="interfaces_marshal_VOID__OBJECT_STRING"
+ c:identifier="gst_interfaces_marshal_VOID__OBJECT_STRING">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="closure" transfer-ownership="none">
+ <type name="GObject.Closure" c:type="GClosure*"/>
+ </parameter>
+ <parameter name="return_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="n_param_values" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="param_values" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="invocation_hint" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="marshal_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="interfaces_marshal_VOID__OBJECT_ULONG"
+ c:identifier="gst_interfaces_marshal_VOID__OBJECT_ULONG">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="closure" transfer-ownership="none">
+ <type name="GObject.Closure" c:type="GClosure*"/>
+ </parameter>
+ <parameter name="return_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="n_param_values" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="param_values" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="invocation_hint" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="marshal_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mixer_message_get_type"
+ c:identifier="gst_mixer_message_get_type"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Check a bus message to see if it is a GstMixer notification
+message and return the GstMixerMessageType identifying which
+type of notification it is.
+if the message is not a GstMixer notification.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type of the GstMixerMessage, or GST_MIXER_MESSAGE_INVALID</doc>
+ <type name="MixerMessageType" c:type="GstMixerMessageType"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mixer_message_parse_mute_toggled"
+ c:identifier="gst_mixer_message_parse_mute_toggled"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Extracts the contents of a mute-toggled bus message. Reads
+the GstMixerTrack that has changed, and the new value of the mute
+flag.
+The GstMixerTrack remains valid until the message is freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A mute-toggled change notification message.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to hold a GstMixerTrack object, or NULL.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack**"/>
+ </parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to a gboolean variable, or NULL.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mixer_message_parse_option_changed"
+ c:identifier="gst_mixer_message_parse_option_changed"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Extracts the GstMixerOptions and new value from a option-changed bus notification
+message.
+The options and value returned remain valid until the message is freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A volume-changed change notification message.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to hold a GstMixerOptions object, or NULL.</doc>
+ <type name="MixerOptions" c:type="GstMixerOptions**"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result location to receive the new options value, or NULL.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mixer_message_parse_options_list_changed"
+ c:identifier="gst_mixer_message_parse_options_list_changed"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Extracts the GstMixerOptions whose value list has changed from an
+options-list-changed bus notification message.
+The options object returned remains valid until the message is freed. You
+do not need to unref it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A volume-changed change notification message.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to hold a GstMixerOptions object, or NULL.</doc>
+ <type name="MixerOptions" c:type="GstMixerOptions**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mixer_message_parse_record_toggled"
+ c:identifier="gst_mixer_message_parse_record_toggled"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Extracts the contents of a record-toggled bus message. Reads
+the GstMixerTrack that has changed, and the new value of the
+recording flag.
+The GstMixerTrack remains valid until the message is freed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A record-toggled change notification message.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to hold a GstMixerTrack object, or NULL.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack**"/>
+ </parameter>
+ <parameter name="record" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to a gboolean variable, or NULL.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mixer_message_parse_volume_changed"
+ c:identifier="gst_mixer_message_parse_volume_changed"
+ version="0.10.14">
+ <doc xml:whitespace="preserve">Parses a volume-changed notification message and extracts the track object
+it refers to, as well as an array of volumes and the size of the volumes array.
+The track object remains valid until the message is freed.
+The caller must free the array returned in the volumes parameter using g_free
+when they are done with it.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A volume-changed change notification message.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to hold a GstMixerTrack object, or NULL.</doc>
+ <type name="MixerTrack" c:type="GstMixerTrack**"/>
+ </parameter>
+ <parameter name="volumes" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to receive an array of gint values, or NULL.</doc>
+ <type name="gint" c:type="gint**"/>
+ </parameter>
+ <parameter name="num_channels" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Result location to receive the number of channels, or NULL.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_get_type"
+ c:identifier="gst_navigation_event_get_type"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
+#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
+ <return-value transfer-ownership="none">
+ <type name="NavigationEventType" c:type="GstNavigationEventType"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_command"
+ c:identifier="gst_navigation_event_parse_command"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Inspect a #GstNavigation command event and retrieve the enum value of the
+associated command.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="command" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to GstNavigationCommand to receive the type of the navigation event.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_key_event"
+ c:identifier="gst_navigation_event_parse_key_event"
+ version="0.10.23">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to a location to receive the string identifying the key press. The returned string is owned by the event, and valid only until the event is unreffed.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_mouse_button_event"
+ c:identifier="gst_navigation_event_parse_mouse_button_event"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Retrieve the details of either a #GstNavigation mouse button press event or
+a mouse button release event. Determine which type the event is using
+gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.
+otherwise FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the button number and both coordinates could be extracted,</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="button" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a gint that will receive the button number associated with the event.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a gdouble to receive the x coordinate of the mouse button event.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a gdouble to receive the y coordinate of the mouse button event.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_mouse_move_event"
+ c:identifier="gst_navigation_event_parse_mouse_move_event"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Inspect a #GstNavigation mouse movement event and extract the coordinates
+of the event.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a gdouble to receive the x coordinate of the mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a gdouble to receive the y coordinate of the mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_get_type"
+ c:identifier="gst_navigation_message_get_type"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Check a bus message to see if it is a #GstNavigation event, and return
+the #GstNavigationMessageType identifying the type of the message if so.
+#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
+notification.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The type of the #GstNavigationMessage, or</doc>
+ <type name="NavigationMessageType" c:type="GstNavigationMessageType"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_angles_changed"
+ c:identifier="gst_navigation_message_new_angles_changed"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
+that the current angle, or current number of angles available in a
+multiangle video has changed.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The currently selected angle.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of viewing angles now available.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_commands_changed"
+ c:identifier="gst_navigation_message_new_commands_changed"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_mouse_over"
+ c:identifier="gst_navigation_message_new_mouse_over"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the mouse has entered a clickable area of the display. %FALSE if it over a non-clickable area.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_parse_angles_changed"
+ c:identifier="gst_navigation_message_parse_angles_changed"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
+and extract the @cur_angle and @n_angles parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to a #guint to receive the new current angle number, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to a #guint to receive the new angle count, or NULL.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_parse_mouse_over"
+ c:identifier="gst_navigation_message_parse_mouse_over"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
+and extract the active/inactive flag. If the mouse over event is marked
+active, it indicates that the mouse is over a clickable area.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A pointer to a gboolean to receive the active/inactive state, or NULL.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_get_type"
+ c:identifier="gst_navigation_query_get_type"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
+it if it is a #GstNavigation query.
+#GST_NAVIGATION_QUERY_INVALID</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The #GstNavigationQueryType of the query, or</doc>
+ <type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The query to inspect</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_new_angles"
+ c:identifier="gst_navigation_query_new_angles"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstNavigation angles query. When executed, it will
+query the pipeline for the set of currently available angles, which may be
+greater than one in a multiangle video.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new query.</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </return-value>
+ </function>
+ <function name="navigation_query_new_commands"
+ c:identifier="gst_navigation_query_new_commands"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstNavigation commands query. When executed, it will
+query the pipeline for the set of currently available commands.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new query.</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </return-value>
+ </function>
+ <function name="navigation_query_parse_angles"
+ c:identifier="gst_navigation_query_parse_angles"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Parse the current angle number in the #GstNavigation angles @query into the
+#guint pointed to by the @cur_angle variable, and the number of available
+angles into the #guint pointed to by the @n_angles variable.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint into which to store the currently selected angle value from the query, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to a #guint into which to store the number of angles value from the query, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_parse_commands_length"
+ c:identifier="gst_navigation_query_parse_commands_length"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Parse the number of commands in the #GstNavigation commands @query.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of commands in this query.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_parse_commands_nth"
+ c:identifier="gst_navigation_query_parse_commands_nth"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Parse the #GstNavigation command query and retrieve the @nth command from
+it into @cmd. If the list contains less elements than @nth, @cmd will be
+set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the nth command to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="cmd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to store the nth command into.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_set_angles"
+ c:identifier="gst_navigation_query_set_angles"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the #GstNavigation angles query result field in @query.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the current viewing angle to set.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of viewing angles to set.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_set_commands"
+ c:identifier="gst_navigation_query_set_commands"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Set the #GstNavigation command query result fields in @query. The number
+of commands passed must be equal to @n_commands.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of commands to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_set_commandsv"
+ c:identifier="gst_navigation_query_set_commandsv"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the #GstNavigation command query result fields in @query. The number
+of commands passed must be equal to @n_commands.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of commands to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="cmds" transfer-ownership="none">
+ <doc xml:whitespace="preserve">An array containing @n_cmds @GstNavigationCommand values.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="stream_volume_convert_volume"
+ c:identifier="gst_stream_volume_convert_volume"
+ version="0.10.25">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the converted volume</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstStreamVolumeFormat to convert from</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstStreamVolumeFormat to convert to</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Volume in @from format that should be converted</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_expose" c:identifier="gst_x_overlay_expose">
+ <doc xml:whitespace="preserve">Tell an overlay that it has been exposed. This will redraw the current frame
+in the drawable even if the pipeline is PAUSED.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay to expose.</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_got_window_handle"
+ c:identifier="gst_x_overlay_got_window_handle"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This will post a "have-xwindow-id" element message on the bus.
+This function should only be used by video overlay plugin developers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay which got a window</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a platform-specific handle referencing the window</doc>
+ <type c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_got_xwindow_id"
+ c:identifier="gst_x_overlay_got_xwindow_id"
+ deprecated="Use gst_x_overlay_got_window_handle() instead.">
+ <doc xml:whitespace="preserve">This will post a "have-xwindow-id" element message on the bus.
+This function should only be used by video overlay plugin developers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay which got a XWindow.</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="xwindow_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #XID referencing the XWindow.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_handle_events"
+ c:identifier="gst_x_overlay_handle_events"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Tell an overlay that it should handle events from the window system. These
+events are forwared upstream as navigation events. In some window system,
+events are not propagated in the window hierarchy if a client is listening
+for them. This method allows you to disable events handling completely
+from the XOverlay.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay to expose.</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_prepare_xwindow_id"
+ c:identifier="gst_x_overlay_prepare_xwindow_id">
+ <doc xml:whitespace="preserve">This will post a "prepare-xwindow-id" element message on the bus
+to give applications an opportunity to call
+gst_x_overlay_set_xwindow_id() before a plugin creates its own
+window.
+This function should only be used by video overlay plugin developers.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay which does not yet have an XWindow.</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_set_render_rectangle"
+ c:identifier="gst_x_overlay_set_render_rectangle"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Configure a subregion as a video target within the window set by
+gst_x_overlay_set_window_handle(). If this is not used or not supported
+the video will fill the area of the window set as the overlay to 100%.
+By specifying the rectangle, the video can be overlayed to a specific region
+of that window only. After setting the new rectangle one should call
+gst_x_overlay_expose() to force a redraw. To unset the region pass -1 for
+the @width and @height parameters.
+This method is needed for non fullscreen video overlay in UI toolkits that
+do not support subwindows.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%FALSE if not supported by the sink.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the horizontal offset of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the vertical offset of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_set_window_handle"
+ c:identifier="gst_x_overlay_set_window_handle"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">This will call the video overlay's set_window_handle method. You
+should use this method to tell to a XOverlay to display video output to a
+specific XWindow. Passing 0 as the xwindow_id will tell the overlay to
+stop using that window and create an internal one.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay to set the XWindow on.</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <type c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="x_overlay_set_xwindow_id"
+ c:identifier="gst_x_overlay_set_xwindow_id"
+ deprecated="Use gst_x_overlay_set_window_handle() instead.">
+ <doc xml:whitespace="preserve">This will call the video overlay's set_xwindow_id method. You should
+use this method to tell to a XOverlay to display video output to a
+specific XWindow. Passing 0 as the xwindow_id will tell the overlay to
+stop using that window and create an internal one.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstXOverlay to set the XWindow on.</doc>
+ <type name="XOverlay" c:type="GstXOverlay*"/>
+ </parameter>
+ <parameter name="xwindow_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #XID referencing the XWindow.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.c-types alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gobject.ffi gstreamer.ffi ;
+IN: gstreamer.interfaces.ffi
+
+<<
+"gstreamer.interfaces" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstinterfaces-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/interfaces/GstInterfaces-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.interfaces.ffi ;
+IN: gstreamer.interfaces
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-netbuffer-0.10"/>
+ <c:include name="gst/netbuffer/gstnetbuffer.h"/>
+ <namespace name="GstNetbuffer"
+ version="0.10"
+ shared-library="libgstnetbuffer-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <record name="NetAddress" c:type="GstNetAddress">
+ <doc xml:whitespace="preserve">An opaque network address as used in #GstNetBuffer.</doc>
+ <field name="type" writable="1">
+ <type name="NetType" c:type="GstNetType"/>
+ </field>
+ <union name="address" c:type="address">
+ <field name="ip6" writable="1">
+ <array zero-terminated="0" c:type="guint8" fixed-size="16">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="ip4" writable="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ </union>
+ <field name="port" writable="1">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="NetBuffer"
+ c:symbol-prefix="netbuffer"
+ c:type="GstNetBuffer"
+ parent="Gst.Buffer"
+ glib:type-name="GstNetBuffer"
+ glib:get-type="gst_netbuffer_get_type"
+ glib:type-struct="NetBufferClass"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">buffer for use in network sources and sinks.
+It contains the source or destination address of the buffer.</doc>
+ <constructor name="new" c:identifier="gst_netbuffer_new">
+ <doc xml:whitespace="preserve">Create a new network buffer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstNetBuffer.</doc>
+ <type name="NetBuffer" c:type="GstNetBuffer*"/>
+ </return-value>
+ </constructor>
+ <field name="buffer">
+ <type name="Gst.Buffer" c:type="GstBuffer"/>
+ </field>
+ <field name="from">
+ <type name="NetAddress" c:type="GstNetAddress"/>
+ </field>
+ <field name="to">
+ <type name="NetAddress" c:type="GstNetAddress"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="NetBufferClass"
+ c:type="GstNetBufferClass"
+ glib:is-gtype-struct-for="NetBuffer">
+ <field name="buffer_class">
+ <type name="Gst.BufferClass" c:type="GstBufferClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="NetType" c:type="GstNetType">
+ <doc xml:whitespace="preserve">The Address type used in #GstNetAddress.</doc>
+ <member name="unknown" value="0" c:identifier="GST_NET_TYPE_UNKNOWN"/>
+ <member name="ip4" value="1" c:identifier="GST_NET_TYPE_IP4"/>
+ <member name="ip6" value="2" c:identifier="GST_NET_TYPE_IP6"/>
+ </enumeration>
+ <function name="netaddress_equal"
+ c:identifier="gst_netaddress_equal"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Compare two #GstNetAddress structures</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if they are identical, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The first #GstNetAddress</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="naddr2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The second #GstNetAddress</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_get_address_bytes"
+ c:identifier="gst_netaddress_get_address_bytes"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Get just the address bytes stored in @naddr into @address.
+Note that @port is expressed in network byte order, use g_ntohs() to convert
+it to host order. IP4 addresses are also stored in network byte order.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes actually copied</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the result.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the port.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_get_ip4_address"
+ c:identifier="gst_netaddress_get_ip4_address">
+ <doc xml:whitespace="preserve">Get the IPv4 address stored in @naddr into @address. This function requires
+that the address type of @naddr is of type #GST_NET_TYPE_IP4.
+Note that @port and @address are expressed in network byte order, use
+g_ntohs() and g_ntohl() to convert them to host order.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the address could be retrieved.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the address.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the port.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_get_ip6_address"
+ c:identifier="gst_netaddress_get_ip6_address">
+ <doc xml:whitespace="preserve">Get the IPv6 address stored in @naddr into @address.
+If @naddr is of type GST_NET_TYPE_IP4, the transitional IP6 address is
+returned.
+Note that @port is expressed in network byte order, use g_ntohs() to convert
+it to host order.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the address could be retrieved.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the result.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the port.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_get_net_type"
+ c:identifier="gst_netaddress_get_net_type">
+ <doc xml:whitespace="preserve">Get the type of address stored in @naddr.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the network type stored in @naddr.</doc>
+ <type name="NetType" c:type="GstNetType"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_set_address_bytes"
+ c:identifier="gst_netaddress_set_address_bytes"
+ version="0.10.22">
+ <doc xml:whitespace="preserve">Set just the address bytes stored in @naddr into @address.
+Note that @port must be expressed in network byte order, use g_htons() to
+convert it to network byte order order. IP4 address bytes must also be
+stored in network byte order.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of bytes actually copied</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the address type (IPv4 or IPV6)</doc>
+ <type name="NetType" c:type="GstNetType"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the result.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location to store the port.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_set_ip4_address"
+ c:identifier="gst_netaddress_set_ip4_address">
+ <doc xml:whitespace="preserve">Set @naddr with the IPv4 @address and @port pair.
+Note that @port and @address must be expressed in network byte order,
+use g_htons() and g_htonl() to convert them to network byte order.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an IPv4 network address.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a port number to set.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_set_ip6_address"
+ c:identifier="gst_netaddress_set_ip6_address">
+ <doc xml:whitespace="preserve">Set @naddr with the IPv6 @address and @port pair.
+Note that @port must be expressed in network byte order, use g_htons() to convert
+it to network byte order.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network address</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an IPv6 network address.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a port number to set.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="netaddress_to_string"
+ c:identifier="gst_netaddress_to_string"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Copies a string representation of @naddr into @dest. Up to @len bytes are
+copied.
+enough</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bytes which would be produced if the buffer was large</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="naddr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstNetAddress</doc>
+ <type name="NetAddress" c:type="GstNetAddress*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:whitespace="preserve">destination</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">len of @dest</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries combinators kernel system
+gobject-introspection glib.ffi ;
+IN: gstreamer.netbuffer.ffi
+
+<<
+"gstreamer.netbuffer" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstnetbuffer-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/netbuffer/GstNetbuffer-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.netbuffer.ffi ;
+IN: gstreamer.netbuffer
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-pbutils-0.10"/>
+ <c:include name="gst/pbutils/codec-utils.h"/>
+ <c:include name="gst/pbutils/descriptions.h"/>
+ <c:include name="gst/pbutils/encoding-profile.h"/>
+ <c:include name="gst/pbutils/encoding-target.h"/>
+ <c:include name="gst/pbutils/gstdiscoverer.h"/>
+ <c:include name="gst/pbutils/gstpluginsbaseversion.h"/>
+ <c:include name="gst/pbutils/install-plugins.h"/>
+ <c:include name="gst/pbutils/missing-plugins.h"/>
+ <c:include name="gst/pbutils/pbutils-enumtypes.h"/>
+ <c:include name="gst/pbutils/pbutils.h"/>
+ <namespace name="GstPbutils"
+ version="0.10"
+ shared-library="libgstpbutils-0.10.so.0,libgstreamer-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <alias name="DiscovererAudioInfoClass"
+ c:type="GstDiscovererAudioInfoClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="DiscovererContainerInfoClass"
+ c:type="GstDiscovererContainerInfoClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="DiscovererInfoClass" c:type="GstDiscovererInfoClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="DiscovererStreamInfoClass"
+ c:type="GstDiscovererStreamInfoClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="DiscovererVideoInfoClass"
+ c:type="GstDiscovererVideoInfoClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="EncodingAudioProfileClass"
+ c:type="GstEncodingAudioProfileClass">
+ <type name="EncodingProfileClass" c:type="GstEncodingProfileClass"/>
+ </alias>
+ <alias name="EncodingContainerProfileClass"
+ c:type="GstEncodingContainerProfileClass">
+ <type name="EncodingProfileClass" c:type="GstEncodingProfileClass"/>
+ </alias>
+ <alias name="EncodingProfileClass" c:type="GstEncodingProfileClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="EncodingTargetClass" c:type="GstEncodingTargetClass">
+ <type name="Gst.MiniObjectClass" c:type="GstMiniObjectClass"/>
+ </alias>
+ <alias name="EncodingVideoProfileClass"
+ c:type="GstEncodingVideoProfileClass">
+ <type name="EncodingProfileClass" c:type="GstEncodingProfileClass"/>
+ </alias>
+ <class name="Discoverer"
+ c:symbol-prefix="discoverer"
+ c:type="GstDiscoverer"
+ version="0.10.31"
+ parent="GObject.Object"
+ glib:type-name="GstDiscoverer"
+ glib:get-type="gst_discoverer_get_type"
+ glib:type-struct="DiscovererClass">
+ <doc xml:whitespace="preserve">The #GstDiscoverer structure.</doc>
+ <constructor name="new"
+ c:identifier="gst_discoverer_new"
+ version="0.10.31"
+ throws="1">
+ <doc xml:whitespace="preserve">Creates a new #GstDiscoverer with the provided timeout.
+If an error occurred when creating the discoverer, @err will be set
+accordingly and %NULL will be returned. If @err is set, the caller must
+free it when no longer needed using g_error_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The new #GstDiscoverer.</doc>
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">timeout per file, in nanoseconds. Allowed are values between one second (#GST_SECOND) and one hour (3600 * #GST_SECOND)</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="discover_uri"
+ c:identifier="gst_discoverer_discover_uri"
+ version="0.10.31"
+ throws="1">
+ <doc xml:whitespace="preserve">Synchronously discovers the given @uri.
+A copy of @uri will be made internally, so the caller can safely g_free()
+afterwards.
+error occurred.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the result of the scanning. Can be %NULL if an</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The URI to run on.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="discover_uri_async"
+ c:identifier="gst_discoverer_discover_uri_async"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Appends the given @uri to the list of URIs to discoverer. The actual
+discovery of the @uri will only take place if gst_discoverer_start() has
+been called.
+A copy of @uri will be made internally, so the caller can safely g_free()
+afterwards.
+uris, else %FALSE</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the @uri was succesfully appended to the list of pending</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI to add.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start"
+ c:identifier="gst_discoverer_start"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Allow asynchronous discovering of URIs to take place.
+A #GMainLoop must be available for #GstDiscoverer to properly work in
+asynchronous mode.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="stop" c:identifier="gst_discoverer_stop" version="0.10.31">
+ <doc xml:whitespace="preserve">Stop the discovery of any pending URIs and clears the list of
+pending URIS (if any).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <property name="timeout"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="guint64"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv">
+ <type name="DiscovererPrivate" c:type="GstDiscovererPrivate*"/>
+ </field>
+ <field name="_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="discovered">
+ <doc xml:whitespace="preserve">Will be emitted when all information on a URI could be discovered.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the results #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GError, which will be non-NULL if an error occurred during discovery</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="finished">
+ <doc xml:whitespace="preserve">Will be emitted when all pending URIs have been processed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="starting">
+ <doc xml:whitespace="preserve">Will be emitted when the discover starts analyzing the pending URIs</doc>
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <class name="DiscovererAudioInfo"
+ c:symbol-prefix="discoverer_audio_info"
+ c:type="GstDiscovererAudioInfo"
+ version="0.10.31"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererAudioInfo"
+ glib:get-type="gst_discoverer_audio_info_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">#GstDiscovererStreamInfo specific to audio streams.</doc>
+ <method name="get_bitrate"
+ c:identifier="gst_discoverer_audio_info_get_bitrate"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the average or nominal bitrate of the stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_channels"
+ c:identifier="gst_discoverer_audio_info_get_channels"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of channels in the stream.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_depth"
+ c:identifier="gst_discoverer_audio_info_get_depth"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bits used per sample in each channel.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_max_bitrate"
+ c:identifier="gst_discoverer_audio_info_get_max_bitrate"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum bitrate of the stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_sample_rate"
+ c:identifier="gst_discoverer_audio_info_get_sample_rate"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sample rate of the stream in Hertz.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ </class>
+ <record name="DiscovererClass"
+ c:type="GstDiscovererClass"
+ glib:is-gtype-struct-for="Discoverer">
+ <field name="parentclass">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="finished">
+ <callback name="finished">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="starting">
+ <callback name="starting">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="discovered">
+ <callback name="discovered">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </parameter>
+ <parameter name="err" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="DiscovererContainerInfo"
+ c:symbol-prefix="discoverer_container_info"
+ c:type="GstDiscovererContainerInfo"
+ version="0.10.31"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererContainerInfo"
+ glib:get-type="gst_discoverer_container_info_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">#GstDiscovererStreamInfo specific to container streams.</doc>
+ <method name="get_streams"
+ c:identifier="gst_discoverer_container_info_get_streams"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">#GstDiscovererStreamInfo this container stream offers.
+Free with gst_discoverer_stream_info_list_free() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the list of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ </method>
+ </class>
+ <class name="DiscovererInfo"
+ c:symbol-prefix="discoverer_info"
+ c:type="GstDiscovererInfo"
+ version="0.10.31"
+ parent="Gst.MiniObject"
+ glib:type-name="GstDiscovererInfo"
+ glib:get-type="gst_discoverer_info_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Structure containing the information of a URI analyzed by #GstDiscoverer.</doc>
+ <method name="copy"
+ c:identifier="gst_discoverer_info_copy"
+ introspectable="0">
+ <return-value>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ </method>
+ <method name="get_audio_streams"
+ c:identifier="gst_discoverer_info_get_audio_streams"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Finds all the #GstDiscovererAudioInfo contained in @info
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_container_streams"
+ c:identifier="gst_discoverer_info_get_container_streams"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Finds all the #GstDiscovererContainerInfo contained in @info
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_duration"
+ c:identifier="gst_discoverer_info_get_duration"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the duration of the URI in #GstClockTime (nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </method>
+ <method name="get_misc"
+ c:identifier="gst_discoverer_info_get_misc"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">(for example: information about missing plugins). If you wish to use the
+#GstStructure after the life-time of @info, you will need to copy it.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Miscellaneous information stored as a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="get_result"
+ c:identifier="gst_discoverer_info_get_result"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result of the discovery as a #GstDiscovererResult.</doc>
+ <type name="DiscovererResult" c:type="GstDiscovererResult"/>
+ </return-value>
+ </method>
+ <method name="get_seekable"
+ c:identifier="gst_discoverer_info_get_seekable"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the wheter the URI is seekable.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_stream_info"
+ c:identifier="gst_discoverer_info_get_stream_info"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">#GstDiscovererStreamInfo.
+This structure can be traversed to see the original hierarchy. Unref with
+gst_discoverer_stream_info_unref() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the structure (or topology) of the URI as a</doc>
+ <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ </method>
+ <method name="get_stream_list"
+ c:identifier="gst_discoverer_info_get_stream_list"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">all streams contained in the #info. Free after usage
+with gst_discoverer_stream_info_list_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the list of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="get_streams"
+ c:identifier="gst_discoverer_info_get_streams"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Finds the #GstDiscovererStreamInfo contained in @info that match the
+given @streamtype.
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="streamtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GType derived from #GstDiscovererStreamInfo</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tags"
+ c:identifier="gst_discoverer_info_get_tags"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">the tags after the life-time of @info, you will need to copy them.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">all tags contained in the %URI. If you wish to use</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ </method>
+ <method name="get_uri"
+ c:identifier="gst_discoverer_info_get_uri"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Copy it if you wish to use it after the life-time of @info.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI to which this information corresponds to.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_video_streams"
+ c:identifier="gst_discoverer_info_get_video_streams"
+ version="0.10.31"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Finds all the #GstDiscovererVideoInfo contained in @info
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A #GList of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ </method>
+ </class>
+ <record name="DiscovererPrivate"
+ c:type="GstDiscovererPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="DiscovererResult"
+ version="0.10.31"
+ glib:type-name="GstDiscovererResult"
+ glib:get-type="gst_discoverer_result_get_type"
+ c:type="GstDiscovererResult">
+ <doc xml:whitespace="preserve">Result values for the discovery process.</doc>
+ <member name="ok"
+ value="0"
+ c:identifier="GST_DISCOVERER_OK"
+ glib:nick="ok"/>
+ <member name="uri_invalid"
+ value="1"
+ c:identifier="GST_DISCOVERER_URI_INVALID"
+ glib:nick="uri-invalid"/>
+ <member name="error"
+ value="2"
+ c:identifier="GST_DISCOVERER_ERROR"
+ glib:nick="error"/>
+ <member name="timeout"
+ value="3"
+ c:identifier="GST_DISCOVERER_TIMEOUT"
+ glib:nick="timeout"/>
+ <member name="busy"
+ value="4"
+ c:identifier="GST_DISCOVERER_BUSY"
+ glib:nick="busy"/>
+ <member name="missing_plugins"
+ value="5"
+ c:identifier="GST_DISCOVERER_MISSING_PLUGINS"
+ glib:nick="missing-plugins"/>
+ </enumeration>
+ <class name="DiscovererStreamInfo"
+ c:symbol-prefix="discoverer_stream_info"
+ c:type="GstDiscovererStreamInfo"
+ version="0.10.31"
+ parent="Gst.MiniObject"
+ glib:type-name="GstDiscovererStreamInfo"
+ glib:get-type="gst_discoverer_stream_info_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Base structure for information concerning a media stream. Depending on the
+stream type, one can find more media-specific information in
+#GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and
+#GstDiscovererContainerInfo.
+The #GstDiscovererStreamInfo represents the topology of the stream. Siblings
+can be iterated over with gst_discoverer_stream_info_get_next() and
+gst_discoverer_stream_info_get_previous(). Children (sub-streams) of a
+stream can be accessed using the #GstDiscovererContainerInfo API.
+As a simple example, if you run #GstDiscoverer on an AVI file with one audio
+and one video stream, you will get a #GstDiscovererContainerInfo
+corresponding to the AVI container, which in turn will have a
+#GstDiscovererAudioInfo sub-stream and a #GstDiscovererVideoInfo sub-stream
+for the audio and video streams respectively.</doc>
+ <function name="list_free"
+ c:identifier="gst_discoverer_stream_info_list_free">
+ <doc xml:whitespace="preserve">Decrements the reference count of all contained #GstDiscovererStreamInfo
+and fress the #GList.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="infos" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GList of #GstDiscovererStreamInfo</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_caps"
+ c:identifier="gst_discoverer_stream_info_get_caps"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">#gst_caps_unref after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstCaps of the stream. Unref with</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_misc"
+ c:identifier="gst_discoverer_stream_info_get_misc"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">example codec version, profile, etc..). If you wish to use the #GstStructure
+after the life-time of @info you will need to copy it.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">additional information regarding the stream (for</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ </method>
+ <method name="get_next"
+ c:identifier="gst_discoverer_stream_info_get_next"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">for final streams.
+Unref with #gst_discoverer_stream_info_unref after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the next #GstDiscovererStreamInfo in a chain. %NULL</doc>
+ <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ </method>
+ <method name="get_previous"
+ c:identifier="gst_discoverer_stream_info_get_previous"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">%NULL for starting points. Unref with #gst_discoverer_stream_info_unref
+after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the previous #GstDiscovererStreamInfo in a chain.</doc>
+ <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ </method>
+ <method name="get_stream_type_nick"
+ c:identifier="gst_discoverer_stream_info_get_stream_type_nick"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">"container",...).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a human readable name for the stream type of the given @info (ex : "audio",</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_tags"
+ c:identifier="gst_discoverer_stream_info_get_tags"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">use the tags after the life-time of @info you will need to copy them.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the tags contained in this stream. If you wish to</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ </method>
+ </class>
+ <class name="DiscovererVideoInfo"
+ c:symbol-prefix="discoverer_video_info"
+ c:type="GstDiscovererVideoInfo"
+ version="0.10.31"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererVideoInfo"
+ glib:get-type="gst_discoverer_video_info_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">#GstDiscovererStreamInfo specific to video streams (this includes images).</doc>
+ <method name="get_bitrate"
+ c:identifier="gst_discoverer_video_info_get_bitrate"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the average or nominal bitrate of the video stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_depth"
+ c:identifier="gst_discoverer_video_info_get_depth"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the depth in bits of the video stream.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_framerate_denom"
+ c:identifier="gst_discoverer_video_info_get_framerate_denom"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the framerate of the video stream (denominator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_framerate_num"
+ c:identifier="gst_discoverer_video_info_get_framerate_num"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the framerate of the video stream (numerator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_height"
+ c:identifier="gst_discoverer_video_info_get_height"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of the video stream in pixels.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_max_bitrate"
+ c:identifier="gst_discoverer_video_info_get_max_bitrate"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum bitrate of the video stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_par_denom"
+ c:identifier="gst_discoverer_video_info_get_par_denom"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the Pixel Aspect Ratio (PAR) of the video stream (denominator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_par_num"
+ c:identifier="gst_discoverer_video_info_get_par_num"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the Pixel Aspect Ratio (PAR) of the video stream (numerator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_width"
+ c:identifier="gst_discoverer_video_info_get_width"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of the video stream in pixels.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="is_image"
+ c:identifier="gst_discoverer_video_info_is_image"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">one frame).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the video stream corresponds to an image (i.e. only contains</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="is_interlaced"
+ c:identifier="gst_discoverer_video_info_is_interlaced"
+ version="0.10.31">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the stream is interlaced, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ </class>
+ <constant name="ENCODING_CATEGORY_CAPTURE" value="capture">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_DEVICE" value="device">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_ONLINE_SERVICE" value="online-service">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_STORAGE_EDITING" value="storage-editing">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="EncodingAudioProfile"
+ c:symbol-prefix="encoding_audio_profile"
+ c:type="GstEncodingAudioProfile"
+ version="0.10.32"
+ parent="EncodingProfile"
+ glib:type-name="GstEncodingAudioProfile"
+ glib:get-type="gst_encoding_audio_profile_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Variant of #GstEncodingProfile for audio streams.</doc>
+ <constructor name="new"
+ c:identifier="gst_encoding_audio_profile_new"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Creates a new #GstEncodingAudioProfile
+All provided allocatable arguments will be internally copied, so can be
+safely freed/unreferenced after calling this method.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstEncodingAudioProfile.</doc>
+ <type name="EncodingAudioProfile" c:type="GstEncodingAudioProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the preset(s) to use on the encoder, can be #NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="restriction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of time this stream must be used. 0 means any number of times (including never)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ </class>
+ <class name="EncodingContainerProfile"
+ c:symbol-prefix="encoding_container_profile"
+ c:type="GstEncodingContainerProfile"
+ version="0.10.32"
+ parent="EncodingProfile"
+ glib:type-name="GstEncodingContainerProfile"
+ glib:get-type="gst_encoding_container_profile_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile</doc>
+ <constructor name="new"
+ c:identifier="gst_encoding_container_profile_new"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Creates a new #GstEncodingContainerProfile.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The newly created #GstEncodingContainerProfile.</doc>
+ <type name="EncodingContainerProfile"
+ c:type="GstEncodingContainerProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the container profile, can be %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The description of the container profile, can be %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The format to use for this profile</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The preset to use for this profile</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_profile"
+ c:identifier="gst_encoding_container_profile_add_profile"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Add a #GstEncodingProfile to the list of profiles handled by @container.
+No copy of @profile will be made, if you wish to use it elsewhere after this
+method you should increment its reference count.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the @stream was properly added, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstEncodingProfile to add.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="contains_profile"
+ c:identifier="gst_encoding_container_profile_contains_profile"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Checks if @container contains a #GstEncodingProfile identical to
+to @profile, else %FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @container contains a #GstEncodingProfile identical</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_profiles"
+ c:identifier="gst_encoding_container_profile_get_profiles">
+ <return-value transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ </method>
+ </class>
+ <class name="EncodingProfile"
+ c:symbol-prefix="encoding_profile"
+ c:type="GstEncodingProfile"
+ version="0.10.32"
+ parent="Gst.MiniObject"
+ glib:type-name="GstEncodingProfile"
+ glib:get-type="gst_encoding_profile_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">The opaque base class object for all encoding profiles. This contains generic
+information like name, description, format and preset.</doc>
+ <function name="find"
+ c:identifier="gst_encoding_profile_find"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Find the #GstEncodingProfile with the specified name and category.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The matching #GstEncodingProfile or %NULL.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="targetname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the target</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="profilename" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the profile</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="category" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">The target category. Can be %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_description"
+ c:identifier="gst_encoding_profile_get_description"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description of the profile, can be %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_format"
+ c:identifier="gst_encoding_profile_get_format"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps corresponding to the media format used in the profile.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_input_caps"
+ c:identifier="gst_encoding_profile_get_input_caps"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Computes the full output caps that this @profile will be able to consume.
+when you are done with the caps.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The full caps the given @profile can consume. Call gst_caps_unref()</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_name"
+ c:identifier="gst_encoding_profile_get_name"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the profile, can be %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_presence"
+ c:identifier="gst_encoding_profile_get_presence"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">container profile. If 0, it is not a mandatory stream.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of times the profile is used in its parent</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_preset"
+ c:identifier="gst_encoding_profile_get_preset"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the #GstPreset to be used in the profile.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_restriction"
+ c:identifier="gst_encoding_profile_get_restriction"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">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. Does not apply to
+#GstEncodingContainerProfile (since there is no corresponding raw stream).
+Can be %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The restriction #GstCaps to apply before the encoder</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </method>
+ <method name="get_type_nick"
+ c:identifier="gst_encoding_profile_get_type_nick"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the human-readable name of the type of @profile.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="is_equal"
+ c:identifier="gst_encoding_profile_is_equal"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Checks whether the two #GstEncodingProfile are equal</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @a and @b are equal, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="b" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_description"
+ c:identifier="gst_encoding_profile_set_description"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Set @description as the given description for the @profile. A copy of @description will be made
+internally.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the description to set on the profile</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_format"
+ c:identifier="gst_encoding_profile_set_format"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Sets the media format used in the profile.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media format to use in the profile.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name"
+ c:identifier="gst_encoding_profile_set_name"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Set @name as the given name for the @profile. A copy of @name will be made
+internally.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name to set on the profile</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_presence"
+ c:identifier="gst_encoding_profile_set_presence"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Set the number of time the profile is used in its parent
+container profile. If 0, it is not a mandatory stream</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of time the profile can be used</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_preset"
+ c:identifier="gst_encoding_profile_set_preset"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Sets the preset to use for the profile.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the element preset to use</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_restriction"
+ c:identifier="gst_encoding_profile_set_restriction"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Set the restriction #GstCaps to apply before the encoder
+that will be used in the profile. See gst_encoding_profile_set_restriction()
+for more about restrictions. Does not apply to #GstEncodingContainerProfile.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="restriction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the restriction to apply</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <class name="EncodingTarget"
+ c:symbol-prefix="encoding_target"
+ c:type="GstEncodingTarget"
+ version="0.10.32"
+ parent="Gst.MiniObject"
+ glib:type-name="GstEncodingTarget"
+ glib:get-type="gst_encoding_target_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Collection of #GstEncodingProfile for a specific target or use-case.
+When being stored/loaded, targets come from a specific category, like
+#GST_ENCODING_CATEGORY_DEVICE.</doc>
+ <constructor name="new"
+ c:identifier="gst_encoding_target_new"
+ version="0.10.32"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new #GstEncodingTarget.
+The name and category can only consist of lowercase ASCII letters for the
+first character, followed by either lowercase ASCII letters, digits or
+hyphens ('-').
+The @category <emphasis>should</emphasis> be one of the existing
+well-defined categories, like #GST_ENCODING_CATEGORY_DEVICE, but it
+<emphasis>can</emphasis> be a application or user specific category if
+needed.
+there was an error.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The newly created #GstEncodingTarget or %NULL if</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the target.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the category to which this @target belongs. For example: #GST_ENCODING_CATEGORY_DEVICE.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A description of #GstEncodingTarget in the current locale.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="profiles" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GList of #GstEncodingProfile.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.EncodingProfile"/>
+ </type>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="load"
+ c:identifier="gst_encoding_target_load"
+ version="0.10.32"
+ throws="1">
+ <doc xml:whitespace="preserve">Searches for the #GstEncodingTarget with the given name, loads it
+and returns it.
+If the category name is specified only targets from that category will be
+searched for.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The #GstEncodingTarget if available, else %NULL.</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the #GstEncodingTarget to load.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="category" transfer-ownership="none" allow-none="1">
+ <doc xml:whitespace="preserve">the name of the target category, like #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="load_from_file"
+ c:identifier="gst_encoding_target_load_from_file"
+ version="0.10.32"
+ throws="1">
+ <doc xml:whitespace="preserve">Opens the provided file and returns the contained #GstEncodingTarget.
+%NULL</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The #GstEncodingTarget contained in the file, else</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filepath" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The file location to load the #GstEncodingTarget from</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="add_profile"
+ c:identifier="gst_encoding_target_add_profile"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Adds the given @profile to the @target. Each added profile must have
+a unique name within the profile.
+The @target will steal a reference to the @profile. If you wish to use
+the profile after calling this method, you should increase its reference
+count.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the profile was added, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile" transfer-ownership="full">
+ <doc xml:whitespace="preserve">the #GstEncodingProfile to add</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_category"
+ c:identifier="gst_encoding_target_get_category"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">#GST_ENCODING_CATEGORY_DEVICE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The category of the @target. For example:</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_description"
+ c:identifier="gst_encoding_target_get_description"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The description of the @target.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_name"
+ c:identifier="gst_encoding_target_get_name"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The name of the @target.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_profile"
+ c:identifier="gst_encoding_target_get_profile"
+ version="0.10.32">
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The matching #GstEncodingProfile, or %NULL.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the profile to retrieve</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_profiles"
+ c:identifier="gst_encoding_target_get_profiles"
+ version="0.10.32"
+ introspectable="0">
+ <doc xml:whitespace="preserve">#GstEncodingProfile(s) this @target handles.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A list of</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.EncodingProfile"/>
+ </type>
+ </return-value>
+ </method>
+ <method name="save"
+ c:identifier="gst_encoding_target_save"
+ version="0.10.32"
+ throws="1">
+ <doc xml:whitespace="preserve">Saves the @target to a default user-local directory.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the target was correctly saved, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="save_to_file"
+ c:identifier="gst_encoding_target_save_to_file"
+ version="0.10.32"
+ throws="1">
+ <doc xml:whitespace="preserve">Saves the @target to the provided file location.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the target was correctly saved, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filepath" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the location to store the @target at.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <class name="EncodingVideoProfile"
+ c:symbol-prefix="encoding_video_profile"
+ c:type="GstEncodingVideoProfile"
+ version="0.10.32"
+ parent="EncodingProfile"
+ glib:type-name="GstEncodingVideoProfile"
+ glib:get-type="gst_encoding_video_profile_get_type"
+ glib:fundamental="1">
+ <doc xml:whitespace="preserve">Variant of #GstEncodingProfile for video streams, allows specifying the @pass.</doc>
+ <constructor name="new"
+ c:identifier="gst_encoding_video_profile_new"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Creates a new #GstEncodingVideoProfile
+All provided allocatable arguments will be internally copied, so can be
+safely freed/unreferenced after calling this method.
+If you wish to control the pass number (in case of multi-pass scenarios),
+please refer to the gst_encoding_video_profile_set_pass() documentation.
+If you wish to use/force a constant framerate please refer to the
+gst_encoding_video_profile_set_variableframerate() documentation.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">the newly created #GstEncodingVideoProfile.</doc>
+ <type name="EncodingVideoProfile" c:type="GstEncodingVideoProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the preset(s) to use on the encoder, can be #NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="restriction" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of time this stream must be used. 0 means any number of times (including never)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_pass"
+ c:identifier="gst_encoding_video_profile_get_pass"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">1 for multi-pass. 0 if this is not a multi-pass profile</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The pass number if this is part of a multi-pass profile. Starts at</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_variableframerate"
+ c:identifier="gst_encoding_video_profile_get_variableframerate"
+ version="0.10.32">
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">Whether non-constant video framerate is allowed for encoding.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="set_pass"
+ c:identifier="gst_encoding_video_profile_set_pass"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Sets the pass number of this video profile. The first pass profile should have
+this value set to 1. If this video profile isn't part of a multi-pass profile,
+you may set it to 0 (the default value).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pass" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the pass number for this profile</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_variableframerate"
+ c:identifier="gst_encoding_video_profile_set_variableframerate"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">If set to %TRUE, then the incoming streamm will be allowed to have non-constant
+framerate. If set to %FALSE (default value), then the incoming stream will
+be normalized by dropping/duplicating frames in order to produce a
+constance framerate.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="variableframerate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a boolean</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext"
+ version="0.10.12"
+ glib:type-name="GstInstallPluginsContext"
+ glib:get-type="gst_install_plugins_context_get_type"
+ c:symbol-prefix="install_plugins_context">
+ <doc xml:whitespace="preserve">Opaque context structure for the plugin installation. Use the provided
+API to set details on it.</doc>
+ <constructor name="new"
+ c:identifier="gst_install_plugins_context_new"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Creates a new #GstInstallPluginsContext.
+gst_install_plugins_context_free() when no longer needed</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstInstallPluginsContext. Free with</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </return-value>
+ </constructor>
+ <method name="free"
+ c:identifier="gst_install_plugins_context_free"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Frees a #GstInstallPluginsContext.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_xid"
+ c:identifier="gst_install_plugins_context_set_xid"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">This function is for X11-based applications (such as most Gtk/Qt
+applications on linux/unix) only. You can use it to tell the external
+installer the XID of your main application window. That way the installer
+can make its own window transient to your application window during the
+installation.
+If set, the XID will be passed to the installer via a --transient-for=XID
+command line option.
+Gtk+/Gnome application should be able to obtain the XID of the top-level
+window like this:
+<programlisting>
+##include &lt;gtk/gtk.h&gt;
+##ifdef GDK_WINDOWING_X11
+##include &lt;gdk/gdkx.h&gt;
+##endif
+...
+##ifdef GDK_WINDOWING_X11
+xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&gt;window);
+##endif
+...
+</programlisting></doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="xid" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the XWindow ID (XID) of the top-level application</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="InstallPluginsResultFunc"
+ c:type="GstInstallPluginsResultFunc"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">The prototype of the callback function that will be called once the
+external plugin installer program has returned. You only need to provide
+a callback function if you are using the asynchronous interface.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether the installation of the requested plugins succeeded or not</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <doc xml:whitespace="preserve">the user data passed to gst_install_plugins_async()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="InstallPluginsReturn"
+ version="0.10.12"
+ glib:type-name="GstInstallPluginsReturn"
+ glib:get-type="gst_install_plugins_return_get_type"
+ c:type="GstInstallPluginsReturn">
+ <doc xml:whitespace="preserve">Result codes returned by gst_install_plugins_async() and
+gst_install_plugins_sync(), and also the result code passed to the
+#GstInstallPluginsResultFunc specified with gst_install_plugin_async().
+These codes indicate success or failure of starting an external installer
+program and to what extent the requested plugins could be installed.</doc>
+ <member name="success"
+ value="0"
+ c:identifier="GST_INSTALL_PLUGINS_SUCCESS"
+ glib:nick="success"/>
+ <member name="not_found"
+ value="1"
+ c:identifier="GST_INSTALL_PLUGINS_NOT_FOUND"
+ glib:nick="not-found"/>
+ <member name="error"
+ value="2"
+ c:identifier="GST_INSTALL_PLUGINS_ERROR"
+ glib:nick="error"/>
+ <member name="partial_success"
+ value="3"
+ c:identifier="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS"
+ glib:nick="partial-success"/>
+ <member name="user_abort"
+ value="4"
+ c:identifier="GST_INSTALL_PLUGINS_USER_ABORT"
+ glib:nick="user-abort"/>
+ <member name="crashed"
+ value="100"
+ c:identifier="GST_INSTALL_PLUGINS_CRASHED"
+ glib:nick="crashed"/>
+ <member name="invalid"
+ value="101"
+ c:identifier="GST_INSTALL_PLUGINS_INVALID"
+ glib:nick="invalid"/>
+ <member name="started_ok"
+ value="200"
+ c:identifier="GST_INSTALL_PLUGINS_STARTED_OK"
+ glib:nick="started-ok"/>
+ <member name="internal_failure"
+ value="201"
+ c:identifier="GST_INSTALL_PLUGINS_INTERNAL_FAILURE"
+ glib:nick="internal-failure"/>
+ <member name="helper_missing"
+ value="202"
+ c:identifier="GST_INSTALL_PLUGINS_HELPER_MISSING"
+ glib:nick="helper-missing"/>
+ <member name="install_in_progress"
+ value="203"
+ c:identifier="GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS"
+ glib:nick="install-in-progress"/>
+ </enumeration>
+ <constant name="PLUGINS_BASE_VERSION_MAJOR" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PLUGINS_BASE_VERSION_MICRO" value="32">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PLUGINS_BASE_VERSION_MINOR" value="10">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PLUGINS_BASE_VERSION_NANO" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="codec_utils_aac_caps_set_level_and_profile"
+ c:identifier="gst_codec_utils_aac_caps_set_level_and_profile"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Sets the level and profile on @caps if it can be determined from
+gst_codec_utils_aac_get_profile() for more details on the parameters.
+If mpegversion is 4, the "base-profile" field is also set in @caps.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to which level and profile fields are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see below for a more details).</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_level"
+ c:identifier="gst_codec_utils_aac_get_level"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC
+streams, the constraints from the AAC audio profile are applied. For AAC
+Main, LTP, SSR and others, the Main profile is used.
+The @audio_config parameter follows the following format, starting from the
+most significant bit of the first byte:
+<itemizedlist>
+<listitem><para>
+Bit 0:4 contains the AudioObjectType
+</para></listitem>
+<listitem><para>
+Bit 5:8 contains the sample frequency index (if this is 0xf, then the
+next 24 bits define the actual sample frequency, and subsequent
+fields are appropriately shifted).
+</para></listitem>
+<listitem><para>
+Bit 9:12 contains the channel configuration
+</para></listitem>
+</itemizedlist>
+<note>
+HE-AAC support has not yet been implemented.
+</note>
+determined.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The level as a const string and %NULL if the level could not be</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_profile"
+ c:identifier="gst_codec_utils_aac_get_profile"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Returns the profile of the given AAC stream as a string. The profile is
+determined using the AudioObjectType field which is in the first 5 bits of
+<note>
+HE-AAC support has not yet been implemented.
+</note>
+determined.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The profile as a const string and %NULL if the profile could not be</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see gst_codec_utils_aac_get_level() for a more details).</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_sample_rate_from_index"
+ c:identifier="gst_codec_utils_aac_get_sample_rate_from_index"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Translates the sample rate index found in AAC headers to the actual sample
+rate.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The sample rate if @sr_idx is valid, 0 otherwise.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sr_idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Sample rate index as from the AudioSpecificConfig (MPEG-4 container) or ADTS frame header</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_caps_set_level_and_profile"
+ c:identifier="gst_codec_utils_h264_caps_set_level_and_profile"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Sets the level and profile in @caps if it can be determined from @sps. See
+gst_codec_utils_h264_get_level() and gst_codec_utils_h264_get_profile()
+for more details on the parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to which the level and profile are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="sps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to the sequence parameter set for the stream.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_get_level"
+ c:identifier="gst_codec_utils_h264_get_level"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Converts the level indication (level_idc) in the stream's
+sequence parameter set into a string. The SPS is expected to have the
+same format as for gst_codec_utils_h264_get_profile().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The level as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to the sequence parameter set for the stream.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_get_profile"
+ c:identifier="gst_codec_utils_h264_get_profile"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Converts the profile indication (profile_idc) in the stream's
+sequence parameter set into a string. The SPS is expected to have the
+following format, as defined in the H.264 specification. The SPS is viewed
+as a bitstream here, with bit 0 being the most significant bit of the first
+byte.
+<itemizedlist>
+<listitem><para>Bit 0:7 - Profile indication</para></listitem>
+<listitem><para>Bit 8 - constraint_set0_flag</para></listitem>
+<listitem><para>Bit 9 - constraint_set1_flag</para></listitem>
+<listitem><para>Bit 10 - constraint_set2_flag</para></listitem>
+<listitem><para>Bit 11 - constraint_set3_flag</para></listitem>
+<listitem><para>Bit 12 - constraint_set3_flag</para></listitem>
+<listitem><para>Bit 13:15 - Reserved</para></listitem>
+<listitem><para>Bit 16:24 - Level indication</para></listitem>
+</itemizedlist></doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The profile as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to the sequence parameter set for the stream.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_mpeg4video_caps_set_level_and_profile"
+ c:identifier="gst_codec_utils_mpeg4video_caps_set_level_and_profile"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Sets the level and profile in @caps if it can be determined from
+gst_codec_utils_mpeg4video_get_profile() for more details on the
+parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to which the level and profile are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="vis_obj_seq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to the visual object sequence for the stream.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_mpeg4video_get_level"
+ c:identifier="gst_codec_utils_mpeg4video_get_level"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Converts the level indication in the stream's visual object sequence into
+a string. @vis_obj_seq is expected to be the data following the visual
+object sequence start code. Only the first byte
+(profile_and_level_indication) is used.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The level as a const string, or NULL if there is an error.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vis_obj_seq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to the visual object sequence for the stream.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_mpeg4video_get_profile"
+ c:identifier="gst_codec_utils_mpeg4video_get_profile"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Converts the profile indication in the stream's visual object sequence into
+a string. @vis_obj_seq is expected to be the data following the visual
+object sequence start code. Only the first byte
+(profile_and_level_indication) is used.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The profile as a const string, or NULL if there is an error.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vis_obj_seq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Pointer to the visual object sequence for the stream.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="encoding_list_all_targets"
+ c:identifier="gst_encoding_list_all_targets"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">List all available #GstEncodingTarget for the specified category, or all categories
+if @categoryname is %NULL.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The list of #GstEncodingTarget</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="EncodingTarget"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="categoryname"
+ transfer-ownership="none"
+ allow-none="1">
+ <doc xml:whitespace="preserve">The category, for ex: #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="encoding_list_available_categories"
+ c:identifier="gst_encoding_list_available_categories"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Lists all #GstEncodingTarget categories present on disk.
+of #GstEncodingTarget categories.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A list</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ </function>
+ <function name="install_plugins_async"
+ c:identifier="gst_install_plugins_async"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Requests plugin installation without blocking. Once the plugins have been
+installed or installation has failed, @func will be called with the result
+of the installation and your provided @user_data pointer.
+This function requires a running GLib/Gtk main loop. If you are not
+running a GLib/Gtk main loop, make sure to regularly call
+g_main_context_iteration(NULL,FALSE).
+The installer strings that make up @detail are typically obtained by
+calling gst_missing_plugin_message_get_installer_detail() on missing-plugin
+messages that have been caught on a pipeline's bus or created by the
+application via the provided API, such as gst_missing_element_message_new().
+It is possible to request the installation of multiple missing plugins in
+one go (as might be required if there is a demuxer for a certain format
+installed but no suitable video decoder and no suitable audio decoder).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">result code whether an external installer could be started</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated array of installer string details (see below)</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="ctx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstInstallPluginsContext, or NULL</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="async"
+ closure="3">
+ <doc xml:whitespace="preserve">the function to call when the installer program returns</doc>
+ <type name="InstallPluginsResultFunc"
+ c:type="GstInstallPluginsResultFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the user data to pass to @func when called, or NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="install_plugins_installation_in_progress"
+ c:identifier="gst_install_plugins_installation_in_progress"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Checks whether plugin installation (initiated by this application only)
+is currently in progress.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if plugin installation is in progress, otherwise FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="install_plugins_return_get_name"
+ c:identifier="gst_install_plugins_return_get_name"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Convenience function to return the descriptive string associated
+with a status code. This function returns English strings and
+should not be used for user messages. It is here only to assist
+in debugging.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a descriptive string for the status code in @ret</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the return status code</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="install_plugins_supported"
+ c:identifier="gst_install_plugins_supported"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Checks whether plugin installation is likely to be supported by the
+current environment. This currently only checks whether the helper script
+that is to be provided by the distribution or operating system vendor
+exists.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if plugin installation is likely to be supported.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="install_plugins_sync"
+ c:identifier="gst_install_plugins_sync"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Requests plugin installation and block until the plugins have been
+installed or installation has failed.
+This function should almost never be used, it only exists for cases where
+a non-GLib main loop is running and the user wants to run it in a separate
+thread and marshal the result back asynchronously into the main thread
+using the other non-GLib main loop. You should almost always use
+gst_install_plugins_async() instead of this function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result of the installation.</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL-terminated array of installer string details</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="ctx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstInstallPluginsContext, or NULL</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_missing_plugin_message"
+ c:identifier="gst_is_missing_plugin_message">
+ <doc xml:whitespace="preserve">Checks whether @msg is a missing plugins message.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if @msg is a missing-plugins message, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstMessage</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_decoder_installer_detail_new"
+ c:identifier="gst_missing_decoder_installer_detail_new"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.
+with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="decode_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) caps for which a decoder element is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_decoder_message_new"
+ c:identifier="gst_missing_decoder_message_new">
+ <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
+that a decoder element for a particular set of (fixed) caps is missing.
+This function is mainly for use in plugins.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="decode_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) caps for which a decoder element is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_element_installer_detail_new"
+ c:identifier="gst_missing_element_installer_detail_new"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.
+with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_element_message_new"
+ c:identifier="gst_missing_element_message_new">
+ <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
+that a certain required element is missing. This function is mainly for
+use in plugins.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_encoder_installer_detail_new"
+ c:identifier="gst_missing_encoder_installer_detail_new"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.
+with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="encode_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) caps for which an encoder element is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_encoder_message_new"
+ c:identifier="gst_missing_encoder_message_new">
+ <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
+that an encoder element for a particular set of (fixed) caps is missing.
+This function is mainly for use in plugins.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="encode_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) caps for which an encoder element is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_plugin_message_get_description"
+ c:identifier="gst_missing_plugin_message_get_description">
+ <doc xml:whitespace="preserve">Returns a localised string describing the missing feature, for use in
+error dialogs and the like. Should never return NULL unless @msg is not
+a valid missing-plugin message.
+This function is mainly for applications that need a human-readable string
+describing a missing plugin, given a previously collected missing-plugin
+message
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_plugin_message_get_installer_detail"
+ c:identifier="gst_missing_plugin_message_get_installer_detail">
+ <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions.
+with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_sink_installer_detail_new"
+ c:identifier="gst_missing_uri_sink_installer_detail_new"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.
+with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI protocol the missing source needs to implement, e.g. "http" or "mms"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_sink_message_new"
+ c:identifier="gst_missing_uri_sink_message_new">
+ <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
+that a sink element for a particular URI protocol is missing. This
+function is mainly for use in plugins.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI protocol the missing sink needs to implement, e.g. "http" or "smb"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_source_installer_detail_new"
+ c:identifier="gst_missing_uri_source_installer_detail_new"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.
+with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated detail string, or NULL on error. Free string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI protocol the missing source needs to implement, e.g. "http" or "mms"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_source_message_new"
+ c:identifier="gst_missing_uri_source_message_new">
+ <doc xml:whitespace="preserve">Creates a missing-plugin message for @element to notify the application
+that a source element for a particular URI protocol is missing. This
+function is mainly for use in plugins.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI protocol the missing source needs to implement, e.g. "http" or "mms"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_add_codec_description_to_tag_list"
+ c:identifier="gst_pb_utils_add_codec_description_to_tag_list">
+ <doc xml:whitespace="preserve">Adds a codec tag describing the format specified by @caps to @taglist.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if a codec tag was added, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstTagList</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="codec_tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC, #GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) #GstCaps for which a codec tag should be added.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_codec_description"
+ c:identifier="gst_pb_utils_get_codec_description">
+ <doc xml:whitespace="preserve">Returns a localised (as far as this is possible) string describing the
+media format specified in @caps, for use in error dialogs or other messages
+to be seen by the user. Should never return NULL unless @caps is invalid.
+Also see the convenience function
+gst_pb_utils_add_codec_description_to_tag_list().
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) #GstCaps for which an format description is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_decoder_description"
+ c:identifier="gst_pb_utils_get_decoder_description">
+ <doc xml:whitespace="preserve">Returns a localised string describing an decoder for the format specified
+in @caps, for use in error dialogs or other messages to be seen by the user.
+Should never return NULL unless @factory_name or @caps are invalid.
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) #GstCaps for which an decoder description is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_element_description"
+ c:identifier="gst_pb_utils_get_element_description">
+ <doc xml:whitespace="preserve">Returns a localised string describing the given element, for use in
+error dialogs or other messages to be seen by the user. Should never
+return NULL unless @factory_name is invalid.
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the name of the element, e.g. "gnomevfssrc"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_encoder_description"
+ c:identifier="gst_pb_utils_get_encoder_description">
+ <doc xml:whitespace="preserve">Returns a localised string describing an encoder for the format specified
+in @caps, for use in error dialogs or other messages to be seen by the user.
+Should never return NULL unless @factory_name or @caps are invalid.
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (fixed) #GstCaps for which an encoder description is needed</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_sink_description"
+ c:identifier="gst_pb_utils_get_sink_description">
+ <doc xml:whitespace="preserve">Returns a localised string describing a sink element handling the protocol
+specified in @protocol, for use in error dialogs or other messages to be
+seen by the user. Should never return NULL unless @protocol is invalid.
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the protocol the sink element needs to handle, e.g. "http"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_source_description"
+ c:identifier="gst_pb_utils_get_source_description">
+ <doc xml:whitespace="preserve">Returns a localised string describing a source element handling the protocol
+specified in @protocol, for use in error dialogs or other messages to be
+seen by the user. Should never return NULL unless @protocol is invalid.
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.
+string with g_free() when not needed any longer.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated description string, or NULL on error. Free</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the protocol the source element needs to handle, e.g. "http"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_init"
+ c:identifier="gst_pb_utils_init"
+ version="0.10.12">
+ <doc xml:whitespace="preserve">Initialises the base utils support library. This function is not
+thread-safe. Applications should call it after calling gst_init(),
+plugins should call it from their plugin_init function.
+This function may be called multiple times. It will do nothing if the
+library has already been initialised.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="plugins_base_version"
+ c:identifier="gst_plugins_base_version"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Gets the version number of the GStreamer Plugins Base libraries.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="major"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the major version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the minor version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="micro"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the micro version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="nano"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">pointer to a guint to store the nano version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="plugins_base_version_string"
+ c:identifier="gst_plugins_base_version_string"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">This function returns a string that is useful for describing this version
+strings, logging, about dialogs ...</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated string describing this version of gst-plugins-base</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries combinators kernel system
+gobject-introspection glib.ffi gstreamer.ffi ;
+IN: gstreamer.pbutils.ffi
+
+<<
+"gstreamer.pbutils" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstpbutils-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/pbutils/GstPbutils-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.pbutils.ffi ;
+IN: gstreamer.pbutils
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstAudio" version="0.10"/>
+ <include name="GstBase" version="0.10"/>
+ <include name="GstInterfaces" version="0.10"/>
+ <include name="GstTag" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-riff-0.10"/>
+ <c:include name="gst/riff/riff-ids.h"/>
+ <c:include name="gst/riff/riff-media.h"/>
+ <c:include name="gst/riff/riff-read.h"/>
+ <namespace name="GstRiff"
+ version="0.10"
+ shared-library="libgstriff-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <constant name="RIFF_IBM_FORMAT_ADPCM" value="259">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_IBM_FORMAT_ALAW" value="258">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_IBM_FORMAT_MULAW" value="257">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_IF_KEYFRAME" value="16">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_IF_LIST" value="1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_IF_NO_TIME" value="256">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_STRH_DISABLED" value="1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_STRH_VIDEOPALCHANGES" value="65536">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_A52" value="8192">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AAC" value="255">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AAC_AC" value="16707">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AAC_pm" value="28781">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ADPCM" value="2">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ADPCM_IMA_DK3" value="98">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ADPCM_IMA_DK4" value="97">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ADPCM_IMA_WAV" value="105">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ALAW" value="6">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AMR_NB" value="87">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AMR_WB" value="88">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_APTX" value="37">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AUDIOFILE_AF10" value="38">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_AUDIOFILE_AF36" value="36">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_BTV_DIGITAL" value="1024">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CANOPUS_ATRAC" value="99">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CIRRUS" value="96">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CONTROL_RES_CR10" value="55">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CONTROL_RES_VQLPC" value="52">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CREATIVE_ADPCM" value="512">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CREATIVE_FASTSPEECH10" value="515">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CREATIVE_FASTSPEECH8" value="514">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CS2" value="608">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CS_IMAADPCM" value="57">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_CU_CODEC" value="25">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DF_G726" value="133">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DF_GSM610" value="134">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DIALOGIC_OKI_ADPCM" value="23">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DIGIADPCM" value="54">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DIGIFIX" value="22">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DIGIREAL" value="53">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DIGISTD" value="21">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DIGITAL_G723" value="291">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DOLBY_AC2" value="48">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DOLBY_AC3_SPDIF" value="146">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DSAT_DISPLAY" value="103">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DSP_TRUESPEECH" value="34">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DTS" value="8193">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_DVI_ADPCM" value="17">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ECHOSC1" value="35">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ECHOSC3" value="58">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ESPCM" value="97">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_EXTENSIBLE" value="65534">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_FLAC" value="61868">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_FM_TOWNS_SND" value="768">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_G722_ADPCM" value="101">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_G723_ADPCM" value="20">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_G726ADPCM" value="320">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_G726_ADPCM" value="100">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_G728_CELP" value="65">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_G729A" value="131">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_GSM610" value="49">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_GSM_AMR_CBR" value="31265">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_GSM_AMR_VBR" value="31266">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_IBM_CVSD" value="5">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_IEEE_FLOAT" value="3">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ILINK_VC" value="560">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_IMC" value="1025">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_IPI_HSX" value="592">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_IPI_RPELP" value="593">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ISIAUDIO" value="136">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ITU_G721_ADPCM" value="64">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_LH_CODEC" value="4352">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_LRC" value="40">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_LUCENT_G723" value="89">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MALDEN_PHONYTALK" value="160">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MEDIASONIC_G723" value="147">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MEDIASPACE_ADPCM" value="18">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MEDIAVISION_ADPCM" value="24">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MPEGL12" value="80">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MPEGL3" value="85">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MSG723" value="66">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MSN" value="50">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MSRT24" value="130">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MULAW" value="7">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_MVI_MVI2" value="132">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_NMS_VBXADPCM" value="56">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_NORRIS" value="5120">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_OKI_ADPCM" value="16">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_OLIADPCM" value="4097">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_OLICELP" value="4098">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_OLIGSM" value="4096">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_OLIOPR" value="4100">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_OLISBC" value="4099">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ONLIVE" value="137">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_PAC" value="83">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_PACKED" value="153">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_PCM" value="1">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_PHILIPS_LPCBB" value="152">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_PROSODY_1612" value="39">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_PROSODY_8KBPS" value="148">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_QDESIGN_MUSIC" value="1104">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_QUALCOMM_HALFRATE" value="337">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_QUALCOMM_PUREVOICE" value="336">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_QUARTERDECK" value="544">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_RAW_SPORT" value="576">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_RHETOREX_ADPCM" value="256">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ROCKWELL_ADPCM" value="59">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ROCKWELL_DIGITALK" value="60">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_RT24" value="82">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SANYO_LD_ADPCM" value="293">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SBC24" value="145">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIERRA_ADPCM" value="19">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIPROLAB_ACELP4800" value="305">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIPROLAB_ACELP8V3" value="306">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIPROLAB_ACEPLNET" value="304">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIPROLAB_G729" value="307">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIPROLAB_G729A" value="308">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIPROLAB_KELVIN" value="309">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SIREN" value="654">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SOFTSOUND" value="128">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SONARC" value="33">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SONIC" value="8264">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SONIC_LS" value="8264">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SONY_ATRAC3" value="624">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS" value="5376">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_TPC" value="1665">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_TUBGSM" value="341">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_UHER_ADPCM" value="528">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_UNKNOWN" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VIVO_G723" value="273">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VIVO_SIREN" value="274">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VME_VMPCM" value="1664">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VORBIS1" value="26447">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VORBIS1PLUS" value="26479">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VORBIS2" value="26448">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VORBIS2PLUS" value="26480">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VORBIS3" value="26449">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VORBIS3PLUS" value="26481">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE" value="98">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_AC10" value="113">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_AC16" value="114">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_AC20" value="115">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_AC8" value="112">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_BYTE_ALIGNED" value="105">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_METASOUND" value="117">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_METAVOICE" value="116">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_RT29HW" value="118">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_TQ40" value="121">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_TQ60" value="129">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_VR12" value="119">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VOXWARE_VR18" value="120">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_VSELP" value="4">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_WMAV1" value="352">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_WMAV2" value="353">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_WMAV3" value="354">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_WMAV3_L" value="355">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_WMS" value="10">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_XEBEC" value="61">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_YAMAHA_ADPCM" value="32">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RIFF_WAVE_FORMAT_ZYXEL_ADPCM" value="151">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="riff_create_audio_caps"
+ c:identifier="gst_riff_create_audio_caps"
+ introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="codec_id" transfer-ownership="none">
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="strh" transfer-ownership="none">
+ <type c:type="gst_riff_strh*"/>
+ </parameter>
+ <parameter name="strf" transfer-ownership="none">
+ <type c:type="gst_riff_strf_auds*"/>
+ </parameter>
+ <parameter name="strf_data" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strd_data" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="codec_name" transfer-ownership="none">
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_create_audio_template_caps"
+ c:identifier="gst_riff_create_audio_template_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </function>
+ <function name="riff_create_iavs_caps"
+ c:identifier="gst_riff_create_iavs_caps"
+ introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="codec_fcc" transfer-ownership="none">
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="strh" transfer-ownership="none">
+ <type c:type="gst_riff_strh*"/>
+ </parameter>
+ <parameter name="strf" transfer-ownership="none">
+ <type c:type="gst_riff_strf_iavs*"/>
+ </parameter>
+ <parameter name="strf_data" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strd_data" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="codec_name" transfer-ownership="none">
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_create_iavs_template_caps"
+ c:identifier="gst_riff_create_iavs_template_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </function>
+ <function name="riff_create_video_caps"
+ c:identifier="gst_riff_create_video_caps"
+ introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="codec_fcc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">fourCC codec for this codec.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="strh" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to the strh stream header structure.</doc>
+ <type c:type="gst_riff_strh*"/>
+ </parameter>
+ <parameter name="strf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to the strf stream header structure, including any data that is within the range of strf.size, but excluding any additional data withint this chunk but outside strf.size.</doc>
+ <type c:type="gst_riff_strf_vids*"/>
+ </parameter>
+ <parameter name="strf_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer containing the additional data in the strf chunk outside reach of strf.size. Ususally a palette.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strd_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer containing the data in the strd stream header chunk. Usually codec initialization data.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="codec_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if given, will be filled with a human-readable codec name.</doc>
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_create_video_template_caps"
+ c:identifier="gst_riff_create_video_template_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </function>
+ <function name="riff_init" c:identifier="gst_riff_init">
+ <doc xml:whitespace="preserve">Initialize riff library.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="riff_parse_chunk" c:identifier="gst_riff_parse_chunk">
+ <doc xml:whitespace="preserve">Reads a single chunk.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE on error, TRUE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input buffer.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset in the buffer in the caller. Is incremented by the read size by this function.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="fourcc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">fourcc (returned by this function0 of the chunk.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="chunk_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer (returned by the function) containing the chunk data, which may be NULL if chunksize == 0</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_parse_file_header"
+ c:identifier="gst_riff_parse_file_header">
+ <doc xml:whitespace="preserve">Reads the first few bytes from the provided buffer, checks
+if this stream is a RIFF stream, and determines document type.
+This function takes ownership of @buf so it should not be used anymore
+after calling this function.
+caller should error out; we already throw an error), or TRUE
+if it is.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">FALSE if this is not a RIFF stream (in which case the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging/error).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input buffer from which the file header will be parsed, should be at least 12 bytes long.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="doctype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a fourcc (returned by this function) to indicate the type of document (according to the header).</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_parse_info" c:identifier="gst_riff_parse_info">
+ <doc xml:whitespace="preserve">Parses stream metadata from input data.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging/error).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input data to be used for parsing, stripped from header.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a taglist (returned by this function) containing information about this stream. May be NULL if no supported tags were found.</doc>
+ <type name="Gst.TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_parse_strf_auds"
+ c:identifier="gst_riff_parse_strf_auds"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses an audio stream´s strf structure plus optionally some
+extradata from input data. This function takes ownership of @buf.
+use.
+should be skipped on error, but it is not fatal.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if parsing succeeded, otherwise FALSE. The stream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging/error).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input data to be used for parsing, stripped from header.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a filled-in strf/auds structure. Caller should free it.</doc>
+ <type c:type="gst_riff_strf_auds**"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a buffer containing extradata for this particular stream (e.g. codec initialization data).</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_parse_strf_iavs"
+ c:identifier="gst_riff_parse_strf_iavs"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses a interleaved (also known as "complex") stream´s strf
+structure plus optionally some extradata from input data. This
+function takes ownership of @buf.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if parsing succeeded, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging/error).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input data to be used for parsing, stripped from header.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a filled-in strf/iavs structure. Caller should free it.</doc>
+ <type c:type="gst_riff_strf_iavs**"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a buffer containing extradata for this particular stream (e.g. codec initialization data).</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_parse_strf_vids"
+ c:identifier="gst_riff_parse_strf_vids"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses a video stream´s strf structure plus optionally some
+extradata from input data. This function takes ownership of @buf.
+should be skipped on error, but it is not fatal.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if parsing succeeded, otherwise FALSE. The stream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging/error).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input data to be used for parsing, stripped from header.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a filled-in strf/vids structure. Caller should free it.</doc>
+ <type c:type="gst_riff_strf_vids**"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a buffer containing extradata for this particular stream (e.g. palette, codec initialization data).</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_parse_strh"
+ c:identifier="gst_riff_parse_strh"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Parses a strh structure from input data. Takes ownership of @buf.
+should be skipped on error, but it is not fatal.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if parsing succeeded, otherwise FALSE. The stream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging/error).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">input data to be used for parsing, stripped from header.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="strh" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer (returned by this function) to a filled-in strh structure. Caller should free it.</doc>
+ <type c:type="gst_riff_strh**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="riff_read_chunk" c:identifier="gst_riff_read_chunk">
+ <doc xml:whitespace="preserve">Reads a single chunk of data. Since 0.10.8 'JUNK' chunks
+are skipped automatically.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">flow status.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:whitespace="preserve">caller element (used for debugging).</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pad to pull data from.</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset to pull from, incremented by this function.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">fourcc of the chunk (returned by this function).</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="chunk_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer (returned by this function).</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.syntax alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gmodule.ffi gobject.ffi ;
+EXCLUDE: alien.c-types => pointer ;
+IN: gstreamer.ffi
+
+<<
+"gstreamer" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+TYPEDEF: gpointer GstClockID
+TYPEDEF: guint64 GstClockTime
+TYPEDEF: gint64 GstClockTimeDiff
+
+! types from libxml2
+TYPEDEF: void* xmlNodePtr
+TYPEDEF: void* xmlDocPtr
+TYPEDEF: void* xmlNsPtr
+
+GIR: vocab:gstreamer/Gst-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.ffi ;
+IN: gstreamer
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstBase" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-rtp-0.10"/>
+ <c:include name="gst/rtp/gstbasertpaudiopayload.h"/>
+ <c:include name="gst/rtp/gstbasertpdepayload.h"/>
+ <c:include name="gst/rtp/gstbasertppayload.h"/>
+ <c:include name="gst/rtp/gstrtcpbuffer.h"/>
+ <c:include name="gst/rtp/gstrtpbuffer.h"/>
+ <c:include name="gst/rtp/gstrtppayloads.h"/>
+ <namespace name="GstRtp"
+ version="0.10"
+ shared-library="libgstrtp-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <class name="BaseRTPAudioPayload"
+ c:symbol-prefix="base_rtp_audio_payload"
+ c:type="GstBaseRTPAudioPayload"
+ parent="BaseRTPPayload"
+ glib:type-name="GstBaseRTPAudioPayload"
+ glib:get-type="gst_base_rtp_audio_payload_get_type"
+ glib:type-struct="BaseRTPAudioPayloadClass">
+ <method name="flush"
+ c:identifier="gst_base_rtp_audio_payload_flush"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">Create an RTP buffer and store @payload_len bytes of the adapter as the
+payload. Set the timestamp on the new buffer to @timestamp before pushing
+the buffer downstream.
+If @payload_len is -1, all pending bytes will be flushed. If @timestamp is
+-1, the timestamp will be calculated automatically.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">length of payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_adapter"
+ c:identifier="gst_base_rtp_audio_payload_get_adapter"
+ version="0.10.13"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Gets the internal adapter used by the depayloader.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstAdapter.</doc>
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </return-value>
+ </method>
+ <method name="push"
+ c:identifier="gst_base_rtp_audio_payload_push"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Create an RTP buffer and store @payload_len bytes of @data as the
+payload. Set the timestamp on the new buffer to @timestamp before pushing
+the buffer downstream.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data to set as payload</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">length of payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_based"
+ c:identifier="gst_base_rtp_audio_payload_set_frame_based">
+ <doc xml:whitespace="preserve">Tells #GstBaseRTPAudioPayload that the child element is for a frame based
+audio codec</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_frame_options"
+ c:identifier="gst_base_rtp_audio_payload_set_frame_options">
+ <doc xml:whitespace="preserve">Sets the options for frame based audio codecs.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="frame_duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The duraction of an audio frame in milliseconds.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="frame_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The size of an audio frame in bytes.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sample_based"
+ c:identifier="gst_base_rtp_audio_payload_set_sample_based">
+ <doc xml:whitespace="preserve">Tells #GstBaseRTPAudioPayload that the child element is for a sample based
+audio codec</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="set_sample_options"
+ c:identifier="gst_base_rtp_audio_payload_set_sample_options">
+ <doc xml:whitespace="preserve">Sets the options for sample based audio codecs.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size per sample in bytes.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_samplebits_options"
+ c:identifier="gst_base_rtp_audio_payload_set_samplebits_options"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Sets the options for sample based audio codecs.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample_size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Size per sample in bits.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="buffer-list" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="payload">
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload"/>
+ </field>
+ <field name="priv">
+ <type name="BaseRTPAudioPayloadPrivate"
+ c:type="GstBaseRTPAudioPayloadPrivate*"/>
+ </field>
+ <field name="base_ts">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="frame_size">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="frame_duration">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="sample_size">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseRTPAudioPayloadClass"
+ c:type="GstBaseRTPAudioPayloadClass"
+ glib:is-gtype-struct-for="BaseRTPAudioPayload">
+ <field name="parent_class">
+ <type name="BaseRTPPayloadClass" c:type="GstBaseRTPPayloadClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseRTPAudioPayloadPrivate"
+ c:type="GstBaseRTPAudioPayloadPrivate"
+ disguised="1">
+ </record>
+ <class name="BaseRTPDepayload"
+ c:symbol-prefix="base_rtp_depayload"
+ c:type="GstBaseRTPDepayload"
+ parent="Gst.Element"
+ glib:type-name="GstBaseRTPDepayload"
+ glib:get-type="gst_base_rtp_depayload_get_type"
+ glib:type-struct="BaseRTPDepayloadClass">
+ <virtual-method name="add_to_queue">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="packet_lost">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="process" introspectable="0">
+ <return-value>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_gst_timestamp">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="push" c:identifier="gst_base_rtp_depayload_push">
+ <doc xml:whitespace="preserve">Push @out_buf to the peer of @filter. This function takes ownership of
+Unlike gst_base_rtp_depayload_push_ts(), this function will not apply
+any timestamp on the outgoing buffer. Subclasses should therefore timestamp
+outgoing buffers themselves.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="out_buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_list"
+ c:identifier="gst_base_rtp_depayload_push_list"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Push @out_list to the peer of @filter. This function takes ownership of</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="out_list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_ts" c:identifier="gst_base_rtp_depayload_push_ts">
+ <doc xml:whitespace="preserve">Push @out_buf to the peer of @filter. This function takes ownership of
+Unlike gst_base_rtp_depayload_push(), this function will by default apply
+the last incomming timestamp on the outgoing buffer when it didn't have a
+timestamp already. The set_get_timestamp vmethod can be overwritten to change
+this behaviour (and take, for example, @timestamp into account).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an RTP timestamp to apply</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="out_buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="queue-delay" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="queuelock">
+ <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex"/>
+ </field>
+ <field name="thread_running">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="thread">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="clock_rate">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="queue_delay">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="queue">
+ <type name="GLib.Queue" c:type="GQueue*"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="need_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv">
+ <type name="BaseRTPDepayloadPrivate"
+ c:type="GstBaseRTPDepayloadPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseRTPDepayloadClass"
+ c:type="GstBaseRTPDepayloadClass"
+ glib:is-gtype-struct-for="BaseRTPDepayload">
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_to_queue">
+ <callback name="add_to_queue">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
+ </parameter>
+ <parameter name="in" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="process" introspectable="0">
+ <callback name="process" introspectable="0">
+ <return-value>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="base" transfer-ownership="none">
+ <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
+ </parameter>
+ <parameter name="in" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_gst_timestamp">
+ <callback name="set_gst_timestamp">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="packet_lost">
+ <callback name="packet_lost">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_event">
+ <callback name="handle_event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseRTPDepayloadPrivate"
+ c:type="GstBaseRTPDepayloadPrivate"
+ disguised="1">
+ </record>
+ <class name="BaseRTPPayload"
+ c:symbol-prefix="basertppayload"
+ c:type="GstBaseRTPPayload"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseRTPPayload"
+ glib:get-type="gst_basertppayload_get_type"
+ glib:type-struct="BaseRTPPayloadClass">
+ <function name="is_filled" c:identifier="gst_basertppayload_is_filled">
+ <doc xml:whitespace="preserve">Check if the packet with @size and @duration would exceed the configured
+maximum size.
+configured MTU or max_ptime.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the packet of @size and @duration would exceed the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBaseRTPPayload</doc>
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the duration of the packet</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="push" c:identifier="gst_basertppayload_push">
+ <doc xml:whitespace="preserve">Push @buffer to the peer element of the payloader. The SSRC, payload type,
+seqnum and timestamp of the RTP buffer will be updated first.
+This function takes ownership of @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBaseRTPPayload</doc>
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="push_list"
+ c:identifier="gst_basertppayload_push_list"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Push @list to the peer element of the payloader. The SSRC, payload type,
+seqnum and timestamp of the RTP buffer will be updated first.
+This function takes ownership of @list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBaseRTPPayload</doc>
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="set_options"
+ c:identifier="gst_basertppayload_set_options">
+ <doc xml:whitespace="preserve">Set the rtp options of the payloader. These options will be set in the caps
+of the payloader. Subclasses must call this method before calling
+gst_basertppayload_push() or gst_basertppayload_set_outcaps().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBaseRTPPayload</doc>
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media type (typically "audio" or "video")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="dynamic" transfer-ownership="none">
+ <doc xml:whitespace="preserve">if the payload type is dynamic</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the encoding name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="clock_rate" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the clock rate of the media</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="set_outcaps"
+ c:identifier="gst_basertppayload_set_outcaps"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Configure the output caps with the optional parameters.
+Variable arguments should be in the form field name, field type
+(as a GType), value(s). The last variable argument should be NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the caps could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBaseRTPPayload</doc>
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first field name or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter transfer-ownership="none">
+ <varargs>
+ </varargs>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="get_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_buffer">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <property name="max-ptime" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="min-ptime" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="mtu" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="perfect-rtptime" writable="1" transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <property name="pt" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="ptime-multiple" writable="1" transfer-ownership="none">
+ <type name="gint64"/>
+ </property>
+ <property name="seqnum" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="seqnum-offset" writable="1" transfer-ownership="none">
+ <type name="gint"/>
+ </property>
+ <property name="ssrc" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="timestamp" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <property name="timestamp-offset" writable="1" transfer-ownership="none">
+ <type name="guint"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="seq_rand">
+ <type name="GLib.Rand" c:type="GRand*"/>
+ </field>
+ <field name="ssrc_rand">
+ <type name="GLib.Rand" c:type="GRand*"/>
+ </field>
+ <field name="ts_rand">
+ <type name="GLib.Rand" c:type="GRand*"/>
+ </field>
+ <field name="ts_base">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="seqnum_base">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="media">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="encoding_name">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="dynamic">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="clock_rate">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="ts_offset">
+ <type name="gint32" c:type="gint32"/>
+ </field>
+ <field name="timestamp">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="seqnum_offset">
+ <type name="gint16" c:type="gint16"/>
+ </field>
+ <field name="seqnum">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="max_ptime">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="pt">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="ssrc">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="current_ssrc">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="mtu">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="min_ptime">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="priv">
+ <type name="BaseRTPPayloadPrivate" c:type="GstBaseRTPPayloadPrivate*"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <record name="ABI" c:type="ABI">
+ <field name="ptime" writable="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="ptime_multiple" writable="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <record name="BaseRTPPayloadClass"
+ c:type="GstBaseRTPPayloadClass"
+ glib:is-gtype-struct-for="BaseRTPPayload">
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_buffer">
+ <callback name="handle_buffer">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_event">
+ <callback name="handle_event">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseRTPPayloadPrivate"
+ c:type="GstBaseRTPPayloadPrivate"
+ disguised="1">
+ </record>
+ <enumeration name="RTCPFBType" version="0.10.23" c:type="GstRTCPFBType">
+ <doc xml:whitespace="preserve">Different types of feedback messages.</doc>
+ <member name="fb_type_invalid"
+ value="0"
+ c:identifier="GST_RTCP_FB_TYPE_INVALID"/>
+ <member name="rtpfb_type_nack"
+ value="1"
+ c:identifier="GST_RTCP_RTPFB_TYPE_NACK"/>
+ <member name="psfb_type_pli"
+ value="1"
+ c:identifier="GST_RTCP_PSFB_TYPE_PLI"/>
+ <member name="psfb_type_sli"
+ value="2"
+ c:identifier="GST_RTCP_PSFB_TYPE_SLI"/>
+ <member name="psfb_type_rpsi"
+ value="3"
+ c:identifier="GST_RTCP_PSFB_TYPE_RPSI"/>
+ <member name="psfb_type_afb"
+ value="15"
+ c:identifier="GST_RTCP_PSFB_TYPE_AFB"/>
+ </enumeration>
+ <record name="RTCPPacket" c:type="GstRTCPPacket">
+ <doc xml:whitespace="preserve">Data structure that points to a packet at @offset in @buffer.
+The size of the structure is made public to allow stack allocations.</doc>
+ <field name="buffer" writable="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="offset" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="padding" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="count" writable="1">
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </field>
+ <field name="length" writable="1">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="item_offset" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="item_count" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="entry_offset" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="add_rb" c:identifier="gst_rtcp_packet_add_rb">
+ <doc xml:whitespace="preserve">Add a new report block to @packet with the given values.
+the max MTU is exceeded or the number of report blocks is greater than
+#GST_RTCP_MAX_RB_COUNT.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the packet was created. This function can return %FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data source being reported</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:whitespace="preserve">fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the last SR packet from this source</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="dlsr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the delay since last SR packet</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_add_ssrc" c:identifier="gst_rtcp_packet_bye_add_ssrc">
+ <doc xml:whitespace="preserve">Add @ssrc to the BYE @packet.
+the max MTU is exceeded or the number of sources blocks is greater than
+#GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the ssrc was added. This function can return %FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an SSRC to add</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_add_ssrcs"
+ c:identifier="gst_rtcp_packet_bye_add_ssrcs">
+ <doc xml:whitespace="preserve">Adds @len SSRCs in @ssrc to BYE @packet.
+the max MTU is exceeded or the number of sources blocks is greater than
+#GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the all the SSRCs were added. This function can return %FALSE if</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an array of SSRCs to add</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">number of elements in @ssrc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_get_nth_ssrc"
+ c:identifier="gst_rtcp_packet_bye_get_nth_ssrc">
+ <doc xml:whitespace="preserve">Get the @nth SSRC of the BYE @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The @nth SSRC of @packet.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the nth SSRC to get</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_get_reason"
+ c:identifier="gst_rtcp_packet_bye_get_reason">
+ <doc xml:whitespace="preserve">Get the reason in @packet.
+a reason string. The string must be freed with g_free() after usage.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The reason for the BYE @packet or NULL if the packet did not contain</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="bye_get_reason_len"
+ c:identifier="gst_rtcp_packet_bye_get_reason_len">
+ <doc xml:whitespace="preserve">Get the length of the reason string.
+present.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the reason string or 0 when there is no reason string</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ </method>
+ <method name="bye_get_ssrc_count"
+ c:identifier="gst_rtcp_packet_bye_get_ssrc_count">
+ <doc xml:whitespace="preserve">Get the number of SSRC fields in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of SSRC fields in @packet.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="bye_set_reason"
+ c:identifier="gst_rtcp_packet_bye_set_reason">
+ <doc xml:whitespace="preserve">Set the reason string to @reason in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the string could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="reason" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a reason string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_get_fci"
+ c:identifier="gst_rtcp_packet_fb_get_fci"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Get the Feedback Control Information attached to a RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to the FCI</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ </method>
+ <method name="fb_get_fci_length"
+ c:identifier="gst_rtcp_packet_fb_get_fci_length"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Get the length of the Feedback Control Information attached to a
+RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the FCI in 32-bit words.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ </method>
+ <method name="fb_get_media_ssrc"
+ c:identifier="gst_rtcp_packet_fb_get_media_ssrc"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the media SSRC field of the RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media SSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="fb_get_sender_ssrc"
+ c:identifier="gst_rtcp_packet_fb_get_sender_ssrc"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the sender SSRC field of the RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the sender SSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="fb_set_fci_length"
+ c:identifier="gst_rtcp_packet_fb_set_fci_length"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Set the length of the Feedback Control Information attached to a
+RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if there was enough space in the packet to add this much FCI</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="wordlen" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Length of the FCI in 32-bit words</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_media_ssrc"
+ c:identifier="gst_rtcp_packet_fb_set_media_ssrc"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the media SSRC field of the RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a media SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_sender_ssrc"
+ c:identifier="gst_rtcp_packet_fb_set_sender_ssrc"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the sender SSRC field of the RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a sender SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_type"
+ c:identifier="gst_rtcp_packet_fb_set_type"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the feedback message type of the FB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstRTCPFBType to set</doc>
+ <type name="RTCPFBType" c:type="GstRTCPFBType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_count" c:identifier="gst_rtcp_packet_get_count">
+ <doc xml:whitespace="preserve">Get the count field in @packet.
+valid packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The count field in @packet or -1 if @packet does not point to a</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ </method>
+ <method name="get_length" c:identifier="gst_rtcp_packet_get_length">
+ <doc xml:whitespace="preserve">Get the length field of @packet. This is the length of the packet in
+32-bit words minus one.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length field of @packet.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ </method>
+ <method name="get_padding" c:identifier="gst_rtcp_packet_get_padding">
+ <doc xml:whitespace="preserve">Get the packet padding of the packet pointed to by @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">If the packet has the padding bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="get_rb" c:identifier="gst_rtcp_packet_get_rb">
+ <doc xml:whitespace="preserve">Parse the values of the @nth report block in @packet and store the result in
+the values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the nth report block in @packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for data source being reported</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for the last SR packet from this source</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="dlsr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result for the delay since last SR packet</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_rb_count" c:identifier="gst_rtcp_packet_get_rb_count">
+ <doc xml:whitespace="preserve">Get the number of report blocks in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of report blocks in @packet.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="move_to_next" c:identifier="gst_rtcp_packet_move_to_next">
+ <doc xml:whitespace="preserve">Move the packet pointer @packet to the next packet in the payload.
+Use gst_rtcp_buffer_get_first_packet() to initialize @packet.
+function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @packet is pointing to a valid packet after calling this</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="remove" c:identifier="gst_rtcp_packet_remove">
+ <doc xml:whitespace="preserve">Removes the packet pointed to by @packet and moves pointer to the next one
+function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @packet is pointing to a valid packet after calling this</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="rr_get_ssrc" c:identifier="gst_rtcp_packet_rr_get_ssrc">
+ <doc xml:whitespace="preserve">Get the ssrc field of the RR @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ssrc.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="rr_set_ssrc" c:identifier="gst_rtcp_packet_rr_set_ssrc">
+ <doc xml:whitespace="preserve">Set the ssrc field of the RR @packet.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SSRC to set</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_add_entry"
+ c:identifier="gst_rtcp_packet_sdes_add_entry">
+ <doc xml:whitespace="preserve">Add a new SDES entry to the current item in @packet.
+reached.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the item could be added, %FALSE if the MTU has been</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstRTCPSDESType of the SDES entry</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data length</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_add_item"
+ c:identifier="gst_rtcp_packet_sdes_add_item">
+ <doc xml:whitespace="preserve">Add a new SDES item for @ssrc to @packet.
+items has been exceeded for the SDES packet or the MTU has been reached.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the item could be added, %FALSE if the maximum amount of</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SSRC of the new item to add</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_copy_entry"
+ c:identifier="gst_rtcp_packet_sdes_copy_entry">
+ <doc xml:whitespace="preserve">This function is like gst_rtcp_packet_sdes_get_entry() but it returns a
+null-terminated copy of the data instead. use g_free() after usage.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if there was valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result of the entry type</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result length of the entry data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result entry data</doc>
+ <type name="guint8" c:type="guint8**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_first_entry"
+ c:identifier="gst_rtcp_packet_sdes_first_entry">
+ <doc xml:whitespace="preserve">Move to the first SDES entry in the current item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if there was a first entry.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="sdes_first_item"
+ c:identifier="gst_rtcp_packet_sdes_first_item">
+ <doc xml:whitespace="preserve">Move to the first SDES item in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if there was a first item.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="sdes_get_entry"
+ c:identifier="gst_rtcp_packet_sdes_get_entry">
+ <doc xml:whitespace="preserve">Get the data of the current SDES item entry. @type (when not NULL) will
+contain the type of the entry. @data (when not NULL) will point to @len
+bytes.
+When @type refers to a text item, @data will point to a UTF8 string. Note
+that this UTF8 string is NOT null-terminated. Use
+gst_rtcp_packet_sdes_copy_entry() to get a null-termined copy of the entry.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if there was valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result of the entry type</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result length of the entry data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result entry data</doc>
+ <type name="guint8" c:type="guint8**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_get_item_count"
+ c:identifier="gst_rtcp_packet_sdes_get_item_count">
+ <doc xml:whitespace="preserve">Get the number of items in the SDES packet @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The number of items in @packet.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="sdes_get_ssrc"
+ c:identifier="gst_rtcp_packet_sdes_get_ssrc">
+ <doc xml:whitespace="preserve">Get the SSRC of the current SDES item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SSRC of the current item.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </method>
+ <method name="sdes_next_entry"
+ c:identifier="gst_rtcp_packet_sdes_next_entry">
+ <doc xml:whitespace="preserve">Move to the next SDES entry in the current item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if there was a next entry.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="sdes_next_item"
+ c:identifier="gst_rtcp_packet_sdes_next_item">
+ <doc xml:whitespace="preserve">Move to the next SDES item in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if there was a next item.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="set_rb" c:identifier="gst_rtcp_packet_set_rb">
+ <doc xml:whitespace="preserve">Set the @nth new report block in @packet with the given values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the nth report block to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data source being reported</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:whitespace="preserve">fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the last SR packet from this source</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="dlsr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the delay since last SR packet</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sr_get_sender_info"
+ c:identifier="gst_rtcp_packet_sr_get_sender_info">
+ <doc xml:whitespace="preserve">Parse the SR sender info and store the values.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result SSRC</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result NTP time</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rtptime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result RTP time</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="packet_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result packet count</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="octet_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">result octect count</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sr_set_sender_info"
+ c:identifier="gst_rtcp_packet_sr_set_sender_info">
+ <doc xml:whitespace="preserve">Set the given values in the SR packet @packet.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the NTP time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rtptime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the RTP time</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="packet_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the packet count</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="octet_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the octect count</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="RTCPSDESType" c:type="GstRTCPSDESType">
+ <member name="invalid" value="-1" c:identifier="GST_RTCP_SDES_INVALID"/>
+ <member name="end" value="0" c:identifier="GST_RTCP_SDES_END"/>
+ <member name="cname" value="1" c:identifier="GST_RTCP_SDES_CNAME"/>
+ <member name="name" value="2" c:identifier="GST_RTCP_SDES_NAME"/>
+ <member name="email" value="3" c:identifier="GST_RTCP_SDES_EMAIL"/>
+ <member name="phone" value="4" c:identifier="GST_RTCP_SDES_PHONE"/>
+ <member name="loc" value="5" c:identifier="GST_RTCP_SDES_LOC"/>
+ <member name="tool" value="6" c:identifier="GST_RTCP_SDES_TOOL"/>
+ <member name="note" value="7" c:identifier="GST_RTCP_SDES_NOTE"/>
+ <member name="priv" value="8" c:identifier="GST_RTCP_SDES_PRIV"/>
+ </enumeration>
+ <enumeration name="RTCPType" c:type="GstRTCPType">
+ <member name="invalid" value="0" c:identifier="GST_RTCP_TYPE_INVALID"/>
+ <member name="sr" value="200" c:identifier="GST_RTCP_TYPE_SR"/>
+ <member name="rr" value="201" c:identifier="GST_RTCP_TYPE_RR"/>
+ <member name="sdes" value="202" c:identifier="GST_RTCP_TYPE_SDES"/>
+ <member name="bye" value="203" c:identifier="GST_RTCP_TYPE_BYE"/>
+ <member name="app" value="204" c:identifier="GST_RTCP_TYPE_APP"/>
+ <member name="rtpfb" value="205" c:identifier="GST_RTCP_TYPE_RTPFB"/>
+ <member name="psfb" value="206" c:identifier="GST_RTCP_TYPE_PSFB"/>
+ </enumeration>
+ <constant name="RTCP_MAX_BYE_SSRC_COUNT" value="31">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_RB_COUNT" value="31">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_SDES" value="255">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_SDES_ITEM_COUNT" value="31">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VALID_MASK" value="57598">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VALID_VALUE" value="0">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VERSION" value="2">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <enumeration name="RTPPayload" c:type="GstRTPPayload">
+ <member name="pcmu" value="0" c:identifier="GST_RTP_PAYLOAD_PCMU"/>
+ <member name="1016" value="1" c:identifier="GST_RTP_PAYLOAD_1016"/>
+ <member name="g721" value="2" c:identifier="GST_RTP_PAYLOAD_G721"/>
+ <member name="gsm" value="3" c:identifier="GST_RTP_PAYLOAD_GSM"/>
+ <member name="g723" value="4" c:identifier="GST_RTP_PAYLOAD_G723"/>
+ <member name="dvi4_8000"
+ value="5"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_8000"/>
+ <member name="dvi4_16000"
+ value="6"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_16000"/>
+ <member name="lpc" value="7" c:identifier="GST_RTP_PAYLOAD_LPC"/>
+ <member name="pcma" value="8" c:identifier="GST_RTP_PAYLOAD_PCMA"/>
+ <member name="g722" value="9" c:identifier="GST_RTP_PAYLOAD_G722"/>
+ <member name="l16_stereo"
+ value="10"
+ c:identifier="GST_RTP_PAYLOAD_L16_STEREO"/>
+ <member name="l16_mono"
+ value="11"
+ c:identifier="GST_RTP_PAYLOAD_L16_MONO"/>
+ <member name="qcelp" value="12" c:identifier="GST_RTP_PAYLOAD_QCELP"/>
+ <member name="cn" value="13" c:identifier="GST_RTP_PAYLOAD_CN"/>
+ <member name="mpa" value="14" c:identifier="GST_RTP_PAYLOAD_MPA"/>
+ <member name="g728" value="15" c:identifier="GST_RTP_PAYLOAD_G728"/>
+ <member name="dvi4_11025"
+ value="16"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_11025"/>
+ <member name="dvi4_22050"
+ value="17"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_22050"/>
+ <member name="g729" value="18" c:identifier="GST_RTP_PAYLOAD_G729"/>
+ <member name="cellb" value="25" c:identifier="GST_RTP_PAYLOAD_CELLB"/>
+ <member name="jpeg" value="26" c:identifier="GST_RTP_PAYLOAD_JPEG"/>
+ <member name="nv" value="28" c:identifier="GST_RTP_PAYLOAD_NV"/>
+ <member name="h261" value="31" c:identifier="GST_RTP_PAYLOAD_H261"/>
+ <member name="mpv" value="32" c:identifier="GST_RTP_PAYLOAD_MPV"/>
+ <member name="mp2t" value="33" c:identifier="GST_RTP_PAYLOAD_MP2T"/>
+ <member name="h263" value="34" c:identifier="GST_RTP_PAYLOAD_H263"/>
+ </enumeration>
+ <record name="RTPPayloadInfo" c:type="GstRTPPayloadInfo">
+ <doc xml:whitespace="preserve">Structure holding default payload type information.</doc>
+ <field name="payload_type" writable="1">
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="media" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="encoding_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="clock_rate" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="encoding_parameters" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="bitrate" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ </record>
+ <constant name="RTP_PAYLOAD_1016_STRING" value="1">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_CELLB_STRING" value="25">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_CN_STRING" value="13">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_11025_STRING" value="16">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_16000_STRING" value="6">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_22050_STRING" value="17">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_8000_STRING" value="5">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DYNAMIC_STRING" value="[96, 127]">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G721_STRING" value="2">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G722_STRING" value="9">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_53" value="17">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_53_STRING" value="17">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_63" value="16">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_63_STRING" value="16">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_STRING" value="4">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G728_STRING" value="15">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G729_STRING" value="18">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_GSM_STRING" value="3">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_H261_STRING" value="31">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_H263_STRING" value="34">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_JPEG_STRING" value="26">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_L16_MONO_STRING" value="11">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_L16_STEREO_STRING" value="10">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_LPC_STRING" value="7">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MP2T_STRING" value="33">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MPA_STRING" value="14">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MPV_STRING" value="32">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_NV_STRING" value="28">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_PCMA_STRING" value="8">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_PCMU_STRING" value="0">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_QCELP_STRING" value="12">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS41" value="19">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS41_STRING" value="19">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS48" value="18">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS48_STRING" value="18">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_VERSION" value="2">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="rtcp_buffer_add_packet"
+ c:identifier="gst_rtcp_buffer_add_packet">
+ <doc xml:whitespace="preserve">Add a new packet of @type to @buffer. @packet will point to the newly created
+packet.
+if the max mtu is exceeded for the buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the packet could be created. This function returns %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid RTCP buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstRTCPType of the new packet</doc>
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </parameter>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to new packet</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_end" c:identifier="gst_rtcp_buffer_end">
+ <doc xml:whitespace="preserve">Finish @buffer after being constructured. This function is usually called
+after gst_rtcp_buffer_new() and after adding the RTCP items to the new buffer.
+The function adjusts the size of @buffer with the total length of all the
+added packets.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a buffer with an RTCP packet</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_get_first_packet"
+ c:identifier="gst_rtcp_buffer_get_first_packet">
+ <doc xml:whitespace="preserve">Initialize a new #GstRTCPPacket pointer that points to the first packet in</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the packet existed in @buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid RTCP buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_get_packet_count"
+ c:identifier="gst_rtcp_buffer_get_packet_count">
+ <doc xml:whitespace="preserve">Get the number of RTCP packets in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of RTCP packets in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid RTCP buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_new"
+ c:identifier="gst_rtcp_buffer_new"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new buffer for constructing RTCP packets. The packet will have a
+maximum size of @mtu.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mtu" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum mtu size.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_new_copy_data"
+ c:identifier="gst_rtcp_buffer_new_copy_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new buffer and set the data to a copy of @len
+bytes of @data and the size to @len. The data will be freed when the buffer
+is freed.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer with a copy of @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data for the new buffer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_new_take_data"
+ c:identifier="gst_rtcp_buffer_new_take_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new buffer and set the data and size of the buffer to @data and @len
+respectively. @data will be freed when the buffer is unreffed, so this
+function transfers ownership of @data to the new buffer.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer with @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data for the new buffer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_validate"
+ c:identifier="gst_rtcp_buffer_validate">
+ <doc xml:whitespace="preserve">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_data().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer is a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer to validate</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_validate_data"
+ c:identifier="gst_rtcp_buffer_validate_data">
+ <doc xml:whitespace="preserve">Check if the @data and @size point to the data of a valid RTCP (compound)
+packet.
+Use this function to validate a packet before using the other functions in
+this module.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the data points to a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to validate</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of @data to validate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_ntp_to_unix" c:identifier="gst_rtcp_ntp_to_unix">
+ <doc xml:whitespace="preserve">Converts an NTP time to UNIX nanoseconds. @ntptime can typically be
+the NTP time of an SR RTCP message and contains, in the upper 32 bits, the
+number of seconds since 1900 and, in the lower 32 bits, the fractional
+seconds. The resulting value will be the number of nanoseconds since 1970.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the UNIX time for @ntptime in nanoseconds.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an NTP timestamp</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_packet_fb_get_type"
+ c:identifier="gst_rtcp_packet_fb_get_type"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the feedback message type of the FB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The feedback message type.</doc>
+ <type name="RTCPFBType" c:type="GstRTCPFBType"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_packet_get_type"
+ c:identifier="gst_rtcp_packet_get_type">
+ <doc xml:whitespace="preserve">Get the packet type of the packet pointed to by @packet.
+pointing to a valid packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The packet type or GST_RTCP_TYPE_INVALID when @packet is not</doc>
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a valid #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_sdes_name_to_type"
+ c:identifier="gst_rtcp_sdes_name_to_type"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Convert @name into a @GstRTCPSDESType. @name is typically a key in a
+#GstStructure containing SDES items.
+is a private sdes item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a SDES name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_sdes_type_to_name"
+ c:identifier="gst_rtcp_sdes_type_to_name"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Converts @type to the string equivalent. The string is typically used as a
+key in a #GstStructure containing SDES items.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the string equivalent of @type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTCPSDESType</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_unix_to_ntp" c:identifier="gst_rtcp_unix_to_ntp">
+ <doc xml:whitespace="preserve">Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should
+pass a value with nanoseconds since 1970. The NTP time will, in the upper
+32 bits, contain the number of seconds since 1900 and, in the lower 32
+bits, the fractional seconds. The resulting value can be used as an ntptime
+for constructing SR RTCP packets.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the NTP time for @unixtime.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="unixtime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an UNIX timestamp in nanoseconds</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_add_extension_onebyte_header"
+ c:identifier="gst_rtp_buffer_add_extension_onebyte_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Adds a RFC 5285 header extension with a one byte header to the end of the
+RTP header. If there is already a RFC 5285 header extension with a one byte
+header, the new extension will be appended.
+It will not work if there is already a header extension that does not follow
+the mecanism described in RFC 5285 or if there is a header extension with
+a two bytes header as described in RFC 5285. In that case, use
+gst_rtp_buffer_add_extension_twobytes_header()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if header extension could be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_add_extension_twobytes_header"
+ c:identifier="gst_rtp_buffer_add_extension_twobytes_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Adds a RFC 5285 header extension with a two bytes header to the end of the
+RTP header. If there is already a RFC 5285 header extension with a two bytes
+header, the new extension will be appended.
+It will not work if there is already a header extension that does not follow
+the mecanism described in RFC 5285 or if there is a header extension with
+a one byte header as described in RFC 5285. In that case, use
+gst_rtp_buffer_add_extension_onebyte_header()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if header extension could be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="appbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Application specific bits</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_allocate_data"
+ c:identifier="gst_rtp_buffer_allocate_data">
+ <doc xml:whitespace="preserve">Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs,
+a payload length of @payload_len and padding of @pad_len.
+MALLOCDATA of @buffer will be overwritten and will not be freed.
+All other RTP header fields will be set to 0/FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_calc_header_len"
+ c:identifier="gst_rtp_buffer_calc_header_len">
+ <doc xml:whitespace="preserve">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
+An RTP packet can have at most 15 CSRC entries.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of an RTP header with @csrc_count CSRC entries.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_calc_packet_len"
+ c:identifier="gst_rtp_buffer_calc_packet_len">
+ <doc xml:whitespace="preserve">Calculate the total length of an RTP packet with a payload size of @payload_len,
+a padding of @pad_len and a @csrc_count CSRC entries.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The total length of an RTP header with given parameters.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_calc_payload_len"
+ c:identifier="gst_rtp_buffer_calc_payload_len">
+ <doc xml:whitespace="preserve">Calculate the length of the payload of an RTP packet with size @packet_len,
+a padding of @pad_len and a @csrc_count CSRC entries.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the payload of an RTP packet with given parameters.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the total RTP packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_compare_seqnum"
+ c:identifier="gst_rtp_buffer_compare_seqnum"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Compare two sequence numbers, taking care of wraparounds. This function
+returns the difference between @seqnum1 and @seqnum2.
+are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="seqnum1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="seqnum2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_default_clock_rate"
+ c:identifier="gst_rtp_buffer_default_clock_rate"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Get the default clock-rate for the static payload type @payload_type.
+the clock-rate is undefined.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the default clock rate or -1 if the payload type is not static or</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the static payload type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_ext_timestamp"
+ c:identifier="gst_rtp_buffer_ext_timestamp"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Update the @exttimestamp field with @timestamp. For the first call of the
+method, @exttimestamp should point to a location with a value of -1.
+This function makes sure that the returned value is a constantly increasing
+value even in the case where there is a timestamp wraparound.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The extended timestamp of @timestamp.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="exttimestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a previous extended timestamp</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_csrc"
+ c:identifier="gst_rtp_buffer_get_csrc">
+ <doc xml:whitespace="preserve">Get the CSRC at index @idx in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the CSRC at index @idx in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index of the CSRC to get</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_csrc_count"
+ c:identifier="gst_rtp_buffer_get_csrc_count">
+ <doc xml:whitespace="preserve">Get the CSRC count of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the CSRC count of @buffer.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_extension"
+ c:identifier="gst_rtp_buffer_get_extension">
+ <doc xml:whitespace="preserve">Check if the extension bit is set on the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer has the extension bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_extension_data"
+ c:identifier="gst_rtp_buffer_get_extension_data"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Get the extension data. @bits will contain the extension 16 bits of custom
+data. @data will point to the data in the extension and @wordlen will contain
+the length of @data in 32 bits words.
+If @buffer did not contain an extension, this function will return %FALSE
+with @bits, @data and @wordlen unchanged.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer had the extension bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="bits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for result bits</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="wordlen" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for length of @data in 32 bits words</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_extension_onebyte_header"
+ c:identifier="gst_rtp_buffer_get_extension_onebyte_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Parses RFC 5285 style header extensions with a one byte header. It will
+return the nth extension with the requested id.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_extension_twobytes_header"
+ c:identifier="gst_rtp_buffer_get_extension_twobytes_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Parses RFC 5285 style header extensions with a two bytes header. It will
+return the nth extension with the requested id.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="appbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Application specific bits</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_header_len"
+ c:identifier="gst_rtp_buffer_get_header_len">
+ <doc xml:whitespace="preserve">Return the total length of the header in @buffer. This include the length of
+the fixed header, the CSRC list and the extension header.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The total length of the header in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_marker"
+ c:identifier="gst_rtp_buffer_get_marker">
+ <doc xml:whitespace="preserve">Check if the marker bit is set on the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer has the marker bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_packet_len"
+ c:identifier="gst_rtp_buffer_get_packet_len">
+ <doc xml:whitespace="preserve">Return the total length of the packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The total length of the packet in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_padding"
+ c:identifier="gst_rtp_buffer_get_padding">
+ <doc xml:whitespace="preserve">Check if the padding bit is set on the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer has the padding bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_payload"
+ c:identifier="gst_rtp_buffer_get_payload"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Get a pointer to the payload data in @buffer. This pointer is valid as long
+as a reference to @buffer is held.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A pointer to the payload data in @buffer.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_payload_buffer"
+ c:identifier="gst_rtp_buffer_get_payload_buffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a buffer of the payload of the RTP packet in @buffer. This function
+will internally create a subbuffer of @buffer so that a memcpy can be
+avoided.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A new buffer with the data of the payload.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_payload_len"
+ c:identifier="gst_rtp_buffer_get_payload_len">
+ <doc xml:whitespace="preserve">Get the length of the payload of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the payload in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_payload_subbuffer"
+ c:identifier="gst_rtp_buffer_get_payload_subbuffer"
+ version="0.10.10"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes
+are skipped in the payload and the subbuffer will be of size @len.
+If @len is -1 the total payload starting from @offset if subbuffered.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A new buffer with the specified data of the payload.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset in the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length in the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_payload_type"
+ c:identifier="gst_rtp_buffer_get_payload_type">
+ <doc xml:whitespace="preserve">Get the payload type of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The payload type.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_seq" c:identifier="gst_rtp_buffer_get_seq">
+ <doc xml:whitespace="preserve">Get the sequence number of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The sequence number in host order.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_ssrc"
+ c:identifier="gst_rtp_buffer_get_ssrc">
+ <doc xml:whitespace="preserve">Get the SSRC of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SSRC of @buffer in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_timestamp"
+ c:identifier="gst_rtp_buffer_get_timestamp">
+ <doc xml:whitespace="preserve">Get the timestamp of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The timestamp in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_version"
+ c:identifier="gst_rtp_buffer_get_version">
+ <doc xml:whitespace="preserve">Get the version number of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The version of @buffer.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_add_extension_onebyte_header"
+ c:identifier="gst_rtp_buffer_list_add_extension_onebyte_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Adds a RFC 5285 header extension with a one byte header to the end of the
+RTP header. If there is already a RFC 5285 header extension with a one byte
+header, the new extension will be appended.
+It will not work if there is already a header extension that does not follow
+the mecanism described in RFC 5285 or if there is a header extension with
+a two bytes header as described in RFC 5285. In that case, use
+gst_rtp_buffer_list_add_extension_twobytes_header()
+This function will not modify the data section of the RTP buffer, only
+the header.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if header extension could be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBufferListIterator pointing right after the #GstBuffer where the header extension should be added</doc>
+ <type name="Gst.BufferListIterator" c:type="GstBufferListIterator*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_add_extension_twobytes_header"
+ c:identifier="gst_rtp_buffer_list_add_extension_twobytes_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Adds a RFC 5285 header extension with a two bytes header to the end of the
+RTP header. If there is already a RFC 5285 header extension with a two bytes
+header, the new extension will be appended.
+It will not work if there is already a header extension that does not follow
+the mecanism described in RFC 5285 or if there is a header extension with
+a one byte header as described in RFC 5285. In that case, use
+gst_rtp_buffer_add_extension_onebyte_header()
+This function will not modify the data section of the RTP buffer, only
+the header.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if header extension could be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBufferListIterator pointing right after the #GstBuffer where the header extension should be added</doc>
+ <type name="Gst.BufferListIterator" c:type="GstBufferListIterator*"/>
+ </parameter>
+ <parameter name="appbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Application specific bits</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_from_buffer"
+ c:identifier="gst_rtp_buffer_list_from_buffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Splits a #GstBuffer into a #GstBufferList containing separate
+buffers for the header and data sections.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer containing a RTP packet</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_extension_onebyte_header"
+ c:identifier="gst_rtp_buffer_list_get_extension_onebyte_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Parses RFC 5285 style header extensions with a one byte header. It will
+return the nth extension with the requested id.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bufferlist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bufferlist</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ <parameter name="group_idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The index of the group in the #GstBufferList</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_extension_twobytes_header"
+ c:identifier="gst_rtp_buffer_list_get_extension_twobytes_header"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Parses RFC 5285 style header extensions with a two bytes header. It will
+return the nth extension with the requested id.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bufferlist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bufferlist</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ <parameter name="group_idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The index of the group in the #GstBufferList</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="appbits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Application specific bits</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for data</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_payload_len"
+ c:identifier="gst_rtp_buffer_list_get_payload_len"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the length of the payload of the RTP packet in @list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The length of the payload in @list.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_payload_type"
+ c:identifier="gst_rtp_buffer_list_get_payload_type"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the payload type of the first RTP packet in @list.
+All packets in @list should have the same payload type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The payload type.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_seq"
+ c:identifier="gst_rtp_buffer_list_get_seq"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the sequence number of the first RTP packet in @list.
+All packets within @list have the same sequence number.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The seq number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_ssrc"
+ c:identifier="gst_rtp_buffer_list_get_ssrc"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the SSRC of the first RTP packet in @list.
+All RTP packets within @list have the same SSRC.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the SSRC of @list in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_get_timestamp"
+ c:identifier="gst_rtp_buffer_list_get_timestamp"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Get the timestamp of the first RTP packet in @list.
+All packets within @list have the same timestamp.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The timestamp in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_set_payload_type"
+ c:identifier="gst_rtp_buffer_list_set_payload_type"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set the payload type of each RTP packet in @list to @payload_type.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_set_seq"
+ c:identifier="gst_rtp_buffer_list_set_seq"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set the sequence number of each RTP packet in @list to @seq.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The seq number of the last packet in the list + 1.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ <parameter name="seq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_set_ssrc"
+ c:identifier="gst_rtp_buffer_list_set_ssrc"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set the SSRC on each RTP packet in @list to @ssrc.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_set_timestamp"
+ c:identifier="gst_rtp_buffer_list_set_timestamp"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Set the timestamp of each RTP packet in @list to @timestamp.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_list_validate"
+ c:identifier="gst_rtp_buffer_list_validate"
+ version="0.10.24">
+ <doc xml:whitespace="preserve">Check if all RTP packets in the @list are valid using validate_data().
+Use this function to validate an list before using the other functions in
+this module.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @list consists only of valid RTP packets.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer list to validate</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_allocate"
+ c:identifier="gst_rtp_buffer_new_allocate"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Allocate a new #GstBuffer with enough data to hold an RTP packet with
+All other RTP header fields will be set to 0/FALSE.
+parameters.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer that can hold an RTP packet with given</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_allocate_len"
+ c:identifier="gst_rtp_buffer_new_allocate_len"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new #GstBuffer that can hold an RTP packet that is exactly
+All RTP header fields will be set to 0/FALSE.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the total length of the packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_copy_data"
+ c:identifier="gst_rtp_buffer_new_copy_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new buffer and set the data to a copy of @len
+bytes of @data and the size to @len. The data will be freed when the buffer
+is freed.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer with a copy of @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data for the new buffer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_take_data"
+ c:identifier="gst_rtp_buffer_new_take_data"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a new buffer and set the data and size of the buffer to @data and @len
+respectively. @data will be freed when the buffer is unreffed, so this
+function transfers ownership of @data to the new buffer.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A newly allocated buffer with @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data for the new buffer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_pad_to" c:identifier="gst_rtp_buffer_pad_to">
+ <doc xml:whitespace="preserve">Set the amount of padding in the RTP packet in @buffer to</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new amount of padding</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_csrc"
+ c:identifier="gst_rtp_buffer_set_csrc">
+ <doc xml:whitespace="preserve">Modify the CSRC at index @idx in @buffer to @csrc.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the CSRC index to set</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the CSRC in host order to set at @idx</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_extension"
+ c:identifier="gst_rtp_buffer_set_extension">
+ <doc xml:whitespace="preserve">Set the extension bit on the RTP packet in @buffer to @extension.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="extension" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_extension_data"
+ c:identifier="gst_rtp_buffer_set_extension_data"
+ version="0.10.18">
+ <doc xml:whitespace="preserve">Set the extension bit of the rtp buffer and fill in the @bits and @length of the
+extension header. It will refuse to set the extension data if the buffer is not
+large enough.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">True if done.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="bits" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bits specific for the extension</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length that counts the number of 32-bit words in the extension, excluding the extension header ( therefore zero is a valid length)</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_marker"
+ c:identifier="gst_rtp_buffer_set_marker">
+ <doc xml:whitespace="preserve">Set the marker bit on the RTP packet in @buffer to @marker.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new marker</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_packet_len"
+ c:identifier="gst_rtp_buffer_set_packet_len">
+ <doc xml:whitespace="preserve">Set the total @buffer size to @len. The data in the buffer will be made
+larger if needed. Any padding will be removed from the packet.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new packet length</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_padding"
+ c:identifier="gst_rtp_buffer_set_padding">
+ <doc xml:whitespace="preserve">Set the padding bit on the RTP packet in @buffer to @padding.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="padding" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new padding</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_payload_type"
+ c:identifier="gst_rtp_buffer_set_payload_type">
+ <doc xml:whitespace="preserve">Set the payload type of the RTP packet in @buffer to @payload_type.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_seq" c:identifier="gst_rtp_buffer_set_seq">
+ <doc xml:whitespace="preserve">Set the sequence number of the RTP packet in @buffer to @seq.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="seq" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_ssrc"
+ c:identifier="gst_rtp_buffer_set_ssrc">
+ <doc xml:whitespace="preserve">Set the SSRC on the RTP packet in @buffer to @ssrc.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_timestamp"
+ c:identifier="gst_rtp_buffer_set_timestamp">
+ <doc xml:whitespace="preserve">Set the timestamp of the RTP packet in @buffer to @timestamp.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_set_version"
+ c:identifier="gst_rtp_buffer_set_version">
+ <doc xml:whitespace="preserve">Set the version of the RTP packet in @buffer to @version.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new version</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_validate"
+ c:identifier="gst_rtp_buffer_validate">
+ <doc xml:whitespace="preserve">Check if the data pointed to by @buffer is a valid RTP packet using
+validate_data().
+Use this function to validate a packet before using the other functions in
+this module.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @buffer is a valid RTP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the buffer to validate</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_validate_data"
+ c:identifier="gst_rtp_buffer_validate_data">
+ <doc xml:whitespace="preserve">Check if the @data and @size point to the data of a valid RTP packet.
+This function checks the length, version and padding of the packet data.
+Use this function to validate a packet before using the other functions in
+this module.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the data points to a valid RTP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to validate</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of @data to validate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_payload_info_for_name"
+ c:identifier="gst_rtp_payload_info_for_name">
+ <doc xml:whitespace="preserve">Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is
+mostly used to get the default clock-rate and bandwidth for dynamic payload
+types specified with @media and @encoding name.
+The search for @encoding_name will be performed in a case insensitve way.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
+ <type name="RTPPayloadInfo" c:type="GstRTPPayloadInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the encoding name to find</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_payload_info_for_pt"
+ c:identifier="gst_rtp_payload_info_for_pt">
+ <doc xml:whitespace="preserve">Get the #GstRTPPayloadInfo for @payload_type. This function is
+mostly used to get the default clock-rate and bandwidth for static payload
+types specified with @payload_type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
+ <type name="RTPPayloadInfo" c:type="GstRTPPayloadInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the payload_type to find</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries combinators kernel system
+gobject-introspection glib.ffi gstreamer.base.ffi gstreamer.ffi ;
+IN: gstreamer.rtp.ffi
+
+<<
+"gstreamer.rtp" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstrtp-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/rtp/GstRtp-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.rtp.ffi ;
+IN: gstreamer.rtp
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstSdp" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-rtsp-0.10"/>
+ <c:include name="gst/audio/gstrtsp-enumtypes.h"/>
+ <c:include name="gst/audio/gstrtspbase64.h"/>
+ <c:include name="gst/audio/gstrtspconnection.h"/>
+ <c:include name="gst/audio/gstrtspdefs.h"/>
+ <c:include name="gst/audio/gstrtspextension.h"/>
+ <c:include name="gst/audio/gstrtspmessage.h"/>
+ <c:include name="gst/audio/gstrtsprange.h"/>
+ <c:include name="gst/audio/gstrtsptransport.h"/>
+ <c:include name="gst/audio/gstrtspurl.h"/>
+ <namespace name="GstRtsp"
+ version="0.10"
+ shared-library="libgstrtsp-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <enumeration name="RTSPAuthMethod"
+ glib:type-name="GstRTSPAuthMethod"
+ glib:get-type="gst_rtsp_auth_method_get_type"
+ c:type="GstRTSPAuthMethod">
+ <doc xml:whitespace="preserve">Authentication methods, ordered by strength</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_RTSP_AUTH_NONE"
+ glib:nick="none"/>
+ <member name="basic"
+ value="1"
+ c:identifier="GST_RTSP_AUTH_BASIC"
+ glib:nick="basic"/>
+ <member name="digest"
+ value="2"
+ c:identifier="GST_RTSP_AUTH_DIGEST"
+ glib:nick="digest"/>
+ </enumeration>
+ <record name="RTSPConnection" c:type="GstRTSPConnection" disguised="1">
+ <doc xml:whitespace="preserve">Opaque RTSP connection object.</doc>
+ <method name="clear_auth_params"
+ c:identifier="gst_rtsp_connection_clear_auth_params"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Clear the list of authentication directives stored in @conn.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="close" c:identifier="gst_rtsp_connection_close">
+ <doc xml:whitespace="preserve">Close the connected @conn. After this call, the connection is in the same
+state as when it was first created.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="connect" c:identifier="gst_rtsp_connection_connect">
+ <doc xml:whitespace="preserve">Attempt to connect to the url of @conn made with
+gst_rtsp_connection_create(). If @timeout is #NULL this function can block
+forever. If @timeout contains a valid timeout, this function will return
+#GST_RTSP_ETIMEOUT after the timeout expired.
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK when a connection could be made.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GTimeVal timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do_tunnel"
+ c:identifier="gst_rtsp_connection_do_tunnel"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">If @conn received the first tunnel connection and @conn2 received
+the second tunnel connection, link the two connections together so that
+After this call, @conn2 cannot be used anymore and must be freed with
+gst_rtsp_connection_free().
+If @conn2 is %NULL then only the base64 decoding context will be setup for</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">return GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="conn2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPConnection or %NULL</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush" c:identifier="gst_rtsp_connection_flush">
+ <doc xml:whitespace="preserve">Start or stop the flushing action on @conn. When flushing, all current
+and future actions on @conn will return #GST_RTSP_EINTR until the connection
+is set to non-flushing mode again.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:whitespace="preserve">start or stop the flush</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_connection_free">
+ <doc xml:whitespace="preserve">Close and free @conn.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="get_ip"
+ c:identifier="gst_rtsp_connection_get_ip"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Retrieve the IP address of the other end of @conn.
+connection is closed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The IP address as a string. this value remains valid until the</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_readfd"
+ c:identifier="gst_rtsp_connection_get_readfd"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the file descriptor for reading.
+descriptor remains valid until the connection is closed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the file descriptor used for reading or -1 on error. The file</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="get_tunnelid"
+ c:identifier="gst_rtsp_connection_get_tunnelid"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the tunnel session id the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">returns a non-empty string if @conn is being tunneled over HTTP.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_url"
+ c:identifier="gst_rtsp_connection_get_url"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Retrieve the URL of the other end of @conn.
+connection is freed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The URL. This value remains valid until the</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </return-value>
+ </method>
+ <method name="get_writefd"
+ c:identifier="gst_rtsp_connection_get_writefd"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the file descriptor for writing.
+descriptor remains valid until the connection is closed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the file descriptor used for writing or -1 on error. The file</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <method name="is_tunneled"
+ c:identifier="gst_rtsp_connection_is_tunneled"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Get the tunneling state of the connection.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">if @conn is using HTTP tunneling.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </method>
+ <method name="next_timeout"
+ c:identifier="gst_rtsp_connection_next_timeout">
+ <doc xml:whitespace="preserve">Calculate the next timeout for @conn, storing the result in @timeout.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="poll"
+ c:identifier="gst_rtsp_connection_poll"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">Wait up to the specified @timeout for the connection to become available for
+at least one of the operations specified in @events. When the function returns
+with #GST_RTSP_OK, @revents will contain a bitmask of available operations on
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="events" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a bitmask of #GstRTSPEvent flags to check</doc>
+ <type name="RTSPEvent" c:type="GstRTSPEvent"/>
+ </parameter>
+ <parameter name="revents" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for result flags</doc>
+ <type name="RTSPEvent" c:type="GstRTSPEvent*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read" c:identifier="gst_rtsp_connection_read">
+ <doc xml:whitespace="preserve">Attempt to read @size bytes into @data from the connected @conn, blocking up to
+the specified @timeout. @timeout can be #NULL, in which case this function
+might block forever.
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to read</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout value or #NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="receive" c:identifier="gst_rtsp_connection_receive">
+ <doc xml:whitespace="preserve">Attempt to read into @message from the connected @conn, blocking up to
+the specified @timeout. @timeout can be #NULL, in which case this function
+might block forever.
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message to read</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout value or #NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset_timeout"
+ c:identifier="gst_rtsp_connection_reset_timeout">
+ <doc xml:whitespace="preserve">Reset the timeout of @conn.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="send" c:identifier="gst_rtsp_connection_send">
+ <doc xml:whitespace="preserve">Attempt to send @message to the connected @conn, blocking up to
+the specified @timeout. @timeout can be #NULL, in which case this function
+might block forever.
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message to send</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout value or #NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auth" c:identifier="gst_rtsp_connection_set_auth">
+ <doc xml:whitespace="preserve">Configure @conn for authentication mode @method with @user and @pass as the
+user and password respectively.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">authentication method</doc>
+ <type name="RTSPAuthMethod" c:type="GstRTSPAuthMethod"/>
+ </parameter>
+ <parameter name="user" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the user</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="pass" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the password</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auth_param"
+ c:identifier="gst_rtsp_connection_set_auth_param"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Setup @conn with authentication directives. This is not necesary for
+methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For
+#GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge
+in the WWW-Authenticate response header and can include realm, domain,
+nonce, opaque, stale, algorithm, qop as per RFC2617.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <doc xml:whitespace="preserve">authentication directive</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_http_mode"
+ c:identifier="gst_rtsp_connection_set_http_mode"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">By setting the HTTP mode to %TRUE the message parsing will support HTTP
+messages in addition to the RTSP messages. It will also disable the
+automatic handling of setting up an HTTP tunnel.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enable" transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE to enable manual HTTP mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ip"
+ c:identifier="gst_rtsp_connection_set_ip"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the IP address of the server.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="ip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an ip address</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_proxy"
+ c:identifier="gst_rtsp_connection_set_proxy"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the proxy host and port.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="host" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxy host</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the proxy port</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_dscp"
+ c:identifier="gst_rtsp_connection_set_qos_dscp"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Configure @conn to use the specified DSCP value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="qos_dscp" transfer-ownership="none">
+ <doc xml:whitespace="preserve">DSCP value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tunneled"
+ c:identifier="gst_rtsp_connection_set_tunneled"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Set the HTTP tunneling state of the connection. This must be configured before
+the @conn is connected.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tunneled" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write" c:identifier="gst_rtsp_connection_write">
+ <doc xml:whitespace="preserve">Attempt to write @size bytes of @data to the connected @conn, blocking up to
+the specified @timeout. @timeout can be #NULL, in which case this function
+might block forever.
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to write</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a timeout value or #NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="RTSPEvent"
+ glib:type-name="GstRTSPEvent"
+ glib:get-type="gst_rtsp_event_get_type"
+ c:type="GstRTSPEvent">
+ <doc xml:whitespace="preserve">The possible events for the connection.</doc>
+ <member name="read"
+ value="1"
+ c:identifier="GST_RTSP_EV_READ"
+ glib:nick="read"/>
+ <member name="write"
+ value="2"
+ c:identifier="GST_RTSP_EV_WRITE"
+ glib:nick="write"/>
+ </bitfield>
+ <interface name="RTSPExtension"
+ c:symbol-prefix="rtsp_extension"
+ c:type="GstRTSPExtension"
+ glib:type-name="GstRTSPExtension"
+ glib:get-type="gst_rtsp_extension_get_type"
+ glib:type-struct="RTSPExtensionInterface">
+ <virtual-method name="after_send" invoker="after_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="before_send" invoker="before_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="configure_stream" invoker="configure_stream">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="detect_server" invoker="detect_server">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_transports" invoker="get_transports">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocols" transfer-ownership="none">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="parse_sdp" invoker="parse_sdp">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="sdp" transfer-ownership="none">
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="receive_request" invoker="receive_request">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="setup_media" invoker="setup_media">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stream_select" invoker="stream_select">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="url" transfer-ownership="none">
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="after_send" c:identifier="gst_rtsp_extension_after_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="before_send" c:identifier="gst_rtsp_extension_before_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="configure_stream"
+ c:identifier="gst_rtsp_extension_configure_stream">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="detect_server"
+ c:identifier="gst_rtsp_extension_detect_server">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_transports"
+ c:identifier="gst_rtsp_extension_get_transports">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocols" transfer-ownership="none">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_sdp" c:identifier="gst_rtsp_extension_parse_sdp">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="sdp" transfer-ownership="none">
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="receive_request"
+ c:identifier="gst_rtsp_extension_receive_request">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send" c:identifier="gst_rtsp_extension_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="setup_media" c:identifier="gst_rtsp_extension_setup_media">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="stream_select"
+ c:identifier="gst_rtsp_extension_stream_select">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="url" transfer-ownership="none">
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="gpointer"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="RTSPExtensionInterface"
+ c:type="GstRTSPExtensionInterface"
+ glib:is-gtype-struct-for="RTSPExtension">
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="detect_server">
+ <callback name="detect_server">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="before_send">
+ <callback name="before_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="after_send">
+ <callback name="after_send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parse_sdp">
+ <callback name="parse_sdp">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="sdp" transfer-ownership="none">
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="setup_media">
+ <callback name="setup_media">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="media" transfer-ownership="none">
+ <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="configure_stream">
+ <callback name="configure_stream">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_transports">
+ <callback name="get_transports">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="protocols" transfer-ownership="none">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stream_select">
+ <callback name="stream_select">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="url" transfer-ownership="none">
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="send">
+ <callback name="send">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="receive_request">
+ <callback name="receive_request">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="RTSPFamily"
+ glib:type-name="GstRTSPFamily"
+ glib:get-type="gst_rtsp_family_get_type"
+ c:type="GstRTSPFamily">
+ <doc xml:whitespace="preserve">The possible network families.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_RTSP_FAM_NONE"
+ glib:nick="none"/>
+ <member name="inet"
+ value="1"
+ c:identifier="GST_RTSP_FAM_INET"
+ glib:nick="inet"/>
+ <member name="inet6"
+ value="2"
+ c:identifier="GST_RTSP_FAM_INET6"
+ glib:nick="inet6"/>
+ </enumeration>
+ <enumeration name="RTSPHeaderField"
+ glib:type-name="GstRTSPHeaderField"
+ glib:get-type="gst_rtsp_header_field_get_type"
+ c:type="GstRTSPHeaderField">
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_HDR_INVALID"
+ glib:nick="invalid"/>
+ <member name="accept"
+ value="1"
+ c:identifier="GST_RTSP_HDR_ACCEPT"
+ glib:nick="accept"/>
+ <member name="accept_encoding"
+ value="2"
+ c:identifier="GST_RTSP_HDR_ACCEPT_ENCODING"
+ glib:nick="accept-encoding"/>
+ <member name="accept_language"
+ value="3"
+ c:identifier="GST_RTSP_HDR_ACCEPT_LANGUAGE"
+ glib:nick="accept-language"/>
+ <member name="allow"
+ value="4"
+ c:identifier="GST_RTSP_HDR_ALLOW"
+ glib:nick="allow"/>
+ <member name="authorization"
+ value="5"
+ c:identifier="GST_RTSP_HDR_AUTHORIZATION"
+ glib:nick="authorization"/>
+ <member name="bandwidth"
+ value="6"
+ c:identifier="GST_RTSP_HDR_BANDWIDTH"
+ glib:nick="bandwidth"/>
+ <member name="blocksize"
+ value="7"
+ c:identifier="GST_RTSP_HDR_BLOCKSIZE"
+ glib:nick="blocksize"/>
+ <member name="cache_control"
+ value="8"
+ c:identifier="GST_RTSP_HDR_CACHE_CONTROL"
+ glib:nick="cache-control"/>
+ <member name="conference"
+ value="9"
+ c:identifier="GST_RTSP_HDR_CONFERENCE"
+ glib:nick="conference"/>
+ <member name="connection"
+ value="10"
+ c:identifier="GST_RTSP_HDR_CONNECTION"
+ glib:nick="connection"/>
+ <member name="content_base"
+ value="11"
+ c:identifier="GST_RTSP_HDR_CONTENT_BASE"
+ glib:nick="content-base"/>
+ <member name="content_encoding"
+ value="12"
+ c:identifier="GST_RTSP_HDR_CONTENT_ENCODING"
+ glib:nick="content-encoding"/>
+ <member name="content_language"
+ value="13"
+ c:identifier="GST_RTSP_HDR_CONTENT_LANGUAGE"
+ glib:nick="content-language"/>
+ <member name="content_length"
+ value="14"
+ c:identifier="GST_RTSP_HDR_CONTENT_LENGTH"
+ glib:nick="content-length"/>
+ <member name="content_location"
+ value="15"
+ c:identifier="GST_RTSP_HDR_CONTENT_LOCATION"
+ glib:nick="content-location"/>
+ <member name="content_type"
+ value="16"
+ c:identifier="GST_RTSP_HDR_CONTENT_TYPE"
+ glib:nick="content-type"/>
+ <member name="cseq"
+ value="17"
+ c:identifier="GST_RTSP_HDR_CSEQ"
+ glib:nick="cseq"/>
+ <member name="date"
+ value="18"
+ c:identifier="GST_RTSP_HDR_DATE"
+ glib:nick="date"/>
+ <member name="expires"
+ value="19"
+ c:identifier="GST_RTSP_HDR_EXPIRES"
+ glib:nick="expires"/>
+ <member name="from"
+ value="20"
+ c:identifier="GST_RTSP_HDR_FROM"
+ glib:nick="from"/>
+ <member name="if_modified_since"
+ value="21"
+ c:identifier="GST_RTSP_HDR_IF_MODIFIED_SINCE"
+ glib:nick="if-modified-since"/>
+ <member name="last_modified"
+ value="22"
+ c:identifier="GST_RTSP_HDR_LAST_MODIFIED"
+ glib:nick="last-modified"/>
+ <member name="proxy_authenticate"
+ value="23"
+ c:identifier="GST_RTSP_HDR_PROXY_AUTHENTICATE"
+ glib:nick="proxy-authenticate"/>
+ <member name="proxy_require"
+ value="24"
+ c:identifier="GST_RTSP_HDR_PROXY_REQUIRE"
+ glib:nick="proxy-require"/>
+ <member name="public"
+ value="25"
+ c:identifier="GST_RTSP_HDR_PUBLIC"
+ glib:nick="public"/>
+ <member name="range"
+ value="26"
+ c:identifier="GST_RTSP_HDR_RANGE"
+ glib:nick="range"/>
+ <member name="referer"
+ value="27"
+ c:identifier="GST_RTSP_HDR_REFERER"
+ glib:nick="referer"/>
+ <member name="require"
+ value="28"
+ c:identifier="GST_RTSP_HDR_REQUIRE"
+ glib:nick="require"/>
+ <member name="retry_after"
+ value="29"
+ c:identifier="GST_RTSP_HDR_RETRY_AFTER"
+ glib:nick="retry-after"/>
+ <member name="rtp_info"
+ value="30"
+ c:identifier="GST_RTSP_HDR_RTP_INFO"
+ glib:nick="rtp-info"/>
+ <member name="scale"
+ value="31"
+ c:identifier="GST_RTSP_HDR_SCALE"
+ glib:nick="scale"/>
+ <member name="session"
+ value="32"
+ c:identifier="GST_RTSP_HDR_SESSION"
+ glib:nick="session"/>
+ <member name="server"
+ value="33"
+ c:identifier="GST_RTSP_HDR_SERVER"
+ glib:nick="server"/>
+ <member name="speed"
+ value="34"
+ c:identifier="GST_RTSP_HDR_SPEED"
+ glib:nick="speed"/>
+ <member name="transport"
+ value="35"
+ c:identifier="GST_RTSP_HDR_TRANSPORT"
+ glib:nick="transport"/>
+ <member name="unsupported"
+ value="36"
+ c:identifier="GST_RTSP_HDR_UNSUPPORTED"
+ glib:nick="unsupported"/>
+ <member name="user_agent"
+ value="37"
+ c:identifier="GST_RTSP_HDR_USER_AGENT"
+ glib:nick="user-agent"/>
+ <member name="via"
+ value="38"
+ c:identifier="GST_RTSP_HDR_VIA"
+ glib:nick="via"/>
+ <member name="www_authenticate"
+ value="39"
+ c:identifier="GST_RTSP_HDR_WWW_AUTHENTICATE"
+ glib:nick="www-authenticate"/>
+ <member name="client_challenge"
+ value="40"
+ c:identifier="GST_RTSP_HDR_CLIENT_CHALLENGE"
+ glib:nick="client-challenge"/>
+ <member name="real_challenge1"
+ value="41"
+ c:identifier="GST_RTSP_HDR_REAL_CHALLENGE1"
+ glib:nick="real-challenge1"/>
+ <member name="real_challenge2"
+ value="42"
+ c:identifier="GST_RTSP_HDR_REAL_CHALLENGE2"
+ glib:nick="real-challenge2"/>
+ <member name="real_challenge3"
+ value="43"
+ c:identifier="GST_RTSP_HDR_REAL_CHALLENGE3"
+ glib:nick="real-challenge3"/>
+ <member name="subscribe"
+ value="44"
+ c:identifier="GST_RTSP_HDR_SUBSCRIBE"
+ glib:nick="subscribe"/>
+ <member name="alert"
+ value="45"
+ c:identifier="GST_RTSP_HDR_ALERT"
+ glib:nick="alert"/>
+ <member name="client_id"
+ value="46"
+ c:identifier="GST_RTSP_HDR_CLIENT_ID"
+ glib:nick="client-id"/>
+ <member name="company_id"
+ value="47"
+ c:identifier="GST_RTSP_HDR_COMPANY_ID"
+ glib:nick="company-id"/>
+ <member name="guid"
+ value="48"
+ c:identifier="GST_RTSP_HDR_GUID"
+ glib:nick="guid"/>
+ <member name="region_data"
+ value="49"
+ c:identifier="GST_RTSP_HDR_REGION_DATA"
+ glib:nick="region-data"/>
+ <member name="max_asm_width"
+ value="50"
+ c:identifier="GST_RTSP_HDR_MAX_ASM_WIDTH"
+ glib:nick="max-asm-width"/>
+ <member name="language"
+ value="51"
+ c:identifier="GST_RTSP_HDR_LANGUAGE"
+ glib:nick="language"/>
+ <member name="player_start_time"
+ value="52"
+ c:identifier="GST_RTSP_HDR_PLAYER_START_TIME"
+ glib:nick="player-start-time"/>
+ <member name="location"
+ value="53"
+ c:identifier="GST_RTSP_HDR_LOCATION"
+ glib:nick="location"/>
+ <member name="etag"
+ value="54"
+ c:identifier="GST_RTSP_HDR_ETAG"
+ glib:nick="etag"/>
+ <member name="if_match"
+ value="55"
+ c:identifier="GST_RTSP_HDR_IF_MATCH"
+ glib:nick="if-match"/>
+ <member name="accept_charset"
+ value="56"
+ c:identifier="GST_RTSP_HDR_ACCEPT_CHARSET"
+ glib:nick="accept-charset"/>
+ <member name="supported"
+ value="57"
+ c:identifier="GST_RTSP_HDR_SUPPORTED"
+ glib:nick="supported"/>
+ <member name="vary"
+ value="58"
+ c:identifier="GST_RTSP_HDR_VARY"
+ glib:nick="vary"/>
+ <member name="x_accelerate_streaming"
+ value="59"
+ c:identifier="GST_RTSP_HDR_X_ACCELERATE_STREAMING"
+ glib:nick="x-accelerate-streaming"/>
+ <member name="x_accept_authent"
+ value="60"
+ c:identifier="GST_RTSP_HDR_X_ACCEPT_AUTHENT"
+ glib:nick="x-accept-authent"/>
+ <member name="x_accept_proxy_authent"
+ value="61"
+ c:identifier="GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT"
+ glib:nick="x-accept-proxy-authent"/>
+ <member name="x_broadcast_id"
+ value="62"
+ c:identifier="GST_RTSP_HDR_X_BROADCAST_ID"
+ glib:nick="x-broadcast-id"/>
+ <member name="x_burst_streaming"
+ value="63"
+ c:identifier="GST_RTSP_HDR_X_BURST_STREAMING"
+ glib:nick="x-burst-streaming"/>
+ <member name="x_notice"
+ value="64"
+ c:identifier="GST_RTSP_HDR_X_NOTICE"
+ glib:nick="x-notice"/>
+ <member name="x_player_lag_time"
+ value="65"
+ c:identifier="GST_RTSP_HDR_X_PLAYER_LAG_TIME"
+ glib:nick="x-player-lag-time"/>
+ <member name="x_playlist"
+ value="66"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST"
+ glib:nick="x-playlist"/>
+ <member name="x_playlist_change_notice"
+ value="67"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE"
+ glib:nick="x-playlist-change-notice"/>
+ <member name="x_playlist_gen_id"
+ value="68"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST_GEN_ID"
+ glib:nick="x-playlist-gen-id"/>
+ <member name="x_playlist_seek_id"
+ value="69"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST_SEEK_ID"
+ glib:nick="x-playlist-seek-id"/>
+ <member name="x_proxy_client_agent"
+ value="70"
+ c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_AGENT"
+ glib:nick="x-proxy-client-agent"/>
+ <member name="x_proxy_client_verb"
+ value="71"
+ c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_VERB"
+ glib:nick="x-proxy-client-verb"/>
+ <member name="x_receding_playlistchange"
+ value="72"
+ c:identifier="GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE"
+ glib:nick="x-receding-playlistchange"/>
+ <member name="x_rtp_info"
+ value="73"
+ c:identifier="GST_RTSP_HDR_X_RTP_INFO"
+ glib:nick="x-rtp-info"/>
+ <member name="x_startupprofile"
+ value="74"
+ c:identifier="GST_RTSP_HDR_X_STARTUPPROFILE"
+ glib:nick="x-startupprofile"/>
+ <member name="timestamp"
+ value="75"
+ c:identifier="GST_RTSP_HDR_TIMESTAMP"
+ glib:nick="timestamp"/>
+ <member name="authentication_info"
+ value="76"
+ c:identifier="GST_RTSP_HDR_AUTHENTICATION_INFO"
+ glib:nick="authentication-info"/>
+ <member name="host"
+ value="77"
+ c:identifier="GST_RTSP_HDR_HOST"
+ glib:nick="host"/>
+ <member name="pragma"
+ value="78"
+ c:identifier="GST_RTSP_HDR_PRAGMA"
+ glib:nick="pragma"/>
+ <member name="x_server_ip_address"
+ value="79"
+ c:identifier="GST_RTSP_HDR_X_SERVER_IP_ADDRESS"
+ glib:nick="x-server-ip-address"/>
+ <member name="x_sessioncookie"
+ value="80"
+ c:identifier="GST_RTSP_HDR_X_SESSIONCOOKIE"
+ glib:nick="x-sessioncookie"/>
+ <member name="last"
+ value="81"
+ c:identifier="GST_RTSP_HDR_LAST"
+ glib:nick="last"/>
+ </enumeration>
+ <bitfield name="RTSPLowerTrans"
+ glib:type-name="GstRTSPLowerTrans"
+ glib:get-type="gst_rtsp_lower_trans_get_type"
+ c:type="GstRTSPLowerTrans">
+ <doc xml:whitespace="preserve">The different transport methods.</doc>
+ <member name="udp_unicast"
+ value="1"
+ c:identifier="GST_RTSP_LOWER_TRANS_UDP"
+ glib:nick="udp-unicast"/>
+ <member name="udp_multicast"
+ value="2"
+ c:identifier="GST_RTSP_LOWER_TRANS_UDP_MCAST"
+ glib:nick="udp-multicast"/>
+ <member name="tcp"
+ value="4"
+ c:identifier="GST_RTSP_LOWER_TRANS_TCP"
+ glib:nick="tcp"/>
+ <member name="http"
+ value="16"
+ c:identifier="GST_RTSP_LOWER_TRANS_HTTP"
+ glib:nick="http"/>
+ </bitfield>
+ <record name="RTSPMessage" c:type="GstRTSPMessage">
+ <doc xml:whitespace="preserve">An RTSP message containing request, response or data messages. Depending on
+the @type, the appropriate structure may be accessed.</doc>
+ <field name="type" writable="1">
+ <type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
+ </field>
+ <union name="type_data" c:type="type_data">
+ <record name="request" c:type="request">
+ <field name="method" writable="1">
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </field>
+ <field name="uri" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="version" writable="1">
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </field>
+ </record>
+ <record name="response" c:type="response">
+ <field name="code" writable="1">
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </field>
+ <field name="reason" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="version" writable="1">
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </field>
+ </record>
+ <record name="data" c:type="data">
+ <field name="channel" writable="1">
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ </record>
+ </union>
+ <field name="hdr_fields" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="body" writable="1">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="body_size" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="add_header" c:identifier="gst_rtsp_message_add_header">
+ <doc xml:whitespace="preserve">Add a header with key @field and @value to @msg. This function takes a copy
+of @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value of the header</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_headers"
+ c:identifier="gst_rtsp_message_append_headers">
+ <doc xml:whitespace="preserve">Append the currently configured headers in @msg to the #GString @str suitable
+for transmission.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string</doc>
+ <type name="GLib.String" c:type="GString*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump" c:identifier="gst_rtsp_message_dump">
+ <doc xml:whitespace="preserve">Dump the contents of @msg to stdout.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_message_free">
+ <doc xml:whitespace="preserve">Free the memory used by @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="get_body" c:identifier="gst_rtsp_message_get_body">
+ <doc xml:whitespace="preserve">Get the body of @msg. @data remains valid for as long as @msg is valid and
+unchanged.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the data</doc>
+ <type name="guint8" c:type="guint8**"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the size of @data</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_header" c:identifier="gst_rtsp_message_get_header">
+ <doc xml:whitespace="preserve">Get the @indx header value with key @field from @msg. The result in @value
+stays valid as long as it remains present in @msg.
+was not found.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to hold the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="indx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index of the header</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_rtsp_message_init">
+ <doc xml:whitespace="preserve">Initialize @msg. This function is mostly used when @msg is allocated on the
+stack. The reverse operation of this is gst_rtsp_message_unset().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="init_data" c:identifier="gst_rtsp_message_init_data">
+ <doc xml:whitespace="preserve">Initialize a new data #GstRTSPMessage for @channel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a channel</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_request" c:identifier="gst_rtsp_message_init_request">
+ <doc xml:whitespace="preserve">Initialize @msg as a request message with @method and @uri. To clear @msg
+again, use gst_rtsp_message_unset().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the request method to use</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the uri of the request</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_response"
+ c:identifier="gst_rtsp_message_init_response">
+ <doc xml:whitespace="preserve">Initialize @msg with @code and @reason.
+When @reason is #NULL, the default reason for @code will be used.
+When @request is not #NULL, the relevant headers will be copied to the new
+response message.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the status code</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </parameter>
+ <parameter name="reason" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the status reason or #NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="request" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the request that triggered the response or #NULL</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_data" c:identifier="gst_rtsp_message_parse_data">
+ <doc xml:whitespace="preserve">Parse the data message @msg and store the channel in @channel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the channel</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_request"
+ c:identifier="gst_rtsp_message_parse_request">
+ <doc xml:whitespace="preserve">Parse the request message @msg and store the values @method, @uri and
+value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the method</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the uri</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the version</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_response"
+ c:identifier="gst_rtsp_message_parse_response">
+ <doc xml:whitespace="preserve">Parse the response message @msg and store the values @code, @reason and
+value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the status code</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode*"/>
+ </parameter>
+ <parameter name="reason" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the status reason</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the version</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_header"
+ c:identifier="gst_rtsp_message_remove_header">
+ <doc xml:whitespace="preserve">Remove the @indx header with key @field from @msg. If @indx equals -1, all
+headers will be removed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="indx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index of the header</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_body" c:identifier="gst_rtsp_message_set_body">
+ <doc xml:whitespace="preserve">Set the body of @msg to a copy of @data.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="steal_body" c:identifier="gst_rtsp_message_steal_body">
+ <doc xml:whitespace="preserve">Take the body of @msg and store it in @data and @size. After this method,
+the body and size of @msg will be set to #NULL and 0 respectively.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the data</doc>
+ <type name="guint8" c:type="guint8**"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for the size of @data</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_body" c:identifier="gst_rtsp_message_take_body">
+ <doc xml:whitespace="preserve">Set the body of @msg to @data and @size. This method takes ownership of</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_header"
+ c:identifier="gst_rtsp_message_take_header"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Add a header with key @field and @value to @msg. This function takes
+ownership of @value.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value of the header</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset" c:identifier="gst_rtsp_message_unset">
+ <doc xml:whitespace="preserve">Unset the contents of @msg so that it becomes an uninitialized
+#GstRTSPMessage again. This function is mostly used in combination with
+gst_rtsp_message_init_request(), gst_rtsp_message_init_response() and
+gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ </record>
+ <bitfield name="RTSPMethod"
+ glib:type-name="GstRTSPMethod"
+ glib:get-type="gst_rtsp_method_get_type"
+ c:type="GstRTSPMethod">
+ <doc xml:whitespace="preserve">The different supported RTSP methods.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_INVALID"
+ glib:nick="invalid"/>
+ <member name="describe"
+ value="1"
+ c:identifier="GST_RTSP_DESCRIBE"
+ glib:nick="describe"/>
+ <member name="announce"
+ value="2"
+ c:identifier="GST_RTSP_ANNOUNCE"
+ glib:nick="announce"/>
+ <member name="get_parameter"
+ value="4"
+ c:identifier="GST_RTSP_GET_PARAMETER"
+ glib:nick="get-parameter"/>
+ <member name="options"
+ value="8"
+ c:identifier="GST_RTSP_OPTIONS"
+ glib:nick="options"/>
+ <member name="pause"
+ value="16"
+ c:identifier="GST_RTSP_PAUSE"
+ glib:nick="pause"/>
+ <member name="play"
+ value="32"
+ c:identifier="GST_RTSP_PLAY"
+ glib:nick="play"/>
+ <member name="record"
+ value="64"
+ c:identifier="GST_RTSP_RECORD"
+ glib:nick="record"/>
+ <member name="redirect"
+ value="128"
+ c:identifier="GST_RTSP_REDIRECT"
+ glib:nick="redirect"/>
+ <member name="setup"
+ value="256"
+ c:identifier="GST_RTSP_SETUP"
+ glib:nick="setup"/>
+ <member name="set_parameter"
+ value="512"
+ c:identifier="GST_RTSP_SET_PARAMETER"
+ glib:nick="set-parameter"/>
+ <member name="teardown"
+ value="1024"
+ c:identifier="GST_RTSP_TEARDOWN"
+ glib:nick="teardown"/>
+ <member name="get"
+ value="2048"
+ c:identifier="GST_RTSP_GET"
+ glib:nick="get"/>
+ <member name="post"
+ value="4096"
+ c:identifier="GST_RTSP_POST"
+ glib:nick="post"/>
+ </bitfield>
+ <enumeration name="RTSPMsgType" c:type="GstRTSPMsgType">
+ <doc xml:whitespace="preserve">The type of a message.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_MESSAGE_INVALID"/>
+ <member name="request"
+ value="1"
+ c:identifier="GST_RTSP_MESSAGE_REQUEST"/>
+ <member name="response"
+ value="2"
+ c:identifier="GST_RTSP_MESSAGE_RESPONSE"/>
+ <member name="http_request"
+ value="3"
+ c:identifier="GST_RTSP_MESSAGE_HTTP_REQUEST"/>
+ <member name="http_response"
+ value="4"
+ c:identifier="GST_RTSP_MESSAGE_HTTP_RESPONSE"/>
+ <member name="data" value="5" c:identifier="GST_RTSP_MESSAGE_DATA"/>
+ </enumeration>
+ <bitfield name="RTSPProfile" c:type="GstRTSPProfile">
+ <doc xml:whitespace="preserve">The transfer profile to use.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_RTSP_PROFILE_UNKNOWN"/>
+ <member name="avp" value="1" c:identifier="GST_RTSP_PROFILE_AVP"/>
+ <member name="savp" value="2" c:identifier="GST_RTSP_PROFILE_SAVP"/>
+ </bitfield>
+ <record name="RTSPRange" c:type="GstRTSPRange">
+ <doc xml:whitespace="preserve">A type to specify a range.</doc>
+ <field name="min" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <enumeration name="RTSPRangeUnit" c:type="GstRTSPRangeUnit">
+ <doc xml:whitespace="preserve">Different possible time range units.</doc>
+ <member name="smpte" value="0" c:identifier="GST_RTSP_RANGE_SMPTE"/>
+ <member name="smpte_30_drop"
+ value="1"
+ c:identifier="GST_RTSP_RANGE_SMPTE_30_DROP"/>
+ <member name="smpte_25"
+ value="2"
+ c:identifier="GST_RTSP_RANGE_SMPTE_25"/>
+ <member name="npt" value="3" c:identifier="GST_RTSP_RANGE_NPT"/>
+ <member name="clock" value="4" c:identifier="GST_RTSP_RANGE_CLOCK"/>
+ </enumeration>
+ <enumeration name="RTSPResult"
+ glib:type-name="GstRTSPResult"
+ glib:get-type="gst_rtsp_result_get_type"
+ c:type="GstRTSPResult">
+ <doc xml:whitespace="preserve">Result codes from the RTSP functions.</doc>
+ <member name="ok" value="0" c:identifier="GST_RTSP_OK" glib:nick="ok"/>
+ <member name="error"
+ value="-1"
+ c:identifier="GST_RTSP_ERROR"
+ glib:nick="error"/>
+ <member name="einval"
+ value="-2"
+ c:identifier="GST_RTSP_EINVAL"
+ glib:nick="einval"/>
+ <member name="eintr"
+ value="-3"
+ c:identifier="GST_RTSP_EINTR"
+ glib:nick="eintr"/>
+ <member name="enomem"
+ value="-4"
+ c:identifier="GST_RTSP_ENOMEM"
+ glib:nick="enomem"/>
+ <member name="eresolv"
+ value="-5"
+ c:identifier="GST_RTSP_ERESOLV"
+ glib:nick="eresolv"/>
+ <member name="enotimpl"
+ value="-6"
+ c:identifier="GST_RTSP_ENOTIMPL"
+ glib:nick="enotimpl"/>
+ <member name="esys"
+ value="-7"
+ c:identifier="GST_RTSP_ESYS"
+ glib:nick="esys"/>
+ <member name="eparse"
+ value="-8"
+ c:identifier="GST_RTSP_EPARSE"
+ glib:nick="eparse"/>
+ <member name="ewsastart"
+ value="-9"
+ c:identifier="GST_RTSP_EWSASTART"
+ glib:nick="ewsastart"/>
+ <member name="ewsaversion"
+ value="-10"
+ c:identifier="GST_RTSP_EWSAVERSION"
+ glib:nick="ewsaversion"/>
+ <member name="eeof"
+ value="-11"
+ c:identifier="GST_RTSP_EEOF"
+ glib:nick="eeof"/>
+ <member name="enet"
+ value="-12"
+ c:identifier="GST_RTSP_ENET"
+ glib:nick="enet"/>
+ <member name="enotip"
+ value="-13"
+ c:identifier="GST_RTSP_ENOTIP"
+ glib:nick="enotip"/>
+ <member name="etimeout"
+ value="-14"
+ c:identifier="GST_RTSP_ETIMEOUT"
+ glib:nick="etimeout"/>
+ <member name="etget"
+ value="-15"
+ c:identifier="GST_RTSP_ETGET"
+ glib:nick="etget"/>
+ <member name="etpost"
+ value="-16"
+ c:identifier="GST_RTSP_ETPOST"
+ glib:nick="etpost"/>
+ <member name="elast"
+ value="-17"
+ c:identifier="GST_RTSP_ELAST"
+ glib:nick="elast"/>
+ </enumeration>
+ <enumeration name="RTSPState"
+ glib:type-name="GstRTSPState"
+ glib:get-type="gst_rtsp_state_get_type"
+ c:type="GstRTSPState">
+ <doc xml:whitespace="preserve">The different RTSP states.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_STATE_INVALID"
+ glib:nick="invalid"/>
+ <member name="init"
+ value="1"
+ c:identifier="GST_RTSP_STATE_INIT"
+ glib:nick="init"/>
+ <member name="ready"
+ value="2"
+ c:identifier="GST_RTSP_STATE_READY"
+ glib:nick="ready"/>
+ <member name="seeking"
+ value="3"
+ c:identifier="GST_RTSP_STATE_SEEKING"
+ glib:nick="seeking"/>
+ <member name="playing"
+ value="4"
+ c:identifier="GST_RTSP_STATE_PLAYING"
+ glib:nick="playing"/>
+ <member name="recording"
+ value="5"
+ c:identifier="GST_RTSP_STATE_RECORDING"
+ glib:nick="recording"/>
+ </enumeration>
+ <enumeration name="RTSPStatusCode"
+ glib:type-name="GstRTSPStatusCode"
+ glib:get-type="gst_rtsp_status_code_get_type"
+ c:type="GstRTSPStatusCode">
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_STS_INVALID"
+ glib:nick="invalid"/>
+ <member name="continue"
+ value="100"
+ c:identifier="GST_RTSP_STS_CONTINUE"
+ glib:nick="continue"/>
+ <member name="ok"
+ value="200"
+ c:identifier="GST_RTSP_STS_OK"
+ glib:nick="ok"/>
+ <member name="created"
+ value="201"
+ c:identifier="GST_RTSP_STS_CREATED"
+ glib:nick="created"/>
+ <member name="low_on_storage"
+ value="250"
+ c:identifier="GST_RTSP_STS_LOW_ON_STORAGE"
+ glib:nick="low-on-storage"/>
+ <member name="multiple_choices"
+ value="300"
+ c:identifier="GST_RTSP_STS_MULTIPLE_CHOICES"
+ glib:nick="multiple-choices"/>
+ <member name="moved_permanently"
+ value="301"
+ c:identifier="GST_RTSP_STS_MOVED_PERMANENTLY"
+ glib:nick="moved-permanently"/>
+ <member name="move_temporarily"
+ value="302"
+ c:identifier="GST_RTSP_STS_MOVE_TEMPORARILY"
+ glib:nick="move-temporarily"/>
+ <member name="see_other"
+ value="303"
+ c:identifier="GST_RTSP_STS_SEE_OTHER"
+ glib:nick="see-other"/>
+ <member name="not_modified"
+ value="304"
+ c:identifier="GST_RTSP_STS_NOT_MODIFIED"
+ glib:nick="not-modified"/>
+ <member name="use_proxy"
+ value="305"
+ c:identifier="GST_RTSP_STS_USE_PROXY"
+ glib:nick="use-proxy"/>
+ <member name="bad_request"
+ value="400"
+ c:identifier="GST_RTSP_STS_BAD_REQUEST"
+ glib:nick="bad-request"/>
+ <member name="unauthorized"
+ value="401"
+ c:identifier="GST_RTSP_STS_UNAUTHORIZED"
+ glib:nick="unauthorized"/>
+ <member name="payment_required"
+ value="402"
+ c:identifier="GST_RTSP_STS_PAYMENT_REQUIRED"
+ glib:nick="payment-required"/>
+ <member name="forbidden"
+ value="403"
+ c:identifier="GST_RTSP_STS_FORBIDDEN"
+ glib:nick="forbidden"/>
+ <member name="not_found"
+ value="404"
+ c:identifier="GST_RTSP_STS_NOT_FOUND"
+ glib:nick="not-found"/>
+ <member name="method_not_allowed"
+ value="405"
+ c:identifier="GST_RTSP_STS_METHOD_NOT_ALLOWED"
+ glib:nick="method-not-allowed"/>
+ <member name="not_acceptable"
+ value="406"
+ c:identifier="GST_RTSP_STS_NOT_ACCEPTABLE"
+ glib:nick="not-acceptable"/>
+ <member name="proxy_auth_required"
+ value="407"
+ c:identifier="GST_RTSP_STS_PROXY_AUTH_REQUIRED"
+ glib:nick="proxy-auth-required"/>
+ <member name="request_timeout"
+ value="408"
+ c:identifier="GST_RTSP_STS_REQUEST_TIMEOUT"
+ glib:nick="request-timeout"/>
+ <member name="gone"
+ value="410"
+ c:identifier="GST_RTSP_STS_GONE"
+ glib:nick="gone"/>
+ <member name="length_required"
+ value="411"
+ c:identifier="GST_RTSP_STS_LENGTH_REQUIRED"
+ glib:nick="length-required"/>
+ <member name="precondition_failed"
+ value="412"
+ c:identifier="GST_RTSP_STS_PRECONDITION_FAILED"
+ glib:nick="precondition-failed"/>
+ <member name="request_entity_too_large"
+ value="413"
+ c:identifier="GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE"
+ glib:nick="request-entity-too-large"/>
+ <member name="request_uri_too_large"
+ value="414"
+ c:identifier="GST_RTSP_STS_REQUEST_URI_TOO_LARGE"
+ glib:nick="request-uri-too-large"/>
+ <member name="unsupported_media_type"
+ value="415"
+ c:identifier="GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE"
+ glib:nick="unsupported-media-type"/>
+ <member name="parameter_not_understood"
+ value="451"
+ c:identifier="GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD"
+ glib:nick="parameter-not-understood"/>
+ <member name="conference_not_found"
+ value="452"
+ c:identifier="GST_RTSP_STS_CONFERENCE_NOT_FOUND"
+ glib:nick="conference-not-found"/>
+ <member name="not_enough_bandwidth"
+ value="453"
+ c:identifier="GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH"
+ glib:nick="not-enough-bandwidth"/>
+ <member name="session_not_found"
+ value="454"
+ c:identifier="GST_RTSP_STS_SESSION_NOT_FOUND"
+ glib:nick="session-not-found"/>
+ <member name="method_not_valid_in_this_state"
+ value="455"
+ c:identifier="GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE"
+ glib:nick="method-not-valid-in-this-state"/>
+ <member name="header_field_not_valid_for_resource"
+ value="456"
+ c:identifier="GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE"
+ glib:nick="header-field-not-valid-for-resource"/>
+ <member name="invalid_range"
+ value="457"
+ c:identifier="GST_RTSP_STS_INVALID_RANGE"
+ glib:nick="invalid-range"/>
+ <member name="parameter_is_readonly"
+ value="458"
+ c:identifier="GST_RTSP_STS_PARAMETER_IS_READONLY"
+ glib:nick="parameter-is-readonly"/>
+ <member name="aggregate_operation_not_allowed"
+ value="459"
+ c:identifier="GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED"
+ glib:nick="aggregate-operation-not-allowed"/>
+ <member name="only_aggregate_operation_allowed"
+ value="460"
+ c:identifier="GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED"
+ glib:nick="only-aggregate-operation-allowed"/>
+ <member name="unsupported_transport"
+ value="461"
+ c:identifier="GST_RTSP_STS_UNSUPPORTED_TRANSPORT"
+ glib:nick="unsupported-transport"/>
+ <member name="destination_unreachable"
+ value="462"
+ c:identifier="GST_RTSP_STS_DESTINATION_UNREACHABLE"
+ glib:nick="destination-unreachable"/>
+ <member name="internal_server_error"
+ value="500"
+ c:identifier="GST_RTSP_STS_INTERNAL_SERVER_ERROR"
+ glib:nick="internal-server-error"/>
+ <member name="not_implemented"
+ value="501"
+ c:identifier="GST_RTSP_STS_NOT_IMPLEMENTED"
+ glib:nick="not-implemented"/>
+ <member name="bad_gateway"
+ value="502"
+ c:identifier="GST_RTSP_STS_BAD_GATEWAY"
+ glib:nick="bad-gateway"/>
+ <member name="service_unavailable"
+ value="503"
+ c:identifier="GST_RTSP_STS_SERVICE_UNAVAILABLE"
+ glib:nick="service-unavailable"/>
+ <member name="gateway_timeout"
+ value="504"
+ c:identifier="GST_RTSP_STS_GATEWAY_TIMEOUT"
+ glib:nick="gateway-timeout"/>
+ <member name="rtsp_version_not_supported"
+ value="505"
+ c:identifier="GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED"
+ glib:nick="rtsp-version-not-supported"/>
+ <member name="option_not_supported"
+ value="551"
+ c:identifier="GST_RTSP_STS_OPTION_NOT_SUPPORTED"
+ glib:nick="option-not-supported"/>
+ </enumeration>
+ <record name="RTSPTime" c:type="GstRTSPTime">
+ <doc xml:whitespace="preserve">A time indication.</doc>
+ <field name="type" writable="1">
+ <type name="RTSPTimeType" c:type="GstRTSPTimeType"/>
+ </field>
+ <field name="seconds" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <record name="RTSPTimeRange" c:type="GstRTSPTimeRange">
+ <doc xml:whitespace="preserve">A time range.</doc>
+ <field name="unit" writable="1">
+ <type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
+ </field>
+ <field name="min" writable="1">
+ <type name="RTSPTime" c:type="GstRTSPTime"/>
+ </field>
+ <field name="max" writable="1">
+ <type name="RTSPTime" c:type="GstRTSPTime"/>
+ </field>
+ </record>
+ <enumeration name="RTSPTimeType" c:type="GstRTSPTimeType">
+ <doc xml:whitespace="preserve">Possible time types.</doc>
+ <member name="seconds" value="0" c:identifier="GST_RTSP_TIME_SECONDS"/>
+ <member name="now" value="1" c:identifier="GST_RTSP_TIME_NOW"/>
+ <member name="end" value="2" c:identifier="GST_RTSP_TIME_END"/>
+ </enumeration>
+ <bitfield name="RTSPTransMode" c:type="GstRTSPTransMode">
+ <doc xml:whitespace="preserve">The transfer mode to use.</doc>
+ <member name="unknown" value="0" c:identifier="GST_RTSP_TRANS_UNKNOWN"/>
+ <member name="rtp" value="1" c:identifier="GST_RTSP_TRANS_RTP"/>
+ <member name="rdt" value="2" c:identifier="GST_RTSP_TRANS_RDT"/>
+ </bitfield>
+ <record name="RTSPTransport" c:type="GstRTSPTransport">
+ <doc xml:whitespace="preserve">A structure holding the RTSP transport values.</doc>
+ <field name="trans" writable="1">
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </field>
+ <field name="profile" writable="1">
+ <type name="RTSPProfile" c:type="GstRTSPProfile"/>
+ </field>
+ <field name="lower_transport" writable="1">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </field>
+ <field name="destination" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="source" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="layers" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="mode_play" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="mode_record" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="append" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="interleaved" writable="1">
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="ttl" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="port" writable="1">
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="client_port" writable="1">
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="server_port" writable="1">
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="ssrc" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="as_text" c:identifier="gst_rtsp_transport_as_text">
+ <doc xml:whitespace="preserve">Convert @transport into a string that can be used to signal the transport in
+an RTSP SETUP response.
+is invalid.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a string describing the RTSP transport or #NULL when the transport</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_transport_free">
+ <doc xml:whitespace="preserve">Free the memory used by @transport.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ <method name="init" c:identifier="gst_rtsp_transport_init">
+ <doc xml:whitespace="preserve">Initialize @transport so that it can be used.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="RTSPUrl"
+ c:type="GstRTSPUrl"
+ glib:type-name="GstRTSPUrl"
+ glib:get-type="gst_rtsp_url_get_type"
+ c:symbol-prefix="rtsp_url">
+ <doc xml:whitespace="preserve">This structure contains the result of a parsed RTSP URL</doc>
+ <field name="transports" writable="1">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </field>
+ <field name="family" writable="1">
+ <type name="RTSPFamily" c:type="GstRTSPFamily"/>
+ </field>
+ <field name="user" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="passwd" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="host" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="port" writable="1">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="abspath" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="query" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <method name="copy" c:identifier="gst_rtsp_url_copy" version="0.10.22">
+ <doc xml:whitespace="preserve">Make a copy of @url.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a copy of @url. Free with gst_rtsp_url_free () after usage.</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </return-value>
+ </method>
+ <method name="decode_path_components"
+ c:identifier="gst_rtsp_url_decode_path_components"
+ version="0.10.32"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Splits the path of @url on '/' boundaries, decoding the resulting components,
+The decoding performed by this routine is "URI decoding", as defined in RFC
+3986, commonly known as percent-decoding. For example, a string "foo%2fbar"
+will decode to "foo/bar" -- the %2f being replaced by the corresponding byte
+with hex value 0x2f. Note that there is no guarantee that the resulting byte
+sequence is valid in any given encoding. As a special case, %00 is not
+unescaped to NUL, as that would prematurely terminate the string.
+Also note that since paths usually start with a slash, the first component
+will usually be the empty string.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a string vector. g_strfreev() after usage.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_url_free">
+ <doc xml:whitespace="preserve">Free the memory used by @url.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="get_port" c:identifier="gst_rtsp_url_get_port">
+ <doc xml:whitespace="preserve">Get the port number of @url.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the port</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_request_uri"
+ c:identifier="gst_rtsp_url_get_request_uri">
+ <doc xml:whitespace="preserve">Get a newly allocated string describing the request URI for @url.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a string with the request URI. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="set_port" c:identifier="gst_rtsp_url_set_port">
+ <doc xml:whitespace="preserve">Set the port number in @url to @port.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the port</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="RTSPVersion"
+ glib:type-name="GstRTSPVersion"
+ glib:get-type="gst_rtsp_version_get_type"
+ c:type="GstRTSPVersion">
+ <doc xml:whitespace="preserve">The supported RTSP versions.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_VERSION_INVALID"
+ glib:nick="invalid"/>
+ <member name="1_0"
+ value="16"
+ c:identifier="GST_RTSP_VERSION_1_0"
+ glib:nick="1-0"/>
+ <member name="1_1"
+ value="17"
+ c:identifier="GST_RTSP_VERSION_1_1"
+ glib:nick="1-1"/>
+ </enumeration>
+ <record name="RTSPWatch" c:type="GstRTSPWatch" disguised="1">
+ <doc xml:whitespace="preserve">Opaque RTSP watch object that can be used for asynchronous RTSP
+operations.</doc>
+ <method name="attach"
+ c:identifier="gst_rtsp_watch_attach"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Adds a #GstRTSPWatch to a context so that it will be executed within that context.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the ID (greater than 0) for the watch within the GMainContext.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GMainContext (if NULL, the default context will be used)</doc>
+ <type name="GLib.MainContext" c:type="GMainContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="queue_data"
+ c:identifier="gst_rtsp_watch_queue_data"
+ version="0.10.24"
+ deprecated="Use gst_rtsp_watch_write_data()">
+ <doc xml:whitespace="preserve">Queue @data for transmission in @watch. It will be transmitted when the
+connection of the @watch becomes writable.
+This function will take ownership of @data and g_free() it after use.
+The return value of this function will be used as the id argument in the
+message_sent callback.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an id.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to queue</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="queue_message"
+ c:identifier="gst_rtsp_watch_queue_message"
+ version="0.10.23"
+ deprecated="Use gst_rtsp_watch_send_message()">
+ <doc xml:whitespace="preserve">Queue a @message for transmission in @watch. The contents of this
+message will be serialized and transmitted when the connection of the
+The return value of this function will be used as the id argument in the
+message_sent callback.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">an id.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset"
+ c:identifier="gst_rtsp_watch_reset"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Reset @watch, this is usually called after gst_rtsp_connection_do_tunnel()
+when the file descriptors of the connection might have changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="send_message"
+ c:identifier="gst_rtsp_watch_send_message"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">Send a @message using the connection of the @watch. If it cannot be sent
+immediately, it will be queued for transmission in @watch. The contents of
+callback.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for a message ID or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref"
+ c:identifier="gst_rtsp_watch_unref"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Decreases the reference count of @watch by one. If the resulting reference
+count is zero the watch and associated memory will be destroyed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="write_data"
+ c:identifier="gst_rtsp_watch_write_data"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">Write @data using the connection of the @watch. If it cannot be sent
+immediately, it will be queued for transmission in @watch. The contents of
+callback.
+This function will take ownership of @data and g_free() it after use.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the data to queue</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for a message ID or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs" version="0.10.23">
+ <doc xml:whitespace="preserve">Callback functions from a #GstRTSPWatch.</doc>
+ <field name="message_received">
+ <callback name="message_received">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="message_sent">
+ <callback name="message_sent">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="closed">
+ <callback name="closed">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="error">
+ <callback name="error">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_start">
+ <callback name="tunnel_start">
+ <return-value transfer-ownership="none">
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_complete">
+ <callback name="tunnel_complete">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="error_full">
+ <callback name="error_full">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_lost">
+ <callback name="tunnel_lost">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <constant name="RTSP_DEFAULT_PORT" value="554">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="rtsp_base64_decode_ip"
+ c:identifier="gst_rtsp_base64_decode_ip"
+ deprecated="use g_base64_decode_inplace() instead.">
+ <doc xml:whitespace="preserve">Decode the base64 string pointed to by @data in-place. When @len is not #NULL
+it will contain the length of the decoded data.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the base64 encoded data</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location for output length or NULL</doc>
+ <type name="gulong" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_base64_encode"
+ c:identifier="gst_rtsp_base64_encode"
+ deprecated="Use g_base64_encode()">
+ <doc xml:whitespace="preserve">Encode a sequence of binary data into its Base-64 stringified representation.
+representing @data.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated, zero-terminated Base-64 encoded string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the binary data to encode</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of @data</doc>
+ <type name="gulong" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_connection_accept"
+ c:identifier="gst_rtsp_connection_accept"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Accept a new connection on @sock and create a new #GstRTSPConnection for
+handling communication on new socket.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="sock" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a socket</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_connection_create"
+ c:identifier="gst_rtsp_connection_create">
+ <doc xml:whitespace="preserve">Create a newly allocated #GstRTSPConnection from @url and store it in @conn.
+The connection will not yet attempt to connect to @url, use
+gst_rtsp_connection_connect().
+A copy of @url will be made.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="url" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_connection_create_from_fd"
+ c:identifier="gst_rtsp_connection_create_from_fd"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">Create a new #GstRTSPConnection for handling communication on the existing
+file descriptor @fd. The @initial_buffer contains any data already read from</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a file descriptor</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="ip" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the IP address of the other end</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the port used by the other end</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="initial_buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">data already read from @fd</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_find_header_field"
+ c:identifier="gst_rtsp_find_header_field">
+ <doc xml:whitespace="preserve">Convert @header to a #GstRTSPHeaderField.
+header field is unknown.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField for @header or #GST_RTSP_HDR_INVALID if the</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </return-value>
+ <parameters>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a header string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_find_method" c:identifier="gst_rtsp_find_method">
+ <doc xml:whitespace="preserve">Convert @method to a #GstRTSPMethod.
+method is unknown.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPMethod for @method or #GST_RTSP_INVALID if the</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a method</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_header_allow_multiple"
+ c:identifier="gst_rtsp_header_allow_multiple"
+ version="0.10.25">
+ <doc xml:whitespace="preserve">Check whether @field may appear multiple times in a message.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if multiple headers are allowed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_header_as_text"
+ c:identifier="gst_rtsp_header_as_text">
+ <doc xml:whitespace="preserve">Convert @field to a string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string representation of @field.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_get_type"
+ c:identifier="gst_rtsp_message_get_type">
+ <doc xml:whitespace="preserve">Get the message type of @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the message type.</doc>
+ <type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new" c:identifier="gst_rtsp_message_new">
+ <doc xml:whitespace="preserve">Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new_data"
+ c:identifier="gst_rtsp_message_new_data">
+ <doc xml:whitespace="preserve">Create a new data #GstRTSPMessage with @channel and store the
+result message in @msg. Free with gst_rtsp_message_free().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the channel</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new_request"
+ c:identifier="gst_rtsp_message_new_request">
+ <doc xml:whitespace="preserve">Create a new #GstRTSPMessage with @method and @uri and store the result
+request message in @msg. Free with gst_rtsp_message_free().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the request method to use</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the uri of the request</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new_response"
+ c:identifier="gst_rtsp_message_new_response">
+ <doc xml:whitespace="preserve">Create a new response #GstRTSPMessage with @code and @reason and store the
+result message in @msg. Free with gst_rtsp_message_free().
+When @reason is #NULL, the default reason for @code will be used.
+When @request is not #NULL, the relevant headers will be copied to the new
+response message.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the status code</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </parameter>
+ <parameter name="reason" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the status reason or #NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="request" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the request that triggered the response or #NULL</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_method_as_text"
+ c:identifier="gst_rtsp_method_as_text">
+ <doc xml:whitespace="preserve">Convert @method to a string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string representation of @method.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPMethod</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_options_as_text"
+ c:identifier="gst_rtsp_options_as_text"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Convert @options to a string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new string of @options. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:whitespace="preserve">one or more #GstRTSPMethod</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_free" c:identifier="gst_rtsp_range_free">
+ <doc xml:whitespace="preserve">Free the memory alocated by @range.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_parse" c:identifier="gst_rtsp_range_parse">
+ <doc xml:whitespace="preserve">Parse @rangestr to a #GstRTSPTimeRange.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="rangestr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a range string to parse</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the #GstRTSPTimeRange result</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_to_string"
+ c:identifier="gst_rtsp_range_to_string"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Convert @range into a string representation.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The string representation of @range. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_status_as_text"
+ c:identifier="gst_rtsp_status_as_text">
+ <doc xml:whitespace="preserve">Convert @code to a string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string representation of @code.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPStatusCode</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_strresult" c:identifier="gst_rtsp_strresult">
+ <doc xml:whitespace="preserve">Convert @result in a human readable string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly allocated string. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_get_manager"
+ c:identifier="gst_rtsp_transport_get_manager">
+ <doc xml:whitespace="preserve">Get the #GStreamer element that can handle the buffers transported over
+It is possible that there are several managers available, use @option to
+selected one.
+needed/available for @trans.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPTransMode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </parameter>
+ <parameter name="manager" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="option" transfer-ownership="none">
+ <doc xml:whitespace="preserve">option index.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_get_mime"
+ c:identifier="gst_rtsp_transport_get_mime">
+ <doc xml:whitespace="preserve">Get the mime type of the transport mode @trans. This mime type is typically
+used to generate #GstCaps on buffers.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPTransMode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </parameter>
+ <parameter name="mime" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_new" c:identifier="gst_rtsp_transport_new">
+ <doc xml:whitespace="preserve">Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free()
+after usage.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="transport" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the new #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_parse"
+ c:identifier="gst_rtsp_transport_parse">
+ <doc xml:whitespace="preserve">Parse the RTSP transport string @str into @transport.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a transport string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_url_parse" c:identifier="gst_rtsp_url_parse">
+ <doc xml:whitespace="preserve">Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage
+with gst_rtsp_url_free().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="urlstr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the url string to parse</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="url" transfer-ownership="none">
+ <doc xml:whitespace="preserve">location to hold the result.</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_version_as_text"
+ c:identifier="gst_rtsp_version_as_text">
+ <doc xml:whitespace="preserve">Convert @version to a string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a string representation of @version.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPVersion</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_watch_new"
+ c:identifier="gst_rtsp_watch_new"
+ version="0.10.23"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Create a watch object for @conn. The functions provided in @funcs will be
+called with @user_data when activity happened on the watch.
+The new watch is usually created so that it can be attached to a
+maincontext with gst_rtsp_watch_attach().
+communication. Free with gst_rtsp_watch_unref () after usage.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstRTSPWatch that can be used for asynchronous RTSP</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </return-value>
+ <parameters>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </parameter>
+ <parameter name="funcs" transfer-ownership="none">
+ <doc xml:whitespace="preserve">watch functions</doc>
+ <type name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">user data to pass to @funcs</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:whitespace="preserve">notify when @user_data is not referenced anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.syntax alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gstreamer.ffi gstreamer.sdp.ffi ;
+IN: gstreamer.rtsp.ffi
+
+<<
+"gstreamer.rtsp" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstrtsp-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+! git error (there is _GstRTSPTransport only in .gir)
+C-TYPE: GstRTSPTransport
+
+GIR: vocab:gstreamer/rtsp/GstRtsp-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.rtsp.ffi ;
+IN: gstreamer.rtsp
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-sdp-0.10"/>
+ <c:include name="gst/audio/gstsdp.h"/>
+ <c:include name="gst/audio/gstsdpmessage.h"/>
+ <namespace name="GstSdp"
+ version="0.10"
+ shared-library="libgstsdp-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <record name="SDPAttribute" c:type="GstSDPAttribute">
+ <doc xml:whitespace="preserve">The contents of the SDP "a=" field which contains a key/value pair.</doc>
+ <field name="key" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="value" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <record name="SDPBandwidth" c:type="GstSDPBandwidth">
+ <doc xml:whitespace="preserve">The contents of the SDP "b=" field which specifies the proposed bandwidth to
+be used by the session or media.</doc>
+ <field name="bwtype" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="bandwidth" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ </record>
+ <record name="SDPConnection" c:type="GstSDPConnection">
+ <doc xml:whitespace="preserve">The contents of the SDP "c=" field which contains connection data.</doc>
+ <field name="nettype" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="addrtype" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="address" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="ttl" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="addr_number" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ </record>
+ <record name="SDPKey" c:type="GstSDPKey">
+ <doc xml:whitespace="preserve">The contents of the SDP "k=" field which is used to convey encryption
+keys.</doc>
+ <field name="type" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="data" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <record name="SDPMedia" c:type="GstSDPMedia">
+ <doc xml:whitespace="preserve">The contents of the SDP "m=" field with all related fields.</doc>
+ <field name="media" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="port" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="num_ports" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="proto" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="fmts" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="information" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="connections" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="bandwidths" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="key" writable="1">
+ <type name="SDPKey" c:type="GstSDPKey"/>
+ </field>
+ <field name="attributes" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_attribute" c:identifier="gst_sdp_media_add_attribute">
+ <doc xml:whitespace="preserve">Add the attribute with @key and @value to @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_bandwidth" c:identifier="gst_sdp_media_add_bandwidth">
+ <doc xml:whitespace="preserve">Add the bandwidth information with @bwtype and @bandwidth to @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="bwtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bandwidth modifier type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="bandwidth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bandwidth in kilobits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_connection"
+ c:identifier="gst_sdp_media_add_connection">
+ <doc xml:whitespace="preserve">Add the given connection parameters to @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of network. "IN" is defined to have the meaning "Internet".</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of address.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the address</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ttl" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time to live of the address</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="addr_number" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_format" c:identifier="gst_sdp_media_add_format">
+ <doc xml:whitespace="preserve">Add the format information to @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="as_text" c:identifier="gst_sdp_media_as_text">
+ <doc xml:whitespace="preserve">Convert the contents of @media to a text string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A dynamically allocated string representing the media.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="attributes_len"
+ c:identifier="gst_sdp_media_attributes_len">
+ <doc xml:whitespace="preserve">Get the number of attribute fields in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of attributes in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="bandwidths_len"
+ c:identifier="gst_sdp_media_bandwidths_len">
+ <doc xml:whitespace="preserve">Get the number of bandwidth fields in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bandwidths in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="connections_len"
+ c:identifier="gst_sdp_media_connections_len">
+ <doc xml:whitespace="preserve">Get the number of connection fields in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of connections in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="formats_len" c:identifier="gst_sdp_media_formats_len">
+ <doc xml:whitespace="preserve">Get the number of formats in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of formats in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_sdp_media_free">
+ <doc xml:whitespace="preserve">Free all resources allocated by @media. @media should not be used anymore after
+this function. This function should be used when @media was dynamically
+allocated with gst_sdp_media_new().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ <method name="get_attribute" c:identifier="gst_sdp_media_get_attribute">
+ <doc xml:whitespace="preserve">Get the attribute at position @idx in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstSDPAttribute at position @idx.</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val"
+ c:identifier="gst_sdp_media_get_attribute_val">
+ <doc xml:whitespace="preserve">Get the first attribute value for @key in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the first attribute value for @key.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val_n"
+ c:identifier="gst_sdp_media_get_attribute_val_n">
+ <doc xml:whitespace="preserve">Get the @nth attribute value for @key in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the @nth attribute value.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bandwidth" c:identifier="gst_sdp_media_get_bandwidth">
+ <doc xml:whitespace="preserve">Get the bandwidth at position @idx in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstSDPBandwidth at position @idx.</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_connection"
+ c:identifier="gst_sdp_media_get_connection">
+ <doc xml:whitespace="preserve">Get the connection at position @idx in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstSDPConnection at position @idx.</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_format" c:identifier="gst_sdp_media_get_format">
+ <doc xml:whitespace="preserve">Get the format information at position @idx in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the format at position @idx.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_information"
+ c:identifier="gst_sdp_media_get_information">
+ <doc xml:whitespace="preserve">Get the information of @media</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the information of @media.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_key" c:identifier="gst_sdp_media_get_key">
+ <doc xml:whitespace="preserve">Get the encryption information from @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPKey.</doc>
+ <type name="SDPKey" c:type="GstSDPKey*"/>
+ </return-value>
+ </method>
+ <method name="get_media" c:identifier="gst_sdp_media_get_media">
+ <doc xml:whitespace="preserve">Get the media description of @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media description.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_num_ports" c:identifier="gst_sdp_media_get_num_ports">
+ <doc xml:whitespace="preserve">Get the number of ports for @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of ports for @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_port" c:identifier="gst_sdp_media_get_port">
+ <doc xml:whitespace="preserve">Get the port number for @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the port number of @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="get_proto" c:identifier="gst_sdp_media_get_proto">
+ <doc xml:whitespace="preserve">Get the transport protocol of @media</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the transport protocol of @media.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="init" c:identifier="gst_sdp_media_init">
+ <doc xml:whitespace="preserve">Initialize @media so that its contents are as if it was freshly allocated
+with gst_sdp_media_new(). This function is mostly used to initialize a media
+allocated on the stack. gst_sdp_media_uninit() undoes this operation.
+When this function is invoked on newly allocated data (with malloc or on the
+stack), its contents should be set to 0 before calling this function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ <method name="set_information"
+ c:identifier="gst_sdp_media_set_information">
+ <doc xml:whitespace="preserve">Set the media information of @media to @information.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="information" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media information</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_key" c:identifier="gst_sdp_media_set_key">
+ <doc xml:whitespace="preserve">Adds the encryption information to @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the encryption type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the encryption data</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_media" c:identifier="gst_sdp_media_set_media">
+ <doc xml:whitespace="preserve">Set the media description of @media to @med.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="med" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media description</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_port_info" c:identifier="gst_sdp_media_set_port_info">
+ <doc xml:whitespace="preserve">Set the port information in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the port number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="num_ports" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of ports</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_proto" c:identifier="gst_sdp_media_set_proto">
+ <doc xml:whitespace="preserve">Set the media transport protocol of @media to @proto.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="proto" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the media transport protocol</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="uninit" c:identifier="gst_sdp_media_uninit">
+ <doc xml:whitespace="preserve">Free all resources allocated in @media. @media should not be used anymore after
+this function. This function should be used when @media was allocated on the
+stack and initialized with gst_sdp_media_init().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="SDPMessage" c:type="GstSDPMessage">
+ <doc xml:whitespace="preserve">The contents of the SDP message.</doc>
+ <field name="version" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="origin" writable="1">
+ <type name="SDPOrigin" c:type="GstSDPOrigin"/>
+ </field>
+ <field name="session_name" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="information" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="uri" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="emails" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="phones" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="connection" writable="1">
+ <type name="SDPConnection" c:type="GstSDPConnection"/>
+ </field>
+ <field name="bandwidths" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="times" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="zones" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="key" writable="1">
+ <type name="SDPKey" c:type="GstSDPKey"/>
+ </field>
+ <field name="attributes" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="medias" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_attribute"
+ c:identifier="gst_sdp_message_add_attribute">
+ <doc xml:whitespace="preserve">Add the attribute with @key and @value to @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">@GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_bandwidth"
+ c:identifier="gst_sdp_message_add_bandwidth">
+ <doc xml:whitespace="preserve">Add the specified bandwidth information to @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="bwtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bandwidth modifier type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="bandwidth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bandwidth in kilobits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_email" c:identifier="gst_sdp_message_add_email">
+ <doc xml:whitespace="preserve">Add @email to the list of emails in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="email" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an email</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_media" c:identifier="gst_sdp_message_add_media">
+ <doc xml:whitespace="preserve">Adds @media to the array of medias in @msg. This function takes ownership of
+the contents of @media so that @media will have to be reinitialized with
+gst_media_init() before it can be used again.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPMedia to add</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_phone" c:identifier="gst_sdp_message_add_phone">
+ <doc xml:whitespace="preserve">Add @phone to the list of phones in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="phone" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a phone</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_time" c:identifier="gst_sdp_message_add_time">
+ <doc xml:whitespace="preserve">Add time information @start and @stop to @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start time</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the stop time</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="repeat" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the repeat times</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_zone" c:identifier="gst_sdp_message_add_zone">
+ <doc xml:whitespace="preserve">Add time zone information to @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="adj_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the NTP time that a time zone adjustment happens</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="typed_time" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the offset from the time when the session was first scheduled</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="as_text" c:identifier="gst_sdp_message_as_text">
+ <doc xml:whitespace="preserve">Convert the contents of @msg to a text string.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A dynamically allocated string representing the SDP description.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="attributes_len"
+ c:identifier="gst_sdp_message_attributes_len">
+ <doc xml:whitespace="preserve">Get the number of attributes in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of attributes in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="bandwidths_len"
+ c:identifier="gst_sdp_message_bandwidths_len">
+ <doc xml:whitespace="preserve">Get the number of bandwidth information in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of bandwidth information in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="dump" c:identifier="gst_sdp_message_dump">
+ <doc xml:whitespace="preserve">Dump the parsed contents of @msg to stdout.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ <method name="emails_len" c:identifier="gst_sdp_message_emails_len">
+ <doc xml:whitespace="preserve">Get the number of emails in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of emails in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="free" c:identifier="gst_sdp_message_free">
+ <doc xml:whitespace="preserve">Free all resources allocated by @msg. @msg should not be used anymore after
+this function. This function should be used when @msg was dynamically
+allocated with gst_sdp_message_new().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ <method name="get_attribute"
+ c:identifier="gst_sdp_message_get_attribute">
+ <doc xml:whitespace="preserve">Get the attribute at position @idx in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstSDPAttribute at position @idx.</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val"
+ c:identifier="gst_sdp_message_get_attribute_val">
+ <doc xml:whitespace="preserve">Get the first attribute with key @key in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the attribute value of the first attribute with @key.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val_n"
+ c:identifier="gst_sdp_message_get_attribute_val_n">
+ <doc xml:whitespace="preserve">Get the @nth attribute with key @key in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the attribute value of the @nth attribute with @key.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bandwidth"
+ c:identifier="gst_sdp_message_get_bandwidth">
+ <doc xml:whitespace="preserve">Get the bandwidth at index @idx from @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPBandwidth.</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the bandwidth index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_connection"
+ c:identifier="gst_sdp_message_get_connection">
+ <doc xml:whitespace="preserve">Get the connection of @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPConnection. The result remains valid as long as @msg is valid.</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection*"/>
+ </return-value>
+ </method>
+ <method name="get_email" c:identifier="gst_sdp_message_get_email">
+ <doc xml:whitespace="preserve">Get the email with number @idx from @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the email at position @idx.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an email index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_information"
+ c:identifier="gst_sdp_message_get_information">
+ <doc xml:whitespace="preserve">Get the information in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_key" c:identifier="gst_sdp_message_get_key">
+ <doc xml:whitespace="preserve">Get the encryption information from @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPKey.</doc>
+ <type name="SDPKey" c:type="GstSDPKey*"/>
+ </return-value>
+ </method>
+ <method name="get_media" c:identifier="gst_sdp_message_get_media">
+ <doc xml:whitespace="preserve">Get the media description at index @idx in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPMedia.</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_origin" c:identifier="gst_sdp_message_get_origin">
+ <doc xml:whitespace="preserve">Get the origin of @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPOrigin. The result remains valid as long as @msg is valid.</doc>
+ <type name="SDPOrigin" c:type="GstSDPOrigin*"/>
+ </return-value>
+ </method>
+ <method name="get_phone" c:identifier="gst_sdp_message_get_phone">
+ <doc xml:whitespace="preserve">Get the phone with number @idx from @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the phone at position @idx.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a phone index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_session_name"
+ c:identifier="gst_sdp_message_get_session_name">
+ <doc xml:whitespace="preserve">Get the session name in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_time" c:identifier="gst_sdp_message_get_time">
+ <doc xml:whitespace="preserve">Get time information with index @idx from @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPTime.</doc>
+ <type name="SDPTime" c:type="GstSDPTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uri" c:identifier="gst_sdp_message_get_uri">
+ <doc xml:whitespace="preserve">Get the URI in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_version" c:identifier="gst_sdp_message_get_version">
+ <doc xml:whitespace="preserve">Get the version in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </method>
+ <method name="get_zone" c:identifier="gst_sdp_message_get_zone">
+ <doc xml:whitespace="preserve">Get time zone information with index @idx from @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPZone.</doc>
+ <type name="SDPZone" c:type="GstSDPZone*"/>
+ </return-value>
+ <parameters>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the zone index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_sdp_message_init">
+ <doc xml:whitespace="preserve">Initialize @msg so that its contents are as if it was freshly allocated
+with gst_sdp_message_new(). This function is mostly used to initialize a message
+allocated on the stack. gst_sdp_message_uninit() undoes this operation.
+When this function is invoked on newly allocated data (with malloc or on the
+stack), its contents should be set to 0 before calling this function.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ <method name="medias_len" c:identifier="gst_sdp_message_medias_len">
+ <doc xml:whitespace="preserve">Get the number of media descriptions in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of media descriptions in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="phones_len" c:identifier="gst_sdp_message_phones_len">
+ <doc xml:whitespace="preserve">Get the number of phones in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of phones in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="set_connection"
+ c:identifier="gst_sdp_message_set_connection">
+ <doc xml:whitespace="preserve">Configure the SDP connection in @msg with the given parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of network. "IN" is defined to have the meaning "Internet".</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of address.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the address</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="ttl" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the time to live of the address</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="addr_number" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_information"
+ c:identifier="gst_sdp_message_set_information">
+ <doc xml:whitespace="preserve">Set the information in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="information" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the information</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_key" c:identifier="gst_sdp_message_set_key">
+ <doc xml:whitespace="preserve">Adds the encryption information to @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the encryption type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the encryption data</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_origin" c:identifier="gst_sdp_message_set_origin">
+ <doc xml:whitespace="preserve">Configure the SDP origin in @msg with the given parameters.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="username" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the user name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="sess_id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a session id</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="sess_version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a session version</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an address type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an address</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_session_name"
+ c:identifier="gst_sdp_message_set_session_name">
+ <doc xml:whitespace="preserve">Set the session name in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="session_name" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the session name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri" c:identifier="gst_sdp_message_set_uri">
+ <doc xml:whitespace="preserve">Set the URI in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the URI</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_version" c:identifier="gst_sdp_message_set_version">
+ <doc xml:whitespace="preserve">Set the version in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the version</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="times_len" c:identifier="gst_sdp_message_times_len">
+ <doc xml:whitespace="preserve">Get the number of time information entries in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of time information entries in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ <method name="uninit" c:identifier="gst_sdp_message_uninit">
+ <doc xml:whitespace="preserve">Free all resources allocated in @msg. @msg should not be used anymore after
+this function. This function should be used when @msg was allocated on the
+stack and initialized with gst_sdp_message_init().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ </method>
+ <method name="zones_len" c:identifier="gst_sdp_message_zones_len">
+ <doc xml:whitespace="preserve">Get the number of time zone information entries in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of time zone information entries in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="SDPOrigin" c:type="GstSDPOrigin">
+ <doc xml:whitespace="preserve">The contents of the SDP "o=" field which gives the originator of the session
+(their username and the address of the user's host) plus a session id and
+session version number.</doc>
+ <field name="username" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="sess_id" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="sess_version" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="nettype" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="addrtype" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="addr" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <enumeration name="SDPResult" c:type="GstSDPResult">
+ <doc xml:whitespace="preserve">Return values for the SDP functions.</doc>
+ <member name="ok" value="0" c:identifier="GST_SDP_OK"/>
+ <member name="einval" value="-1" c:identifier="GST_SDP_EINVAL"/>
+ </enumeration>
+ <record name="SDPTime" c:type="GstSDPTime">
+ <doc xml:whitespace="preserve">The contents of the SDP "t=" field which specify the start and stop times for
+a conference session.</doc>
+ <field name="start" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="stop" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="repeat" writable="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="SDPZone" c:type="GstSDPZone">
+ <doc xml:whitespace="preserve">The contents of the SDP "z=" field which allows the sender to
+specify a list of time zone adjustments and offsets from the base
+time.</doc>
+ <field name="time" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="typed_time" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <constant name="SDP_BWTYPE_AS" value="AS">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_CT" value="CT">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_EXT_PREFIX" value="X-">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_RR" value="RR">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_RS" value="RS">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function name="sdp_address_is_multicast"
+ c:identifier="gst_sdp_address_is_multicast"
+ version="0.10.32">
+ <doc xml:whitespace="preserve">Check if the given @addr is a multicast address.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE when @addr is multicast.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a network type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an address type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an address</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_media_new" c:identifier="gst_sdp_media_new">
+ <doc xml:whitespace="preserve">Allocate a new GstSDPMedia and store the result in @media.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to new #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_as_uri"
+ c:identifier="gst_sdp_message_as_uri"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Creates a uri from @msg with the given @scheme. The uri has the format:
+Where each value is url encoded.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a uri for @msg.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="scheme" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the uri scheme</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_new" c:identifier="gst_sdp_message_new">
+ <doc xml:whitespace="preserve">Allocate a new GstSDPMessage and store the result in @msg.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to new #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_parse_buffer"
+ c:identifier="gst_sdp_message_parse_buffer">
+ <doc xml:whitespace="preserve">Parse the contents of @size bytes pointed to by @data and store the result in</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK on success.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start of the buffer</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the size of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_parse_uri"
+ c:identifier="gst_sdp_message_parse_uri"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Parse the null-terminated @uri and store the result in @msg.
+The uri should be of the form:
+scheme://[address[:ttl=ttl][:noa=noa]]/[sessionname]
+[#type=value *[&type=value]]
+where value is url encoded. This looslely resembles
+http://tools.ietf.org/html/draft-fujikawa-sdp-url-01</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GST_SDP_OK on success.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the start of the uri</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the result #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries combinators kernel system
+gobject-introspection glib.ffi ;
+IN: gstreamer.sdp.ffi
+
+<<
+"gstreamer.sdp" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstsdp-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/sdp/GstSdp-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.sdp.ffi ;
+IN: gstreamer.sdp
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstBase" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-tag-0.10"/>
+ <namespace name="GstTag"
+ version="0.10"
+ shared-library="libgsttag-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <constant name="TAG_CAPTURING_CONTRAST" value="capturing-contrast">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_DIGITAL_ZOOM_RATIO"
+ value="capturing-digital-zoom-ratio">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_EXPOSURE_MODE"
+ value="capturing-exposure-mode">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_EXPOSURE_PROGRAM"
+ value="capturing-exposure-program">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FLASH_FIRED" value="capturing-flash-fired">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FLASH_MODE" value="capturing-flash-mode">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FOCAL_LENGTH" value="capturing-focal-length">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FOCAL_RATIO" value="capturing-focal-ratio">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_GAIN_ADJUSTMENT"
+ value="capturing-gain-adjustment">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_ISO_SPEED" value="capturing-iso-speed">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_METERING_MODE"
+ value="capturing-metering-mode">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SATURATION" value="capturing-saturation">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SCENE_CAPTURE_TYPE"
+ value="capturing-scene-capture-type">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SHARPNESS" value="capturing-sharpness">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SHUTTER_SPEED"
+ value="capturing-shutter-speed">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SOURCE" value="capturing-source">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_WHITE_BALANCE"
+ value="capturing-white-balance">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_CDDB_DISCID" value="discid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_CDDB_DISCID_FULL" value="discid-full">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_MUSICBRAINZ_DISCID" value="musicbrainz-discid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_MUSICBRAINZ_DISCID_FULL"
+ value="musicbrainz-discid-full">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CMML_CLIP" value="cmml-clip">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CMML_HEAD" value="cmml-head">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CMML_STREAM" value="cmml-stream">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE_HORIZONTAL_PPI" value="image-horizontal-ppi">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE_VERTICAL_PPI" value="image-vertical-ppi">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_ALBUMARTISTID"
+ value="musicbrainz-albumartistid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_ALBUMID" value="musicbrainz-albumid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_ARTISTID" value="musicbrainz-artistid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_TRACKID" value="musicbrainz-trackid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_TRMID" value="musicbrainz-trmid">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="TagDemux"
+ c:symbol-prefix="tag_demux"
+ c:type="GstTagDemux"
+ version="0.10.15"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstTagDemux"
+ glib:get-type="gst_tag_demux_get_type"
+ glib:type-struct="TagDemuxClass">
+ <doc xml:whitespace="preserve">Opaque #GstTagDemux structure.</doc>
+ <virtual-method name="identify_tag">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="merge_tags">
+ <return-value transfer-ownership="full">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="start_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="end_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="parse_tag">
+ <return-value transfer-ownership="none">
+ <type name="TagDemuxResult" c:type="GstTagDemuxResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="priv">
+ <type name="TagDemuxPrivate" c:type="GstTagDemuxPrivate*"/>
+ </field>
+ <field name="reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TagDemuxClass"
+ c:type="GstTagDemuxClass"
+ glib:is-gtype-struct-for="TagDemux"
+ version="0.10.15">
+ <doc xml:whitespace="preserve">The #GstTagDemuxClass structure. See documentation at beginning of section
+for details about what subclasses need to override and do.</doc>
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="min_start_size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="min_end_size">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="identify_tag">
+ <callback name="identify_tag">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parse_tag">
+ <callback name="parse_tag">
+ <return-value transfer-ownership="none">
+ <type name="TagDemuxResult" c:type="GstTagDemuxResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="merge_tags">
+ <callback name="merge_tags">
+ <return-value transfer-ownership="full">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </parameter>
+ <parameter name="start_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="end_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TagDemuxPrivate" c:type="GstTagDemuxPrivate" disguised="1">
+ </record>
+ <enumeration name="TagDemuxResult"
+ version="0.10.15"
+ glib:type-name="GstTagDemuxResult"
+ glib:get-type="gst_tag_demux_result_get_type"
+ c:type="GstTagDemuxResult">
+ <doc xml:whitespace="preserve">Result values from the parse_tag virtual function.</doc>
+ <member name="broken_tag"
+ value="0"
+ c:identifier="GST_TAG_DEMUX_RESULT_BROKEN_TAG"
+ glib:nick="broken-tag"/>
+ <member name="again"
+ value="1"
+ c:identifier="GST_TAG_DEMUX_RESULT_AGAIN"
+ glib:nick="again"/>
+ <member name="ok"
+ value="2"
+ c:identifier="GST_TAG_DEMUX_RESULT_OK"
+ glib:nick="ok"/>
+ </enumeration>
+ <enumeration name="TagImageType"
+ version="0.10.9"
+ glib:type-name="GstTagImageType"
+ glib:get-type="gst_tag_image_type_get_type"
+ c:type="GstTagImageType">
+ <doc xml:whitespace="preserve">Type of image contained in an image tag (specified as field in
+the image buffer's caps structure)</doc>
+ <member name="none"
+ value="-1"
+ c:identifier="GST_TAG_IMAGE_TYPE_NONE"
+ glib:nick="none"/>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_TAG_IMAGE_TYPE_UNDEFINED"
+ glib:nick="undefined"/>
+ <member name="front_cover"
+ value="1"
+ c:identifier="GST_TAG_IMAGE_TYPE_FRONT_COVER"
+ glib:nick="front-cover"/>
+ <member name="back_cover"
+ value="2"
+ c:identifier="GST_TAG_IMAGE_TYPE_BACK_COVER"
+ glib:nick="back-cover"/>
+ <member name="leaflet_page"
+ value="3"
+ c:identifier="GST_TAG_IMAGE_TYPE_LEAFLET_PAGE"
+ glib:nick="leaflet-page"/>
+ <member name="medium"
+ value="4"
+ c:identifier="GST_TAG_IMAGE_TYPE_MEDIUM"
+ glib:nick="medium"/>
+ <member name="lead_artist"
+ value="5"
+ c:identifier="GST_TAG_IMAGE_TYPE_LEAD_ARTIST"
+ glib:nick="lead-artist"/>
+ <member name="artist"
+ value="6"
+ c:identifier="GST_TAG_IMAGE_TYPE_ARTIST"
+ glib:nick="artist"/>
+ <member name="conductor"
+ value="7"
+ c:identifier="GST_TAG_IMAGE_TYPE_CONDUCTOR"
+ glib:nick="conductor"/>
+ <member name="band_orchestra"
+ value="8"
+ c:identifier="GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA"
+ glib:nick="band-orchestra"/>
+ <member name="composer"
+ value="9"
+ c:identifier="GST_TAG_IMAGE_TYPE_COMPOSER"
+ glib:nick="composer"/>
+ <member name="lyricist"
+ value="10"
+ c:identifier="GST_TAG_IMAGE_TYPE_LYRICIST"
+ glib:nick="lyricist"/>
+ <member name="recording_location"
+ value="11"
+ c:identifier="GST_TAG_IMAGE_TYPE_RECORDING_LOCATION"
+ glib:nick="recording-location"/>
+ <member name="during_recording"
+ value="12"
+ c:identifier="GST_TAG_IMAGE_TYPE_DURING_RECORDING"
+ glib:nick="during-recording"/>
+ <member name="during_performance"
+ value="13"
+ c:identifier="GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE"
+ glib:nick="during-performance"/>
+ <member name="video_capture"
+ value="14"
+ c:identifier="GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE"
+ glib:nick="video-capture"/>
+ <member name="fish"
+ value="15"
+ c:identifier="GST_TAG_IMAGE_TYPE_FISH"
+ glib:nick="fish"/>
+ <member name="illustration"
+ value="16"
+ c:identifier="GST_TAG_IMAGE_TYPE_ILLUSTRATION"
+ glib:nick="illustration"/>
+ <member name="artist_logo"
+ value="17"
+ c:identifier="GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO"
+ glib:nick="artist-logo"/>
+ <member name="publisher_studio_logo"
+ value="18"
+ c:identifier="GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO"
+ glib:nick="publisher-studio-logo"/>
+ </enumeration>
+ <function name="tag_freeform_string_to_utf8"
+ c:identifier="gst_tag_freeform_string_to_utf8"
+ version="0.10.13">
+ <doc xml:whitespace="preserve">Convenience function to read a string with unknown character encoding. If
+the string is already in UTF-8 encoding, it will be returned right away.
+If not it tries to detect byte-order-mark for UTF-16/32 cases and use that.
+Otherwise, the environment will be searched for a number of environment
+variables (whose names are specified in the NULL-terminated string array
+are specified, the current locale will be tried. If that also doesn't work,
+WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed).</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a newly-allocated string in UTF-8 encoding, or NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string data</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:whitespace="preserve">length of string data, or -1 if the string is NUL-terminated</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="env_vars" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a NULL-terminated string array of environment variable names, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_from_id3_tag" c:identifier="gst_tag_from_id3_tag">
+ <doc xml:whitespace="preserve">Looks up the GStreamer tag for a ID3v2 tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The corresponding GStreamer tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id3_tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ID3v2 tag to convert to GStreamer tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_from_id3_user_tag"
+ c:identifier="gst_tag_from_id3_user_tag">
+ <doc xml:whitespace="preserve">Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in
+TXXX frame or owner in UFID frame).</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The corresponding GStreamer tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the type of ID3v2 user tag (e.g. "TXXX" or "UDIF")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="id3_user_tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ID3v2 user tag to convert to GStreamer tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_from_vorbis_tag"
+ c:identifier="gst_tag_from_vorbis_tag">
+ <doc xml:whitespace="preserve">Looks up the GStreamer tag for a vorbiscomment tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The corresponding GStreamer tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vorbis_tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">vorbiscomment tag to convert to GStreamer tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_code_iso_639_1"
+ c:identifier="gst_tag_get_language_code_iso_639_1"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2
+language code or two-letter ISO-639-1 language code (both are accepted for
+convenience).
+Language codes are case-sensitive and expected to be lower case.
+or NULL if no mapping is known. The returned string must not be
+modified or freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">two-letter ISO-639-1 language code string that maps to @lang_code,</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_code_iso_639_2B"
+ c:identifier="gst_tag_get_language_code_iso_639_2B"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns three-letter ISO-639-2 "bibliographic" language code given a
+two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
+code (both are accepted for convenience).
+The "bibliographic" code is derived from the English name of the language
+(e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the
+"terminological" codes are prefered.
+Language codes are case-sensitive and expected to be lower case.
+or NULL if no mapping is known. The returned string must not be
+modified or freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">three-letter ISO-639-2 language code string that maps to @lang_code,</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_code_iso_639_2T"
+ c:identifier="gst_tag_get_language_code_iso_639_2T"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns three-letter ISO-639-2 "terminological" language code given a
+two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
+code (both are accepted for convenience).
+The "terminological" code is derived from the local name of the language
+(e.g. "deu" for German instead of "ger"). In most scenarios, the
+"terminological" codes are prefered over the "bibliographic" ones.
+Language codes are case-sensitive and expected to be lower case.
+or NULL if no mapping is known. The returned string must not be
+modified or freed.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">three-letter ISO-639-2 language code string that maps to @lang_code,</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_codes"
+ c:identifier="gst_tag_get_language_codes"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Returns a list of known language codes (in form of two-letter ISO-639-1
+codes). This is useful for UIs to build a list of available languages for
+tagging purposes (e.g. to tag an audio track appropriately in a video or
+audio editor).
+with g_strfreev() when no longer needed.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">NULL-terminated string array with two-letter language codes. Free</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="tag_get_language_name"
+ c:identifier="gst_tag_get_language_name"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Returns the name of the language given an ISO-639 language code, such
+as often found in a GST_TAG_LANGUAGE tag. The name will be translated
+according to the current locale (if the library was built against the
+iso-codes package, otherwise the English name will be returned).
+Language codes are case-sensitive and expected to be lower case.
+not be mapped to a language name. The returned string must not be
+modified and does not need to freed; it will stay valid until the
+application is terminated.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">language name in UTF-8 format, or NULL if @language_code could</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="language_code" transfer-ownership="none">
+ <doc xml:whitespace="preserve">two or three-letter ISO-639 language code</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_id3_genre_count"
+ c:identifier="gst_tag_id3_genre_count">
+ <doc xml:whitespace="preserve">Gets the number of ID3v1 genres that can be identified. Winamp genres are
+included.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the number of ID3v1 genres that can be identified</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </function>
+ <function name="tag_id3_genre_get" c:identifier="gst_tag_id3_genre_get">
+ <doc xml:whitespace="preserve">Gets the ID3v1 genre name for a given ID.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the genre or NULL if no genre is associated with that ID.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:whitespace="preserve">ID of genre to query</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_image_data_to_image_buffer"
+ c:identifier="gst_tag_image_data_to_image_buffer"
+ version="0.10.20"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Helper function for tag-reading plugins to create a #GstBuffer suitable to
+add to a #GstTagList as an image tag (such as #GST_TAG_IMAGE or
+#GST_TAG_PREVIEW_IMAGE) from the encoded image data and an (optional) image
+type.
+blob of binary image data, often accompanied by a MIME type or some other
+content type string (e.g. 'png', 'jpeg', 'jpg'). Sometimes there is also an
+'image type' to indicate what kind of image this is (e.g. front cover,
+back cover, artist, etc.). The image data may also be an URI to the image
+rather than the image itself.
+In GStreamer, image tags are #GstBuffer<!-- -->s containing the raw image
+data, with the buffer caps describing the content type of the image
+(e.g. image/jpeg, image/png, text/uri-list). The buffer caps may contain
+an additional 'image-type' field of #GST_TYPE_TAG_IMAGE_TYPE to describe
+the type of image (front cover, back cover etc.). #GST_TAG_PREVIEW_IMAGE
+tags should not carry an image type, their type is already indicated via
+the special tag name.
+This function will do various checks and typefind the encoded image
+data (we can't trust the declared mime type).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a newly-allocated image buffer for use in tag lists, or NULL</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="image_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (encoded) image</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="image_data_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the encoded image data at @image_data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="image_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">type of the image, or #GST_TAG_IMAGE_TYPE_UNDEFINED. Pass #GST_TAG_IMAGE_TYPE_NONE if no image type should be set at all (e.g. for preview images)</doc>
+ <type name="TagImageType" c:type="GstTagImageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_add_id3_image"
+ c:identifier="gst_tag_list_add_id3_image"
+ version="0.10.20">
+ <doc xml:whitespace="preserve">Adds an image from an ID3 APIC frame (or similar, such as used in FLAC)
+to the given tag list. Also see gst_tag_image_data_to_image_buffer() for
+more information on image tags in GStreamer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the image was processed, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag_list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a tag list</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="image_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the (encoded) image</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="image_data_len" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the length of the encoded image data at @image_data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="id3_picture_type" transfer-ownership="none">
+ <doc xml:whitespace="preserve">picture type as per the ID3 (v2.4.0) specification for the APIC frame (0 = unknown/other)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_exif_buffer"
+ c:identifier="gst_tag_list_from_exif_buffer"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Parses the IFD and IFD tags data contained in the buffer and puts it
+on a taglist. The base_offset is used to subtract from the offset in
+the tag entries and be able to get the offset relative to the buffer
+start</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The parsed taglist</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The exif buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="byte_order" transfer-ownership="none">
+ <doc xml:whitespace="preserve">byte order of the data</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Offset from the tiff header to this buffer</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_exif_buffer_with_tiff_header"
+ c:identifier="gst_tag_list_from_exif_buffer_with_tiff_header"
+ version="0.10.30">
+ <doc xml:whitespace="preserve">Parses the exif tags starting with a tiff header structure.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">The taglist</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The exif buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_vorbiscomment_buffer"
+ c:identifier="gst_tag_list_from_vorbiscomment_buffer">
+ <doc xml:whitespace="preserve">Creates a new tag list that contains the information parsed out of a
+vorbiscomment packet.
+given vorbiscomment buffer or NULL on error.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A new #GstTagList with all tags that could be extracted from the</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer to convert</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">identification data at start of stream</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="id_data_length" transfer-ownership="none">
+ <doc xml:whitespace="preserve">length of identification data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="vendor_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a string that should take the vendor string of this vorbis comment or NULL if you don't need it.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_xmp_buffer"
+ c:identifier="gst_tag_list_from_xmp_buffer"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Parse a xmp packet into a taglist.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">new taglist or %NULL, free the list when done</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:whitespace="preserve">buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_new_from_id3v1"
+ c:identifier="gst_tag_list_new_from_id3v1">
+ <doc xml:whitespace="preserve">Parses the data containing an ID3v1 tag and returns a #GstTagList from the
+parsed data.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">A new tag list or NULL if the data was not an ID3v1 tag.</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">128 bytes of data containing the ID3v1 tag</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_exif_buffer"
+ c:identifier="gst_tag_list_to_exif_buffer"
+ version="0.10.30"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Formats the tags in taglist on exif format. The resulting buffer contains
+the tags IFD and is followed by the data pointed by the tag entries.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A GstBuffer containing the tag entries followed by the tag data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The taglist</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="byte_order" transfer-ownership="none">
+ <doc xml:whitespace="preserve">byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_offset" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Offset from the tiff header first byte</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_exif_buffer_with_tiff_header"
+ c:identifier="gst_tag_list_to_exif_buffer_with_tiff_header"
+ version="0.10.30"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Formats the tags in taglist into exif structure, a tiff header
+is put in the beginning of the buffer.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A GstBuffer containing the data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:whitespace="preserve">The taglist</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_vorbiscomment_buffer"
+ c:identifier="gst_tag_list_to_vorbiscomment_buffer"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new vorbiscomment buffer from a tag list.
+that could be converted from the given tag list.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A new #GstBuffer containing a vorbiscomment buffer with all tags</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tag list to convert</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="id_data" transfer-ownership="none">
+ <doc xml:whitespace="preserve">identification data at start of stream</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="id_data_length" transfer-ownership="none">
+ <doc xml:whitespace="preserve">length of identification data, may be 0 if @id_data is NULL</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="vendor_string" transfer-ownership="none">
+ <doc xml:whitespace="preserve">string that describes the vendor string or NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_xmp_buffer"
+ c:identifier="gst_tag_list_to_xmp_buffer"
+ version="0.10.29"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Formats a taglist as a xmp packet.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">new buffer or %NULL, unref the buffer when done</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">tags</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="read_only" transfer-ownership="none">
+ <doc xml:whitespace="preserve">does the container forbid inplace editing</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_parse_extended_comment"
+ c:identifier="gst_tag_parse_extended_comment"
+ version="0.10.10">
+ <doc xml:whitespace="preserve">Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and
+separate it into its components.
+If successful, @key, @lang and/or @value will be set to newly allocated
+strings that you need to free with g_free() when done. @key and @lang
+may also be set to NULL by this function if there is no key or no language
+code in the extended comment string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the string could be parsed, otherwise FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext_comment" transfer-ownership="none">
+ <doc xml:whitespace="preserve">an extended comment string, see #GST_TAG_EXTENDED_COMMENT</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the comment description key, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="lang" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the comment ISO-639 language code, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">return location for the actual comment string, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="fail_if_no_key" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether to fail if strings are not in key=value form</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_register_musicbrainz_tags"
+ c:identifier="gst_tag_register_musicbrainz_tags">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="tag_to_id3_tag" c:identifier="gst_tag_to_id3_tag">
+ <doc xml:whitespace="preserve">Looks up the ID3v2 tag for a GStreamer tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The corresponding ID3v2 tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="gst_tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GStreamer tag to convert to vorbiscomment tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_to_vorbis_comments"
+ c:identifier="gst_tag_to_vorbis_comments"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new tag list that contains the information parsed out of a
+vorbiscomment packet.
+g_list_foreach (list, (GFunc) g_free, NULL) plus g_list_free (list)</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">A #GList of newly-allowcated key=value strings. Free with</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstTagList</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a GStreamer tag identifier, such as #GST_TAG_ARTIST</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_to_vorbis_tag" c:identifier="gst_tag_to_vorbis_tag">
+ <doc xml:whitespace="preserve">Looks up the vorbiscomment tag for a GStreamer tag.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">The corresponding vorbiscomment tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="gst_tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">GStreamer tag to convert to vorbiscomment tag</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="vorbis_tag_add" c:identifier="gst_vorbis_tag_add">
+ <doc xml:whitespace="preserve">Convenience function using gst_tag_from_vorbis_tag(), parsing
+a vorbis comment string into the right type and adding it to the
+given taglist @list.
+Unknown vorbiscomment tags will be added to the tag list in form
+of a #GST_TAG_EXTENDED_COMMENT (since 0.10.10 at least).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstTagList</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a vorbiscomment tag string (key in key=value), must be valid UTF-8</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a vorbiscomment value string (value in key=value), must be valid UTF-8</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.libraries combinators kernel system
+gobject-introspection glib.ffi gstreamer.ffi ;
+IN: gstreamer.tag.ffi
+
+<<
+"gstreamer.tag" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgsttag-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+GIR: vocab:gstreamer/tag/GstTag-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.tag.ffi ;
+IN: gstreamer.tag
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="0.10"/>
+ <include name="GstBase" version="0.10"/>
+ <include name="libxml2" version="2.0"/>
+ <package name="gstreamer-video-0.10"/>
+ <c:include name="gst/video/gstvideofilter.h"/>
+ <c:include name="gst/video/gstvideosink.h"/>
+ <c:include name="gst/video/video-enumtypes.h"/>
+ <c:include name="gst/video/video.h"/>
+ <namespace name="GstVideo"
+ version="0.10"
+ shared-library="libgstvideo-0.10.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <constant name="VIDEO_BYTE1_MASK_24" value="0x00FF0000">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE1_MASK_24_INT" value="16711680">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_BYTE1_MASK_32" value="0xFF000000">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE1_MASK_32_INT" value="-16777216">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_BYTE2_MASK_24" value="0x0000FF00">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE2_MASK_24_INT" value="65280">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_BYTE2_MASK_32" value="0x00FF0000">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE2_MASK_32_INT" value="16711680">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_BYTE3_MASK_24" value="0x000000FF">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE3_MASK_24_INT" value="255">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_BYTE3_MASK_32" value="0x0000FF00">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE3_MASK_32_INT" value="65280">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_BYTE4_MASK_32" value="0x000000FF">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_BYTE4_MASK_32_INT" value="255">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_CAPS_GRAY8"
+ value="video/x-raw-gray, bpp = (int) 8, depth = (int) 8, width = ">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CAPS_RGB8_PALETTED"
+ value="video/x-raw-rgb, bpp = (int)8, depth = (int)8, width = ">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP1_MASK_15" value="0x7c00">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP1_MASK_15_INT" value="31744">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP1_MASK_16" value="0xf800">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP1_MASK_16_INT" value="63488">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP2_MASK_15" value="0x03e0">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP2_MASK_15_INT" value="992">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP2_MASK_16" value="0x07e0">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP2_MASK_16_INT" value="2016">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP3_MASK_15" value="0x001f">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP3_MASK_15_INT" value="31">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP3_MASK_16" value="0x001f">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP3_MASK_16_INT" value="31">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_FPS_RANGE" value="(fraction) [ 0, max ]">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_SIZE_RANGE" value="(int) [ 1, max ]">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <callback name="VideoConvertFrameCallback"
+ c:type="GstVideoConvertFrameCallback">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="VideoFilter"
+ c:symbol-prefix="video_filter"
+ c:type="GstVideoFilter"
+ parent="GstBase.BaseTransform"
+ abstract="1"
+ glib:type-name="GstVideoFilter"
+ glib:get-type="gst_video_filter_get_type"
+ glib:type-struct="VideoFilterClass">
+ <field name="element">
+ <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
+ </field>
+ <field name="inited">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </class>
+ <record name="VideoFilterClass"
+ c:type="GstVideoFilterClass"
+ glib:is-gtype-struct-for="VideoFilter">
+ <field name="parent_class">
+ <type name="GstBase.BaseTransformClass"
+ c:type="GstBaseTransformClass"/>
+ </field>
+ </record>
+ <enumeration name="VideoFormat"
+ glib:type-name="GstVideoFormat"
+ glib:get-type="gst_video_format_get_type"
+ c:type="GstVideoFormat">
+ <doc xml:whitespace="preserve">Enum value describing the most common video formats.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_FORMAT_UNKNOWN"
+ glib:nick="unknown"/>
+ <member name="i420"
+ value="1"
+ c:identifier="GST_VIDEO_FORMAT_I420"
+ glib:nick="i420"/>
+ <member name="yv12"
+ value="2"
+ c:identifier="GST_VIDEO_FORMAT_YV12"
+ glib:nick="yv12"/>
+ <member name="yuy2"
+ value="3"
+ c:identifier="GST_VIDEO_FORMAT_YUY2"
+ glib:nick="yuy2"/>
+ <member name="uyvy"
+ value="4"
+ c:identifier="GST_VIDEO_FORMAT_UYVY"
+ glib:nick="uyvy"/>
+ <member name="ayuv"
+ value="5"
+ c:identifier="GST_VIDEO_FORMAT_AYUV"
+ glib:nick="ayuv"/>
+ <member name="rgbx"
+ value="6"
+ c:identifier="GST_VIDEO_FORMAT_RGBx"
+ glib:nick="rgbx"/>
+ <member name="bgrx"
+ value="7"
+ c:identifier="GST_VIDEO_FORMAT_BGRx"
+ glib:nick="bgrx"/>
+ <member name="xrgb"
+ value="8"
+ c:identifier="GST_VIDEO_FORMAT_xRGB"
+ glib:nick="xrgb"/>
+ <member name="xbgr"
+ value="9"
+ c:identifier="GST_VIDEO_FORMAT_xBGR"
+ glib:nick="xbgr"/>
+ <member name="rgba"
+ value="10"
+ c:identifier="GST_VIDEO_FORMAT_RGBA"
+ glib:nick="rgba"/>
+ <member name="bgra"
+ value="11"
+ c:identifier="GST_VIDEO_FORMAT_BGRA"
+ glib:nick="bgra"/>
+ <member name="argb"
+ value="12"
+ c:identifier="GST_VIDEO_FORMAT_ARGB"
+ glib:nick="argb"/>
+ <member name="abgr"
+ value="13"
+ c:identifier="GST_VIDEO_FORMAT_ABGR"
+ glib:nick="abgr"/>
+ <member name="rgb"
+ value="14"
+ c:identifier="GST_VIDEO_FORMAT_RGB"
+ glib:nick="rgb"/>
+ <member name="bgr"
+ value="15"
+ c:identifier="GST_VIDEO_FORMAT_BGR"
+ glib:nick="bgr"/>
+ <member name="y41b"
+ value="16"
+ c:identifier="GST_VIDEO_FORMAT_Y41B"
+ glib:nick="y41b"/>
+ <member name="y42b"
+ value="17"
+ c:identifier="GST_VIDEO_FORMAT_Y42B"
+ glib:nick="y42b"/>
+ <member name="yvyu"
+ value="18"
+ c:identifier="GST_VIDEO_FORMAT_YVYU"
+ glib:nick="yvyu"/>
+ <member name="y444"
+ value="19"
+ c:identifier="GST_VIDEO_FORMAT_Y444"
+ glib:nick="y444"/>
+ <member name="v210"
+ value="20"
+ c:identifier="GST_VIDEO_FORMAT_v210"
+ glib:nick="v210"/>
+ <member name="v216"
+ value="21"
+ c:identifier="GST_VIDEO_FORMAT_v216"
+ glib:nick="v216"/>
+ <member name="nv12"
+ value="22"
+ c:identifier="GST_VIDEO_FORMAT_NV12"
+ glib:nick="nv12"/>
+ <member name="nv21"
+ value="23"
+ c:identifier="GST_VIDEO_FORMAT_NV21"
+ glib:nick="nv21"/>
+ <member name="gray8"
+ value="24"
+ c:identifier="GST_VIDEO_FORMAT_GRAY8"
+ glib:nick="gray8"/>
+ <member name="gray16_be"
+ value="25"
+ c:identifier="GST_VIDEO_FORMAT_GRAY16_BE"
+ glib:nick="gray16-be"/>
+ <member name="gray16_le"
+ value="26"
+ c:identifier="GST_VIDEO_FORMAT_GRAY16_LE"
+ glib:nick="gray16-le"/>
+ <member name="v308"
+ value="27"
+ c:identifier="GST_VIDEO_FORMAT_v308"
+ glib:nick="v308"/>
+ <member name="y800"
+ value="28"
+ c:identifier="GST_VIDEO_FORMAT_Y800"
+ glib:nick="y800"/>
+ <member name="y16"
+ value="29"
+ c:identifier="GST_VIDEO_FORMAT_Y16"
+ glib:nick="y16"/>
+ <member name="rgb16"
+ value="30"
+ c:identifier="GST_VIDEO_FORMAT_RGB16"
+ glib:nick="rgb16"/>
+ <member name="bgr16"
+ value="31"
+ c:identifier="GST_VIDEO_FORMAT_BGR16"
+ glib:nick="bgr16"/>
+ <member name="rgb15"
+ value="32"
+ c:identifier="GST_VIDEO_FORMAT_RGB15"
+ glib:nick="rgb15"/>
+ <member name="bgr15"
+ value="33"
+ c:identifier="GST_VIDEO_FORMAT_BGR15"
+ glib:nick="bgr15"/>
+ <member name="uyvp"
+ value="34"
+ c:identifier="GST_VIDEO_FORMAT_UYVP"
+ glib:nick="uyvp"/>
+ <member name="a420"
+ value="35"
+ c:identifier="GST_VIDEO_FORMAT_A420"
+ glib:nick="a420"/>
+ <member name="rgb8_paletted"
+ value="36"
+ c:identifier="GST_VIDEO_FORMAT_RGB8_PALETTED"
+ glib:nick="rgb8-paletted"/>
+ <member name="yuv9"
+ value="37"
+ c:identifier="GST_VIDEO_FORMAT_YUV9"
+ glib:nick="yuv9"/>
+ <member name="yvu9"
+ value="38"
+ c:identifier="GST_VIDEO_FORMAT_YVU9"
+ glib:nick="yvu9"/>
+ <member name="iyu1"
+ value="39"
+ c:identifier="GST_VIDEO_FORMAT_IYU1"
+ glib:nick="iyu1"/>
+ </enumeration>
+ <record name="VideoRectangle" c:type="GstVideoRectangle">
+ <doc xml:whitespace="preserve">Helper structure representing a rectangular area.</doc>
+ <field name="x" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="y" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="w" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="h" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <class name="VideoSink"
+ c:symbol-prefix="video_sink"
+ c:type="GstVideoSink"
+ parent="GstBase.BaseSink"
+ glib:type-name="GstVideoSink"
+ glib:get-type="gst_video_sink_get_type"
+ glib:type-struct="VideoSinkClass">
+ <doc xml:whitespace="preserve">The video sink instance structure. Derived video sinks should set the</doc>
+ <function name="center_rect" c:identifier="gst_video_sink_center_rect">
+ <doc xml:whitespace="preserve">Takes @src rectangle and position it at the center of @dst rectangle with or
+without @scaling. It handles clipping if the @src rectangle is bigger than
+the @dst one and @scaling is set to FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstVideoRectangle describing the source area</doc>
+ <type name="VideoRectangle" c:type="GstVideoRectangle"/>
+ </parameter>
+ <parameter name="dst" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstVideoRectangle describing the destination area</doc>
+ <type name="VideoRectangle" c:type="GstVideoRectangle"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a pointer to a #GstVideoRectangle which will receive the result area</doc>
+ <type name="VideoRectangle" c:type="GstVideoRectangle*"/>
+ </parameter>
+ <parameter name="scaling" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #gboolean indicating if scaling should be applied or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="show_frame">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <property name="show-preroll-frame"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
+ </field>
+ <field name="width">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="height">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="priv">
+ <type name="VideoSinkPrivate" c:type="GstVideoSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoSinkClass"
+ c:type="GstVideoSinkClass"
+ glib:is-gtype-struct-for="VideoSink">
+ <doc xml:whitespace="preserve">The video sink class structure. Derived classes should override the</doc>
+ <field name="parent_class">
+ <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
+ </field>
+ <field name="show_frame">
+ <callback name="show_frame">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_sink" transfer-ownership="none">
+ <type name="VideoSink" c:type="GstVideoSink*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoSinkPrivate" c:type="GstVideoSinkPrivate" disguised="1">
+ </record>
+ <function name="video_calculate_display_ratio"
+ c:identifier="gst_video_calculate_display_ratio"
+ version="0.10.7">
+ <doc xml:whitespace="preserve">Given the Pixel Aspect Ratio and size of an input video frame, and the
+pixel aspect ratio of the intended display device, calculates the actual
+display ratio the video will be rendered with.
+dar_n and dar_d parameters.
+The return value is FALSE in the case of integer overflow or other error.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">A boolean indicating success and a calculated Display Ratio in the</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dar_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of the calculated display_ratio</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="dar_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of the calculated display_ratio</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="video_width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Width of the video frame in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="video_height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Height of the video frame in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="video_par_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of the pixel aspect ratio of the input video.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="video_par_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of the pixel aspect ratio of the input video.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="display_par_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Numerator of the pixel aspect ratio of the display device</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="display_par_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Denominator of the pixel aspect ratio of the display device</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_convert_frame"
+ c:identifier="gst_video_convert_frame"
+ version="0.10.31"
+ introspectable="0"
+ throws="1">
+ <doc xml:whitespace="preserve">Converts a raw video buffer into the specified output caps.
+The output caps can be any raw video formats or any image formats (jpeg, png, ...).
+The width, height and pixel-aspect-ratio can also be specified in the output caps.
+will point to the #GError).</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The converted #GstBuffer, or %NULL if an error happened (in which case @err</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="to_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to convert to</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum amount of time allowed for the processing.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_convert_frame_async"
+ c:identifier="gst_video_convert_frame_async"
+ version="0.10.31">
+ <doc xml:whitespace="preserve">Converts a raw video buffer into the specified output caps.
+The output caps can be any raw video formats or any image formats (jpeg, png, ...).
+The width, height and pixel-aspect-ratio can also be specified in the output caps.
+finish after @timeout. @callback will always be called from the thread default
+%GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used,
+this will always be the global default main context.
+anymore.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="to_caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to convert to</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the maximum amount of time allowed for the processing.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="4"
+ destroy="5">
+ <doc xml:whitespace="preserve">%GstVideoConvertFrameCallback that will be called after conversion.</doc>
+ <type name="VideoConvertFrameCallback"
+ c:type="GstVideoConvertFrameCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:whitespace="preserve">%GDestroyNotify to be called after @user_data is not needed anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_new_still_frame"
+ c:identifier="gst_video_event_new_still_frame"
+ version="0.10.26"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Creates a new Still Frame event. If @in_still is %TRUE, then the event
+represents the start of a still frame sequence. If it is %FALSE, then
+the event ends a still frame sequence.
+To parse an event created by gst_video_event_new_still_frame() use
+gst_video_event_parse_still_frame().</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">The new GstEvent</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_still" transfer-ownership="none">
+ <doc xml:whitespace="preserve">boolean value for the still-frame state of the event.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_parse_still_frame"
+ c:identifier="gst_video_event_parse_still_frame"
+ version="0.10.26">
+ <doc xml:whitespace="preserve">Parse a #GstEvent, identify if it is a Still Frame event, and
+return the still-frame state from the event if it is.
+If the event represents the start of a still frame, the in_still
+variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the
+in_still variable order to just check whether the event is a valid still-frame
+event.
+Create a still frame event using gst_video_event_new_still_frame()</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the event is a valid still-frame event. %FALSE if not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #GstEvent to parse</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="in_still" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A boolean to receive the still-frame status from the event, or NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_convert"
+ c:identifier="gst_video_format_convert"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Converts among various #GstFormat types. This function handles
+GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
+raw video, GST_FORMAT_DEFAULT corresponds to video frames. This
+function can be to handle pad queries of the type GST_QUERY_CONVERT.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the conversion was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">frame rate numerator</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">frame rate denominator</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstFormat of the @src_value</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">value to convert</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstFormat of the @dest_value</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to destination value</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_from_fourcc"
+ c:identifier="gst_video_format_from_fourcc"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Converts a FOURCC value into the corresponding #GstVideoFormat.
+If the FOURCC cannot be represented by #GstVideoFormat,
+#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstVideoFormat describing the FOURCC value</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="fourcc" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a FOURCC value representing raw YUV video</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_component_height"
+ c:identifier="gst_video_format_get_component_height"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Calculates the height of the component. See
+of the component index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">height of component @component</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="component" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the component index</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_component_offset"
+ c:identifier="gst_video_format_get_component_offset"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Calculates the offset (in bytes) of the first pixel of the component
+with index @component. For packed formats, this will typically be a
+small integer (0, 1, 2, 3). For planar formats, this will be a
+(relatively) large offset to the beginning of the second or third
+component planes. See @gst_video_format_get_row_stride for a description
+of the component index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">offset of component @component</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="component" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the component index</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_component_width"
+ c:identifier="gst_video_format_get_component_width"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Calculates the width of the component. See
+of the component index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">width of component @component</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="component" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the component index</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_pixel_stride"
+ c:identifier="gst_video_format_get_pixel_stride"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Calculates the pixel stride (number of bytes from one pixel to the
+pixel to its immediate left) for the video component with an index
+of @component. See @gst_video_format_get_row_stride for a description
+of the component index.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">pixel stride of component @component</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="component" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the component index</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_row_stride"
+ c:identifier="gst_video_format_get_row_stride"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Calculates the row stride (number of bytes from one row of pixels to
+the next) for the video component with an index of @component. For
+YUV video, Y, U, and V have component indices of 0, 1, and 2,
+respectively. For RGB video, R, G, and B have component indicies of
+0, 1, and 2, respectively. Alpha channels, if present, have a component
+index of 3. The @width parameter always represents the width of the
+video, not the component.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">row stride of component @component</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="component" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the component index</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_size"
+ c:identifier="gst_video_format_get_size"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Calculates the total number of bytes in the raw video format. This
+number should be used when allocating a buffer for raw video.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">size (in bytes) of raw video format</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_has_alpha"
+ c:identifier="gst_video_format_has_alpha"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Returns TRUE or FALSE depending on if the video format provides an
+alpha channel.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @format has an alpha channel</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_is_gray"
+ c:identifier="gst_video_format_is_gray"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Determine whether the video format is a grayscale format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @format represents grayscale video</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_is_rgb"
+ c:identifier="gst_video_format_is_rgb"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Determine whether the video format is an RGB format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @format represents RGB video</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_is_yuv"
+ c:identifier="gst_video_format_is_yuv"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Determine whether the video format is a YUV format.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @format represents YUV video</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_new_caps"
+ c:identifier="gst_video_format_new_caps"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps object based on the parameters provided.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstCaps object, or NULL if there was an error</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstVideoFormat describing the raw video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">height of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of frame rate</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of frame rate</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="par_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of pixel aspect ratio</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="par_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of pixel aspect ratio</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_new_caps_interlaced"
+ c:identifier="gst_video_format_new_caps_interlaced"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Creates a new #GstCaps object based on the parameters provided.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:whitespace="preserve">a new #GstCaps object, or NULL if there was an error</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstVideoFormat describing the raw video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">width of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">height of video</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of frame rate</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of frame rate</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="par_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">numerator of pixel aspect ratio</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="par_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">denominator of pixel aspect ratio</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="interlaced" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#TRUE if the format is interlaced</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_parse_caps"
+ c:identifier="gst_video_format_parse_caps"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Determines the #GstVideoFormat of @caps and places it in the location
+pointed to by @format. Extracts the size of the video and places it
+in the location pointed to by @width and @height. If @caps does not
+represent one of the raw video formats listed in #GstVideoFormat, the
+function will fail and return FALSE.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the #GstVideoFormat of the video represented by @caps (output)</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the width of the video represented by @caps, may be NULL (output)</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the height of the video represented by @caps, may be NULL (output)</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_parse_caps_interlaced"
+ c:identifier="gst_video_format_parse_caps_interlaced"
+ version="0.10.23">
+ <doc xml:whitespace="preserve">Extracts whether the caps represents interlaced content or not and places it
+in @interlaced.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the fixed #GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="interlaced" transfer-ownership="none">
+ <doc xml:whitespace="preserve">whether @caps represents interlaced video or not, may be NULL (output)</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_to_fourcc"
+ c:identifier="gst_video_format_to_fourcc"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
+a few YUV formats have corresponding FOURCC values. If @format has
+no corresponding FOURCC value, 0 is returned.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">the FOURCC corresponding to @format</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GstVideoFormat video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_frame_rate" c:identifier="gst_video_frame_rate">
+ <doc xml:whitespace="preserve">A convenience function to retrieve a GValue holding the framerate
+from the caps on a pad.
+The pad needs to have negotiated caps containing a framerate property.
+do not contain a framerate.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">NULL if the pad has no configured caps or the configured caps</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #GstPad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_get_size" c:identifier="gst_video_get_size">
+ <doc xml:whitespace="preserve">Inspect the caps of the provided pad and retrieve the width and height of
+the video frames it is configured for.
+The pad needs to have negotiated caps containing width and height properties.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if the width and height could be retrieved.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #GstPad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to integer to hold pixel width of the video frames (output)</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to integer to hold pixel height of the video frames (output)</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_parse_caps_chroma_site"
+ c:identifier="gst_video_parse_caps_chroma_site"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Extracts the chroma site used by the caps. Possible values are
+"mpeg2" for MPEG-2 style chroma siting (co-sited horizontally,
+halfway-sited vertically), "jpeg" for JPEG and Theora style
+chroma siting (halfway-sited both horizontally and vertically).
+Other chroma site values are possible, but uncommon.
+When no chroma site is specified in the caps, it should be assumed
+to be "mpeg2".
+determined.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a chroma site string, or NULL if no chroma site could be</doc>
+ <type name="utf8" c:type="char*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the fixed #GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_parse_caps_color_matrix"
+ c:identifier="gst_video_parse_caps_color_matrix"
+ version="0.10.29">
+ <doc xml:whitespace="preserve">Extracts the color matrix used by the caps. Possible values are
+"sdtv" for the standard definition color matrix (as specified in
+Rec. ITU-R BT.470-6) or "hdtv" for the high definition color
+matrix (as specified in Rec. ITU-R BT.709)
+determined.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">a color matrix string, or NULL if no color matrix could be</doc>
+ <type name="utf8" c:type="char*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the fixed #GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_parse_caps_framerate"
+ c:identifier="gst_video_parse_caps_framerate"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Extracts the frame rate from @caps and places the values in the locations
+pointed to by @fps_n and @fps_d. Returns TRUE if the values could be
+parsed correctly, FALSE if not.
+This function can be used with #GstCaps that have any media type; it
+is not limited to formats handled by #GstVideoFormat.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #GstCaps instance</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to integer to hold numerator of frame rate (output)</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to integer to hold denominator of frame rate (output)</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_parse_caps_palette"
+ c:identifier="gst_video_parse_caps_palette"
+ version="0.10.32"
+ introspectable="0">
+ <doc xml:whitespace="preserve">Returns the palette data from the caps as a #GstBuffer. For
+#GST_VIDEO_FORMAT_RGB8_PALETTED this is containing 256 #guint32
+values, each containing ARGB colors in native endianness.</doc>
+ <return-value>
+ <doc xml:whitespace="preserve">a #GstBuffer containing the palette data. Unref after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">#GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_parse_caps_pixel_aspect_ratio"
+ c:identifier="gst_video_parse_caps_pixel_aspect_ratio"
+ version="0.10.16">
+ <doc xml:whitespace="preserve">Extracts the pixel aspect ratio from @caps and places the values in
+the locations pointed to by @par_n and @par_d. Returns TRUE if the
+values could be parsed correctly, FALSE if not.
+This function can be used with #GstCaps that have any media type; it
+is not limited to formats handled by #GstVideoFormat.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to a #GstCaps instance</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="par_n" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to numerator of pixel aspect ratio (output)</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="par_d" transfer-ownership="none">
+ <doc xml:whitespace="preserve">pointer to denominator of pixel aspect ratio (output)</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien alien.c-types alien.libraries combinators kernel
+system
+gobject-introspection glib.ffi gobject.ffi gstreamer.ffi ;
+IN: gstreamer.video.ffi
+
+<<
+"gstreamer.video" {
+ { [ os winnt? ] [ drop ] }
+ { [ os macosx? ] [ drop ] }
+ { [ os unix? ] [ "libgstvideo-0.10.so" cdecl add-library ] }
+} cond
+>>
+
+IMPLEMENT-STRUCTS: GstVideoRectangle ;
+
+GIR: vocab:gstreamer/video/GstVideo-0.10.gir
+
--- /dev/null
+! Copyright (C) 2010 Anton Gorenko.
+! See http://factorcode.org/license.txt for BSD license.
+USING: gstreamer.video.ffi ;
+IN: gstreamer.video
+
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstAudio" version="0.10"/>
- <include name="GstBase" version="0.10"/>
- <include name="GstInterfaces" version="0.10"/>
- <include name="GstTag" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-audio-0.10"/>
- <package name="gstreamer-interfaces-0.10"/>
- <package name="gstreamer-tag-0.10"/>
- <c:include name="gst/riff/riff-ids.h"/>
- <c:include name="gst/riff/riff-media.h"/>
- <c:include name="gst/riff/riff-read.h"/>
- <namespace name="GstRiff"
- version="0.10"
- shared-library="libgstriff-0.10.so.0"
- c:prefix="Gst">
- <constant name="IBM_FORMAT_ADPCM" value="259">
- <type name="int"/>
- </constant>
- <constant name="IBM_FORMAT_ALAW" value="258">
- <type name="int"/>
- </constant>
- <constant name="IBM_FORMAT_MULAW" value="257">
- <type name="int"/>
- </constant>
- <constant name="IF_KEYFRAME" value="16">
- <type name="int"/>
- </constant>
- <constant name="IF_LIST" value="1">
- <type name="int"/>
- </constant>
- <constant name="IF_NO_TIME" value="256">
- <type name="int"/>
- </constant>
- <constant name="STRH_DISABLED" value="1">
- <type name="int"/>
- </constant>
- <constant name="STRH_VIDEOPALCHANGES" value="65536">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_A52" value="8192">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AAC" value="255">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AAC_AC" value="16707">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AAC_pm" value="28781">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ADPCM" value="2">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ADPCM_IMA_DK3" value="98">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ADPCM_IMA_DK4" value="97">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ADPCM_IMA_WAV" value="105">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ALAW" value="6">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AMR_NB" value="87">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AMR_WB" value="88">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_APTX" value="37">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AUDIOFILE_AF10" value="38">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_AUDIOFILE_AF36" value="36">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_BTV_DIGITAL" value="1024">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CANOPUS_ATRAC" value="99">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CIRRUS" value="96">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CONTROL_RES_CR10" value="55">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CONTROL_RES_VQLPC" value="52">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CREATIVE_ADPCM" value="512">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CREATIVE_FASTSPEECH10" value="515">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CREATIVE_FASTSPEECH8" value="514">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CS2" value="608">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CS_IMAADPCM" value="57">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_CU_CODEC" value="25">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DF_G726" value="133">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DF_GSM610" value="134">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DIALOGIC_OKI_ADPCM" value="23">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DIGIADPCM" value="54">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DIGIFIX" value="22">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DIGIREAL" value="53">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DIGISTD" value="21">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DIGITAL_G723" value="291">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DOLBY_AC2" value="48">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DOLBY_AC3_SPDIF" value="146">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DSAT_DISPLAY" value="103">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DSP_TRUESPEECH" value="34">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DTS" value="8193">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_DVI_ADPCM" value="17">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ECHOSC1" value="35">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ECHOSC3" value="58">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ESPCM" value="97">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_EXTENSIBLE" value="65534">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_FLAC" value="61868">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_FM_TOWNS_SND" value="768">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_G722_ADPCM" value="101">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_G723_ADPCM" value="20">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_G726ADPCM" value="320">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_G726_ADPCM" value="100">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_G728_CELP" value="65">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_G729A" value="131">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_GSM610" value="49">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_GSM_AMR_CBR" value="31265">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_GSM_AMR_VBR" value="31266">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_IBM_CVSD" value="5">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_IEEE_FLOAT" value="3">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ILINK_VC" value="560">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_IMC" value="1025">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_IPI_HSX" value="592">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_IPI_RPELP" value="593">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ISIAUDIO" value="136">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ITU_G721_ADPCM" value="64">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_LH_CODEC" value="4352">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_LRC" value="40">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_LUCENT_G723" value="89">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MALDEN_PHONYTALK" value="160">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MEDIASONIC_G723" value="147">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MEDIASPACE_ADPCM" value="18">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MEDIAVISION_ADPCM" value="24">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MPEGL12" value="80">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MPEGL3" value="85">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MSG723" value="66">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MSN" value="50">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MSRT24" value="130">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MULAW" value="7">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_MVI_MVI2" value="132">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_NMS_VBXADPCM" value="56">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_NORRIS" value="5120">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_OKI_ADPCM" value="16">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_OLIADPCM" value="4097">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_OLICELP" value="4098">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_OLIGSM" value="4096">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_OLIOPR" value="4100">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_OLISBC" value="4099">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ONLIVE" value="137">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_PAC" value="83">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_PACKED" value="153">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_PCM" value="1">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_PHILIPS_LPCBB" value="152">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_PROSODY_1612" value="39">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_PROSODY_8KBPS" value="148">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_QDESIGN_MUSIC" value="1104">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_QUALCOMM_HALFRATE" value="337">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_QUALCOMM_PUREVOICE" value="336">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_QUARTERDECK" value="544">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_RAW_SPORT" value="576">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_RHETOREX_ADPCM" value="256">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ROCKWELL_ADPCM" value="59">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ROCKWELL_DIGITALK" value="60">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_RT24" value="82">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SANYO_LD_ADPCM" value="293">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SBC24" value="145">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIERRA_ADPCM" value="19">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIPROLAB_ACELP4800" value="305">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIPROLAB_ACELP8V3" value="306">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIPROLAB_ACEPLNET" value="304">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIPROLAB_G729" value="307">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIPROLAB_G729A" value="308">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIPROLAB_KELVIN" value="309">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SIREN" value="654">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SOFTSOUND" value="128">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SONARC" value="33">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SONIC" value="8264">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SONIC_LS" value="8264">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SONY_ATRAC3" value="624">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS" value="5376">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_TPC" value="1665">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_TUBGSM" value="341">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_UHER_ADPCM" value="528">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_UNKNOWN" value="0">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VIVO_G723" value="273">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VIVO_SIREN" value="274">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VME_VMPCM" value="1664">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VORBIS1" value="26447">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VORBIS1PLUS" value="26479">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VORBIS2" value="26448">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VORBIS2PLUS" value="26480">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VORBIS3" value="26449">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VORBIS3PLUS" value="26481">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE" value="98">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_AC10" value="113">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_AC16" value="114">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_AC20" value="115">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_AC8" value="112">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_BYTE_ALIGNED" value="105">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_METASOUND" value="117">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_METAVOICE" value="116">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_RT29HW" value="118">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_TQ40" value="121">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_TQ60" value="129">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_VR12" value="119">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VOXWARE_VR18" value="120">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_VSELP" value="4">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_WMAV1" value="352">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_WMAV2" value="353">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_WMAV3" value="354">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_WMAV3_L" value="355">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_WMS" value="10">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_XEBEC" value="61">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_YAMAHA_ADPCM" value="32">
- <type name="int"/>
- </constant>
- <constant name="WAVE_FORMAT_ZYXEL_ADPCM" value="151">
- <type name="int"/>
- </constant>
- <function name="create_audio_caps"
- c:identifier="gst_riff_create_audio_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="codec_id" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- <parameter name="strh" transfer-ownership="none">
- <type name="riff_strh" c:type="gst_riff_strh*"/>
- </parameter>
- <parameter name="strf" transfer-ownership="none">
- <type name="riff_strf_auds" c:type="gst_riff_strf_auds*"/>
- </parameter>
- <parameter name="strf_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strd_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="codec_name" transfer-ownership="none">
- <array c:type="char**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="create_audio_template_caps"
- c:identifier="gst_riff_create_audio_template_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </function>
- <function name="create_iavs_caps" c:identifier="gst_riff_create_iavs_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="codec_fcc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="strh" transfer-ownership="none">
- <type name="riff_strh" c:type="gst_riff_strh*"/>
- </parameter>
- <parameter name="strf" transfer-ownership="none">
- <type name="riff_strf_iavs" c:type="gst_riff_strf_iavs*"/>
- </parameter>
- <parameter name="strf_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strd_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="codec_name" transfer-ownership="none">
- <array c:type="char**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="create_iavs_template_caps"
- c:identifier="gst_riff_create_iavs_template_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </function>
- <function name="create_video_caps"
- c:identifier="gst_riff_create_video_caps"
- doc="data that is within the range of strf.size, but excluding any
-additional data withint this chunk but outside strf.size.
-chunk outside reach of strf.size. Ususally a palette.
-chunk. Usually codec initialization data.">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="codec_fcc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="strh" transfer-ownership="none">
- <type name="riff_strh" c:type="gst_riff_strh*"/>
- </parameter>
- <parameter name="strf" transfer-ownership="none">
- <type name="riff_strf_vids" c:type="gst_riff_strf_vids*"/>
- </parameter>
- <parameter name="strf_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strd_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="codec_name" transfer-ownership="none">
- <array c:type="char**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="create_video_template_caps"
- c:identifier="gst_riff_create_video_template_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- </function>
- <function name="init"
- c:identifier="gst_riff_init"
- doc="Initialize riff library.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="parse_chunk"
- c:identifier="gst_riff_parse_chunk"
- doc="by the read size by this function.
-chunk data, which may be NULL if chunksize == 0
-Reads a single chunk.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="offset" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="fourcc" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="chunk_data"
- transfer-ownership="none"
- doc="containing the">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_file_header"
- c:identifier="gst_riff_parse_file_header"
- doc="should be at least 12 bytes long.
-type of document (according to the header).
-Reads the first few bytes from the provided buffer, checks
-if this stream is a RIFF stream, and determines document type.
-This function takes ownership of @buf so it should not be used anymore
-after calling this function.
-caller should error out; we already throw an error), or TRUE
-if it is.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="doctype"
- direction="out"
- transfer-ownership="full"
- doc="to indicate the">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_info"
- c:identifier="gst_riff_parse_info"
- doc="containing information about this stream. May be
-NULL if no supported tags were found.
-Parses stream metadata from input data.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="taglist" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList**"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_strf_auds"
- c:identifier="gst_riff_parse_strf_auds"
- doc="strf/auds structure. Caller should free it.
-containing extradata for this particular stream (e.g.
-codec initialization data).
-Parses an audio stream´s strf structure plus optionally some
-extradata from input data. This function takes ownership of @buf.
-use.
-should be skipped on error, but it is not fatal.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strf" transfer-ownership="none" doc="to a filled-in">
- <type name="riff_strf_auds" c:type="gst_riff_strf_auds**"/>
- </parameter>
- <parameter name="data" transfer-ownership="none" doc="to a buffer">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_strf_iavs"
- c:identifier="gst_riff_parse_strf_iavs"
- doc="strf/iavs structure. Caller should free it.
-containing extradata for this particular stream (e.g.
-codec initialization data).
-Parses a interleaved (also known as "complex") stream´s strf
-structure plus optionally some extradata from input data. This
-function takes ownership of @buf.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strf" transfer-ownership="none" doc="to a filled-in">
- <type name="riff_strf_iavs" c:type="gst_riff_strf_iavs**"/>
- </parameter>
- <parameter name="data" transfer-ownership="none" doc="to a buffer">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_strf_vids"
- c:identifier="gst_riff_parse_strf_vids"
- doc="strf/vids structure. Caller should free it.
-containing extradata for this particular stream (e.g.
-palette, codec initialization data).
-Parses a video stream´s strf structure plus optionally some
-extradata from input data. This function takes ownership of @buf.
-should be skipped on error, but it is not fatal.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strf" transfer-ownership="none" doc="to a filled-in">
- <type name="riff_strf_vids" c:type="gst_riff_strf_vids**"/>
- </parameter>
- <parameter name="data" transfer-ownership="none" doc="to a buffer">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_strh"
- c:identifier="gst_riff_parse_strh"
- doc="strh structure. Caller should free it.
-Parses a strh structure from input data. Takes ownership of @buf.
-should be skipped on error, but it is not fatal.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="strh" transfer-ownership="none" doc="to a filled-in">
- <type name="riff_strh" c:type="gst_riff_strh**"/>
- </parameter>
- </parameters>
- </function>
- <function name="read_chunk"
- c:identifier="gst_riff_read_chunk"
- doc="Reads a single chunk of data. Since 0.10.8 'JUNK' chunks
-are skipped automatically.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="element" transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="offset" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="tag" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="chunk_data" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer**"/>
- </parameter>
- </parameters>
- </function>
- <record name="riff_acid" c:type="_gst_riff_acid">
- <field name="loop_type" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="root_note" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="unknown1" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="unknown2" writable="1">
- <type name="float" c:type="gfloat"/>
- </field>
- <field name="number_of_beats" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="meter_d" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="meter_n" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="tempo" writable="1">
- <type name="float" c:type="gfloat"/>
- </field>
- </record>
- <record name="riff_dmlh" c:type="_gst_riff_dmlh">
- <field name="totalframes" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </record>
- <record name="riff_index_entry" c:type="_gst_riff_index_entry">
- <field name="id" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="flags" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="offset" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="size" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </record>
- <record name="riff_strf_auds" c:type="_gst_riff_strf_auds">
- <field name="format" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="channels" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="rate" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="av_bps" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="blockalign" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="size" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- </record>
- <record name="riff_strf_iavs" c:type="_gst_riff_strf_iavs">
- <field name="DVAAuxSrc" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVAAuxCtl" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVAAuxSrc1" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVAAuxCtl1" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVVAuxSrc" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVVAuxCtl" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVReserved1" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="DVReserved2" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </record>
- <record name="riff_strf_vids" c:type="_gst_riff_strf_vids">
- <field name="size" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="width" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="height" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="planes" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="bit_cnt" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="compression" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="image_size" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="xpels_meter" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="ypels_meter" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="num_colors" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="imp_colors" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </record>
- <record name="riff_strh" c:type="_gst_riff_strh">
- <field name="type" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="fcc_handler" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="flags" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="priority" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="init_frames" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="scale" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="rate" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="start" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="length" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="bufsize" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="quality" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="samplesize" writable="1">
- <type name="uint32" c:type="guint32"/>
- </field>
- </record>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.syntax alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gmodule.ffi gobject.ffi ;
-EXCLUDE: alien.c-types => pointer ;
-IN: gstreamer.ffi
-
-<<
-"gstreamer" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
-} cond
->>
-
-TYPEDEF: gpointer GstClockID
-TYPEDEF: guint64 GstClockTime
-TYPEDEF: gint64 GstClockTimeDiff
-
-! types from libxml2
-TYPEDEF: void* xmlNodePtr
-TYPEDEF: void* xmlDocPtr
-TYPEDEF: void* xmlNsPtr
-
-GIR: vocab:gstreamer/Gst-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.ffi ;
-IN: gstreamer
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstBase" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-base-0.10"/>
- <c:include name="gst/rtp/gstbasertpaudiopayload.h"/>
- <c:include name="gst/rtp/gstbasertpdepayload.h"/>
- <c:include name="gst/rtp/gstbasertppayload.h"/>
- <c:include name="gst/rtp/gstrtcpbuffer.h"/>
- <c:include name="gst/rtp/gstrtpbuffer.h"/>
- <c:include name="gst/rtp/gstrtppayloads.h"/>
- <namespace name="GstRtp"
- version="0.10"
- shared-library="libgstrtp-0.10.so.0"
- c:prefix="Gst">
- <class name="BaseRTPAudioPayload"
- c:type="GstBaseRTPAudioPayload"
- parent="BaseRTPPayload"
- glib:type-name="GstBaseRTPAudioPayload"
- glib:get-type="gst_base_rtp_audio_payload_get_type"
- glib:type-struct="BaseRTPAudioPayloadClass">
- <method name="set_frame_based"
- c:identifier="gst_base_rtp_audio_payload_set_frame_based"
- doc="Tells #GstBaseRTPAudioPayload that the child element is for a frame based
-audio codec">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_frame_options"
- c:identifier="gst_base_rtp_audio_payload_set_frame_options"
- doc="Sets the options for frame based audio codecs.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="frame_duration" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="frame_size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_sample_based"
- c:identifier="gst_base_rtp_audio_payload_set_sample_based"
- doc="Tells #GstBaseRTPAudioPayload that the child element is for a sample based
-audio codec">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_sample_options"
- c:identifier="gst_base_rtp_audio_payload_set_sample_options"
- doc="Sets the options for sample based audio codecs.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sample_size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_samplebits_options"
- c:identifier="gst_base_rtp_audio_payload_set_samplebits_options"
- doc="Sets the options for sample based audio codecs."
- version="0.10.18">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sample_size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_adapter"
- c:identifier="gst_base_rtp_audio_payload_get_adapter"
- doc="Gets the internal adapter used by the depayloader."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="GstBase.Adapter" c:type="GstAdapter*"/>
- </return-value>
- </method>
- <method name="push"
- c:identifier="gst_base_rtp_audio_payload_push"
- doc="Create an RTP buffer and store @payload_len bytes of @data as the
-payload. Set the timestamp on the new buffer to @timestamp before pushing
-the buffer downstream."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="payload_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="flush"
- c:identifier="gst_base_rtp_audio_payload_flush"
- doc="Create an RTP buffer and store @payload_len bytes of the adapter as the
-payload. Set the timestamp on the new buffer to @timestamp before pushing
-the buffer downstream.
-If @payload_len is -1, all pending bytes will be flushed. If @timestamp is
--1, the timestamp will be calculated automatically."
- version="0.10.25">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="payload_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <property name="buffer-list" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <field name="payload">
- <type name="BaseRTPPayload" c:type="GstBaseRTPPayload"/>
- </field>
- <field name="priv">
- <type name="BaseRTPAudioPayloadPrivate"
- c:type="GstBaseRTPAudioPayloadPrivate*"/>
- </field>
- <field name="base_ts">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </field>
- <field name="frame_size">
- <type name="int" c:type="gint"/>
- </field>
- <field name="frame_duration">
- <type name="int" c:type="gint"/>
- </field>
- <field name="sample_size">
- <type name="int" c:type="gint"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="BaseRTPAudioPayloadClass"
- c:type="GstBaseRTPAudioPayloadClass"
- glib:is-gtype-struct-for="BaseRTPAudioPayload">
- <field name="parent_class">
- <type name="BaseRTPPayloadClass" c:type="GstBaseRTPPayloadClass"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseRTPAudioPayloadPrivate"
- c:type="GstBaseRTPAudioPayloadPrivate">
- </record>
- <class name="BaseRTPDepayload"
- c:type="GstBaseRTPDepayload"
- parent="Gst.Element"
- glib:type-name="GstBaseRTPDepayload"
- glib:get-type="gst_base_rtp_depayload_get_type"
- glib:type-struct="BaseRTPDepayloadClass">
- <virtual-method name="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="add_to_queue">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="in" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="process">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="in" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="set_gst_timestamp">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="packet_lost">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="push"
- c:identifier="gst_base_rtp_depayload_push"
- doc="Push @out_buf to the peer of @filter. This function takes ownership of
-Unlike gst_base_rtp_depayload_push_ts(), this function will not apply
-any timestamp on the outgoing buffer. Subclasses should therefore timestamp
-outgoing buffers themselves.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="out_buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="push_ts"
- c:identifier="gst_base_rtp_depayload_push_ts"
- doc="Push @out_buf to the peer of @filter. This function takes ownership of
-Unlike gst_base_rtp_depayload_push(), this function will by default apply
-the last incomming timestamp on the outgoing buffer when it didn't have a
-timestamp already. The set_get_timestamp vmethod can be overwritten to change
-this behaviour (and take, for example, @timestamp into account).">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="out_buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <property name="queue-delay" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <field name="parent">
- <type name="Gst.Element" c:type="GstElement"/>
- </field>
- <field name="sinkpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="srcpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="queuelock">
- <type name="GLib.StaticRecMutex" c:type="GStaticRecMutex"/>
- </field>
- <field name="thread_running">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="thread">
- <type name="GLib.Thread" c:type="GThread*"/>
- </field>
- <field name="clock_rate">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="queue_delay">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="queue">
- <type name="GLib.Queue" c:type="GQueue*"/>
- </field>
- <field name="segment">
- <type name="Gst.Segment" c:type="GstSegment"/>
- </field>
- <field name="need_newsegment">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="priv">
- <type name="BaseRTPDepayloadPrivate"
- c:type="GstBaseRTPDepayloadPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="BaseRTPDepayloadClass"
- c:type="GstBaseRTPDepayloadClass"
- glib:is-gtype-struct-for="BaseRTPDepayload">
- <field name="parent_class">
- <type name="Gst.ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="set_caps">
- <callback name="set_caps" c:type="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none">
- <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="add_to_queue">
- <callback name="add_to_queue" c:type="add_to_queue">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none">
- <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
- </parameter>
- <parameter name="in" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="process">
- <callback name="process" c:type="process">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="base" transfer-ownership="none">
- <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
- </parameter>
- <parameter name="in" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="set_gst_timestamp">
- <callback name="set_gst_timestamp" c:type="set_gst_timestamp">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none">
- <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="packet_lost">
- <callback name="packet_lost" c:type="packet_lost">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="filter" transfer-ownership="none">
- <type name="BaseRTPDepayload" c:type="GstBaseRTPDepayload*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseRTPDepayloadPrivate" c:type="GstBaseRTPDepayloadPrivate">
- </record>
- <class name="BaseRTPPayload"
- c:type="GstBaseRTPPayload"
- parent="Gst.Element"
- abstract="1"
- glib:type-name="GstBaseRTPPayload"
- glib:get-type="gst_basertppayload_get_type"
- glib:type-struct="BaseRTPPayloadClass">
- <virtual-method name="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="handle_buffer">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="set_options"
- c:identifier="gst_basertppayload_set_options"
- doc="Set the rtp options of the payloader. These options will be set in the caps
-of the payloader. Subclasses must call this method before calling
-gst_basertppayload_push() or gst_basertppayload_set_outcaps().">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="media" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="dynamic" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="encoding_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="clock_rate" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_outcaps"
- c:identifier="gst_basertppayload_set_outcaps"
- doc="Configure the output caps with the optional parameters.
-Variable arguments should be in the form field name, field type
-(as a GType), value(s). The last variable argument should be NULL.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fieldname" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter transfer-ownership="none">
- <varargs>
- </varargs>
- </parameter>
- </parameters>
- </method>
- <method name="is_filled"
- c:identifier="gst_basertppayload_is_filled"
- doc="Check if the packet with @size and @duration would exceed the configured
-maximum size.
-configured MTU or max_ptime.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="duration" transfer-ownership="none">
- <type name="Gst.ClockTime" c:type="GstClockTime"/>
- </parameter>
- </parameters>
- </method>
- <method name="push"
- c:identifier="gst_basertppayload_push"
- doc="Push @buffer to the peer element of the payloader. The SSRC, payload type,
-seqnum and timestamp of the RTP buffer will be updated first.
-This function takes ownership of @buffer.">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="push_list"
- c:identifier="gst_basertppayload_push_list"
- doc="Push @list to the peer element of the payloader. The SSRC, payload type,
-seqnum and timestamp of the RTP buffer will be updated first.
-This function takes ownership of @list."
- version="0.10.24">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </method>
- <property name="max-ptime" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="min-ptime" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="mtu" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="perfect-rtptime" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <property name="pt" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="ptime-multiple" writable="1">
- <type name="int64" c:type="gint64"/>
- </property>
- <property name="seqnum">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="seqnum-offset" writable="1">
- <type name="int" c:type="gint"/>
- </property>
- <property name="ssrc" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="timestamp">
- <type name="uint" c:type="guint"/>
- </property>
- <property name="timestamp-offset" writable="1">
- <type name="uint" c:type="guint"/>
- </property>
- <field name="element">
- <type name="Gst.Element" c:type="GstElement"/>
- </field>
- <field name="sinkpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="srcpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="seq_rand">
- <type name="GLib.Rand" c:type="GRand*"/>
- </field>
- <field name="ssrc_rand">
- <type name="GLib.Rand" c:type="GRand*"/>
- </field>
- <field name="ts_rand">
- <type name="GLib.Rand" c:type="GRand*"/>
- </field>
- <field name="ts_base">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="seqnum_base">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="media">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="encoding_name">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="dynamic">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="clock_rate">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="ts_offset">
- <type name="int32" c:type="gint32"/>
- </field>
- <field name="timestamp">
- <type name="uint32" c:type="guint32"/>
- </field>
- <field name="seqnum_offset">
- <type name="int16" c:type="gint16"/>
- </field>
- <field name="seqnum">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="max_ptime">
- <type name="int64" c:type="gint64"/>
- </field>
- <field name="pt">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="ssrc">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="current_ssrc">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="mtu">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="segment">
- <type name="Gst.Segment" c:type="GstSegment"/>
- </field>
- <field name="min_ptime">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="priv">
- <type name="BaseRTPPayloadPrivate" c:type="GstBaseRTPPayloadPrivate*"/>
- </field>
- <union name="abidata" c:type="abidata">
- <record name="ABI" c:type="ABI">
- <field name="ptime" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- <field name="ptime_multiple" writable="1">
- <type name="uint64" c:type="guint64"/>
- </field>
- </record>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </union>
- </class>
- <record name="BaseRTPPayloadClass"
- c:type="GstBaseRTPPayloadClass"
- glib:is-gtype-struct-for="BaseRTPPayload">
- <field name="parent_class">
- <type name="Gst.ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="set_caps">
- <callback name="set_caps" c:type="set_caps">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="payload" transfer-ownership="none">
- <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="handle_buffer">
- <callback name="handle_buffer" c:type="handle_buffer">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="payload" transfer-ownership="none">
- <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="handle_event">
- <callback name="handle_event" c:type="handle_event">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_caps">
- <callback name="get_caps" c:type="get_caps">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="payload" transfer-ownership="none">
- <type name="BaseRTPPayload" c:type="GstBaseRTPPayload*"/>
- </parameter>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="BaseRTPPayloadPrivate" c:type="GstBaseRTPPayloadPrivate">
- </record>
- <constant name="PAYLOAD_1016_STRING" value="1">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_CELLB_STRING" value="25">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_CN_STRING" value="13">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_DVI4_11025_STRING" value="16">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_DVI4_16000_STRING" value="6">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_DVI4_22050_STRING" value="17">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_DVI4_8000_STRING" value="5">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_DYNAMIC_STRING" value="[96, 127]">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G721_STRING" value="2">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G722_STRING" value="9">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G723_53" value="17">
- <type name="int"/>
- </constant>
- <constant name="PAYLOAD_G723_53_STRING" value="17">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G723_63" value="16">
- <type name="int"/>
- </constant>
- <constant name="PAYLOAD_G723_63_STRING" value="16">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G723_STRING" value="4">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G728_STRING" value="15">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_G729_STRING" value="18">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_GSM_STRING" value="3">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_H261_STRING" value="31">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_H263_STRING" value="34">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_JPEG_STRING" value="26">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_L16_MONO_STRING" value="11">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_L16_STEREO_STRING" value="10">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_LPC_STRING" value="7">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_MP2T_STRING" value="33">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_MPA_STRING" value="14">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_MPV_STRING" value="32">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_NV_STRING" value="28">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_PCMA_STRING" value="8">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_PCMU_STRING" value="0">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_QCELP_STRING" value="12">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_TS41" value="19">
- <type name="int"/>
- </constant>
- <constant name="PAYLOAD_TS41_STRING" value="19">
- <type name="utf8"/>
- </constant>
- <constant name="PAYLOAD_TS48" value="18">
- <type name="int"/>
- </constant>
- <constant name="PAYLOAD_TS48_STRING" value="18">
- <type name="utf8"/>
- </constant>
- <enumeration name="RTCPFBType"
- doc="Different types of feedback messages."
- version="0.10.23"
- c:type="GstRTCPFBType">
- <member name="fb_type_invalid"
- value="0"
- c:identifier="GST_RTCP_FB_TYPE_INVALID"/>
- <member name="rtpfb_type_nack"
- value="1"
- c:identifier="GST_RTCP_RTPFB_TYPE_NACK"/>
- <member name="psfb_type_pli"
- value="1"
- c:identifier="GST_RTCP_PSFB_TYPE_PLI"/>
- <member name="psfb_type_sli"
- value="2"
- c:identifier="GST_RTCP_PSFB_TYPE_SLI"/>
- <member name="psfb_type_rpsi"
- value="3"
- c:identifier="GST_RTCP_PSFB_TYPE_RPSI"/>
- <member name="psfb_type_afb"
- value="15"
- c:identifier="GST_RTCP_PSFB_TYPE_AFB"/>
- </enumeration>
- <record name="RTCPPacket"
- c:type="GstRTCPPacket"
- doc="Data structure that points to a packet at @offset in @buffer.
-The size of the structure is made public to allow stack allocations.">
- <field name="buffer" writable="1">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </field>
- <field name="offset" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="padding" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="count" writable="1">
- <type name="uint8" c:type="guint8"/>
- </field>
- <field name="type" writable="1">
- <type name="RTCPType" c:type="GstRTCPType"/>
- </field>
- <field name="length" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="item_offset" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="item_count" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="entry_offset" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <method name="move_to_next"
- c:identifier="gst_rtcp_packet_move_to_next"
- doc="Move the packet pointer @packet to the next packet in the payload.
-Use gst_rtcp_buffer_get_first_packet() to initialize @packet.
-function.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="remove"
- c:identifier="gst_rtcp_packet_remove"
- doc="Removes the packet pointed to by @packet and moves pointer to the next one
-function.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_padding"
- c:identifier="gst_rtcp_packet_get_padding"
- doc="Get the packet padding of the packet pointed to by @packet.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_count"
- c:identifier="gst_rtcp_packet_get_count"
- doc="Get the count field in @packet.
-valid packet.">
- <return-value transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </return-value>
- </method>
- <method name="get_length"
- c:identifier="gst_rtcp_packet_get_length"
- doc="Get the length field of @packet. This is the length of the packet in
-32-bit words minus one.">
- <return-value transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </return-value>
- </method>
- <method name="sr_get_sender_info"
- c:identifier="gst_rtcp_packet_sr_get_sender_info"
- doc="Parse the SR sender info and store the values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="ntptime" direction="out" transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="rtptime" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="packet_count"
- direction="out"
- transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="octet_count"
- direction="out"
- transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="sr_set_sender_info"
- c:identifier="gst_rtcp_packet_sr_set_sender_info"
- doc="Set the given values in the SR packet @packet.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="ntptime" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- <parameter name="rtptime" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="packet_count" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="octet_count" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="rr_get_ssrc"
- c:identifier="gst_rtcp_packet_rr_get_ssrc"
- doc="Get the ssrc field of the RR @packet.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="rr_set_ssrc"
- c:identifier="gst_rtcp_packet_rr_set_ssrc"
- doc="Set the ssrc field of the RR @packet.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_rb_count"
- c:identifier="gst_rtcp_packet_get_rb_count"
- doc="Get the number of report blocks in @packet.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_rb"
- c:identifier="gst_rtcp_packet_get_rb"
- doc="Parse the values of the @nth report block in @packet and store the result in
-the values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="ssrc" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="fractionlost" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="packetslost"
- direction="out"
- transfer-ownership="full">
- <type name="int32" c:type="gint32*"/>
- </parameter>
- <parameter name="exthighestseq"
- direction="out"
- transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="jitter" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="lsr" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="dlsr" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_rb"
- c:identifier="gst_rtcp_packet_add_rb"
- doc="Add a new report block to @packet with the given values.
-the max MTU is exceeded or the number of report blocks is greater than
-#GST_RTCP_MAX_RB_COUNT.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="fractionlost" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="packetslost" transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </parameter>
- <parameter name="exthighestseq" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="lsr" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="dlsr" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_rb"
- c:identifier="gst_rtcp_packet_set_rb"
- doc="Set the @nth new report block in @packet with the given values.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="fractionlost" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="packetslost" transfer-ownership="none">
- <type name="int32" c:type="gint32"/>
- </parameter>
- <parameter name="exthighestseq" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="jitter" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="lsr" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- <parameter name="dlsr" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="sdes_get_item_count"
- c:identifier="gst_rtcp_packet_sdes_get_item_count"
- doc="Get the number of items in the SDES packet @packet.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="sdes_first_item"
- c:identifier="gst_rtcp_packet_sdes_first_item"
- doc="Move to the first SDES item in @packet.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="sdes_next_item"
- c:identifier="gst_rtcp_packet_sdes_next_item"
- doc="Move to the next SDES item in @packet.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="sdes_get_ssrc"
- c:identifier="gst_rtcp_packet_sdes_get_ssrc"
- doc="Get the SSRC of the current SDES item.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="sdes_first_entry"
- c:identifier="gst_rtcp_packet_sdes_first_entry"
- doc="Move to the first SDES entry in the current item.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="sdes_next_entry"
- c:identifier="gst_rtcp_packet_sdes_next_entry"
- doc="Move to the next SDES entry in the current item.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="sdes_get_entry"
- c:identifier="gst_rtcp_packet_sdes_get_entry"
- doc="Get the data of the current SDES item entry. @type (when not NULL) will
-contain the type of the entry. @data (when not NULL) will point to @len
-bytes.
-When @type refers to a text item, @data will point to a UTF8 string. Note
-that this UTF8 string is NOT null-terminated. Use
-gst_rtcp_packet_sdes_copy_entry() to get a null-termined copy of the entry.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="data" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- </parameters>
- </method>
- <method name="sdes_copy_entry"
- c:identifier="gst_rtcp_packet_sdes_copy_entry"
- doc="This function is like gst_rtcp_packet_sdes_get_entry() but it returns a
-null-terminated copy of the data instead. use g_free() after usage.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="data" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- </parameters>
- </method>
- <method name="sdes_add_item"
- c:identifier="gst_rtcp_packet_sdes_add_item"
- doc="Add a new SDES item for @ssrc to @packet.
-items has been exceeded for the SDES packet or the MTU has been reached.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="sdes_add_entry"
- c:identifier="gst_rtcp_packet_sdes_add_entry"
- doc="Add a new SDES entry to the current item in @packet.
-reached.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="bye_get_ssrc_count"
- c:identifier="gst_rtcp_packet_bye_get_ssrc_count"
- doc="Get the number of SSRC fields in @packet.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="bye_get_nth_ssrc"
- c:identifier="gst_rtcp_packet_bye_get_nth_ssrc"
- doc="Get the @nth SSRC of the BYE @packet.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="bye_add_ssrc"
- c:identifier="gst_rtcp_packet_bye_add_ssrc"
- doc="Add @ssrc to the BYE @packet.
-the max MTU is exceeded or the number of sources blocks is greater than
-#GST_RTCP_MAX_BYE_SSRC_COUNT.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="bye_add_ssrcs"
- c:identifier="gst_rtcp_packet_bye_add_ssrcs"
- doc="Adds @len SSRCs in @ssrc to BYE @packet.
-the max MTU is exceeded or the number of sources blocks is greater than
-#GST_RTCP_MAX_BYE_SSRC_COUNT.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" direction="out" transfer-ownership="full">
- <type name="uint32" c:type="guint32*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="bye_get_reason_len"
- c:identifier="gst_rtcp_packet_bye_get_reason_len"
- doc="Get the length of the reason string.
-present.">
- <return-value transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </return-value>
- </method>
- <method name="bye_get_reason"
- c:identifier="gst_rtcp_packet_bye_get_reason"
- doc="Get the reason in @packet.
-a reason string. The string must be freed with g_free() after usage.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="bye_set_reason"
- c:identifier="gst_rtcp_packet_bye_set_reason"
- doc="Set the reason string to @reason in @packet.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="reason" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="fb_get_sender_ssrc"
- c:identifier="gst_rtcp_packet_fb_get_sender_ssrc"
- doc="Get the sender SSRC field of the RTPFB or PSFB @packet."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="fb_set_sender_ssrc"
- c:identifier="gst_rtcp_packet_fb_set_sender_ssrc"
- doc="Set the sender SSRC field of the RTPFB or PSFB @packet."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="fb_get_media_ssrc"
- c:identifier="gst_rtcp_packet_fb_get_media_ssrc"
- doc="Get the media SSRC field of the RTPFB or PSFB @packet."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- </method>
- <method name="fb_set_media_ssrc"
- c:identifier="gst_rtcp_packet_fb_set_media_ssrc"
- doc="Set the media SSRC field of the RTPFB or PSFB @packet."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="fb_set_type"
- c:identifier="gst_rtcp_packet_fb_set_type"
- doc="Set the feedback message type of the FB @packet."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="RTCPFBType" c:type="GstRTCPFBType"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="RTCPSDESType" c:type="GstRTCPSDESType">
- <member name="invalid" value="-1" c:identifier="GST_RTCP_SDES_INVALID"/>
- <member name="end" value="0" c:identifier="GST_RTCP_SDES_END"/>
- <member name="cname" value="1" c:identifier="GST_RTCP_SDES_CNAME"/>
- <member name="name" value="2" c:identifier="GST_RTCP_SDES_NAME"/>
- <member name="email" value="3" c:identifier="GST_RTCP_SDES_EMAIL"/>
- <member name="phone" value="4" c:identifier="GST_RTCP_SDES_PHONE"/>
- <member name="loc" value="5" c:identifier="GST_RTCP_SDES_LOC"/>
- <member name="tool" value="6" c:identifier="GST_RTCP_SDES_TOOL"/>
- <member name="note" value="7" c:identifier="GST_RTCP_SDES_NOTE"/>
- <member name="priv" value="8" c:identifier="GST_RTCP_SDES_PRIV"/>
- </enumeration>
- <enumeration name="RTCPType" c:type="GstRTCPType">
- <member name="invalid" value="0" c:identifier="GST_RTCP_TYPE_INVALID"/>
- <member name="sr" value="200" c:identifier="GST_RTCP_TYPE_SR"/>
- <member name="rr" value="201" c:identifier="GST_RTCP_TYPE_RR"/>
- <member name="sdes" value="202" c:identifier="GST_RTCP_TYPE_SDES"/>
- <member name="bye" value="203" c:identifier="GST_RTCP_TYPE_BYE"/>
- <member name="app" value="204" c:identifier="GST_RTCP_TYPE_APP"/>
- <member name="rtpfb" value="205" c:identifier="GST_RTCP_TYPE_RTPFB"/>
- <member name="psfb" value="206" c:identifier="GST_RTCP_TYPE_PSFB"/>
- </enumeration>
- <constant name="RTCP_MAX_BYE_SSRC_COUNT" value="31">
- <type name="int"/>
- </constant>
- <constant name="RTCP_MAX_RB_COUNT" value="31">
- <type name="int"/>
- </constant>
- <constant name="RTCP_MAX_SDES" value="255">
- <type name="int"/>
- </constant>
- <constant name="RTCP_MAX_SDES_ITEM_COUNT" value="31">
- <type name="int"/>
- </constant>
- <constant name="RTCP_VALID_MASK" value="57598">
- <type name="int"/>
- </constant>
- <constant name="RTCP_VALID_VALUE" value="0">
- <type name="int"/>
- </constant>
- <constant name="RTCP_VERSION" value="2">
- <type name="int"/>
- </constant>
- <enumeration name="RTPPayload" c:type="GstRTPPayload">
- <member name="pcmu" value="0" c:identifier="GST_RTP_PAYLOAD_PCMU"/>
- <member name="1016" value="1" c:identifier="GST_RTP_PAYLOAD_1016"/>
- <member name="g721" value="2" c:identifier="GST_RTP_PAYLOAD_G721"/>
- <member name="gsm" value="3" c:identifier="GST_RTP_PAYLOAD_GSM"/>
- <member name="g723" value="4" c:identifier="GST_RTP_PAYLOAD_G723"/>
- <member name="dvi4_8000"
- value="5"
- c:identifier="GST_RTP_PAYLOAD_DVI4_8000"/>
- <member name="dvi4_16000"
- value="6"
- c:identifier="GST_RTP_PAYLOAD_DVI4_16000"/>
- <member name="lpc" value="7" c:identifier="GST_RTP_PAYLOAD_LPC"/>
- <member name="pcma" value="8" c:identifier="GST_RTP_PAYLOAD_PCMA"/>
- <member name="g722" value="9" c:identifier="GST_RTP_PAYLOAD_G722"/>
- <member name="l16_stereo"
- value="10"
- c:identifier="GST_RTP_PAYLOAD_L16_STEREO"/>
- <member name="l16_mono"
- value="11"
- c:identifier="GST_RTP_PAYLOAD_L16_MONO"/>
- <member name="qcelp" value="12" c:identifier="GST_RTP_PAYLOAD_QCELP"/>
- <member name="cn" value="13" c:identifier="GST_RTP_PAYLOAD_CN"/>
- <member name="mpa" value="14" c:identifier="GST_RTP_PAYLOAD_MPA"/>
- <member name="g728" value="15" c:identifier="GST_RTP_PAYLOAD_G728"/>
- <member name="dvi4_11025"
- value="16"
- c:identifier="GST_RTP_PAYLOAD_DVI4_11025"/>
- <member name="dvi4_22050"
- value="17"
- c:identifier="GST_RTP_PAYLOAD_DVI4_22050"/>
- <member name="g729" value="18" c:identifier="GST_RTP_PAYLOAD_G729"/>
- <member name="cellb" value="25" c:identifier="GST_RTP_PAYLOAD_CELLB"/>
- <member name="jpeg" value="26" c:identifier="GST_RTP_PAYLOAD_JPEG"/>
- <member name="nv" value="28" c:identifier="GST_RTP_PAYLOAD_NV"/>
- <member name="h261" value="31" c:identifier="GST_RTP_PAYLOAD_H261"/>
- <member name="mpv" value="32" c:identifier="GST_RTP_PAYLOAD_MPV"/>
- <member name="mp2t" value="33" c:identifier="GST_RTP_PAYLOAD_MP2T"/>
- <member name="h263" value="34" c:identifier="GST_RTP_PAYLOAD_H263"/>
- </enumeration>
- <record name="RTPPayloadInfo"
- c:type="GstRTPPayloadInfo"
- doc=""message".
-channels. NULL = not applicable.
-Structure holding default payload type information.">
- <field name="payload_type" writable="1">
- <type name="uint8" c:type="guint8"/>
- </field>
- <field name="media" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="encoding_name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="clock_rate" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="encoding_parameters" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="bitrate" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- </record>
- <constant name="VERSION" value="2">
- <type name="int"/>
- </constant>
- <function name="buffer_allocate_data"
- c:identifier="gst_rtp_buffer_allocate_data"
- doc="Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs,
-a payload length of @payload_len and padding of @pad_len.
-MALLOCDATA of @buffer will be overwritten and will not be freed.
-All other RTP header fields will be set to 0/FALSE.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="payload_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pad_len" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="csrc_count" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_calc_header_len"
- c:identifier="gst_rtp_buffer_calc_header_len"
- doc="Calculate the header length of an RTP packet with @csrc_count CSRC entries.
-An RTP packet can have at most 15 CSRC entries.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="csrc_count" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_calc_packet_len"
- c:identifier="gst_rtp_buffer_calc_packet_len"
- doc="Calculate the total length of an RTP packet with a payload size of @payload_len,
-a padding of @pad_len and a @csrc_count CSRC entries.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="payload_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pad_len" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="csrc_count" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_calc_payload_len"
- c:identifier="gst_rtp_buffer_calc_payload_len"
- doc="Calculate the length of the payload of an RTP packet with size @packet_len,
-a padding of @pad_len and a @csrc_count CSRC entries.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="packet_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pad_len" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="csrc_count" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_compare_seqnum"
- c:identifier="gst_rtp_buffer_compare_seqnum"
- doc="Compare two sequence numbers, taking care of wraparounds. This function
-returns the difference between @seqnum1 and @seqnum2.
-are equal or a positive value if @seqnum1 is smaller than @segnum2."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="seqnum1" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- <parameter name="seqnum2" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_default_clock_rate"
- c:identifier="gst_rtp_buffer_default_clock_rate"
- doc="Get the default clock-rate for the static payload type @payload_type.
-the clock-rate is undefined."
- version="0.10.13">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="payload_type" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_ext_timestamp"
- c:identifier="gst_rtp_buffer_ext_timestamp"
- doc="Update the @exttimestamp field with @timestamp. For the first call of the
-method, @exttimestamp should point to a location with a value of -1.
-This function makes sure that the returned value is a constantly increasing
-value even in the case where there is a timestamp wraparound."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="exttimestamp"
- direction="out"
- transfer-ownership="full">
- <type name="uint64" c:type="guint64*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_csrc"
- c:identifier="gst_rtp_buffer_get_csrc"
- doc="Get the CSRC at index @idx in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_csrc_count"
- c:identifier="gst_rtp_buffer_get_csrc_count"
- doc="Get the CSRC count of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_extension"
- c:identifier="gst_rtp_buffer_get_extension"
- doc="Check if the extension bit is set on the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_extension_data"
- c:identifier="gst_rtp_buffer_get_extension_data"
- doc="Get the extension data. @bits will contain the extension 16 bits of custom
-data. @data will point to the data in the extension and @wordlen will contain
-the length of @data in 32 bits words.
-If @buffer did not contain an extension, this function will return %FALSE
-with @bits, @data and @wordlen unchanged."
- version="0.10.15">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="bits" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer*"/>
- </parameter>
- <parameter name="wordlen" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_header_len"
- c:identifier="gst_rtp_buffer_get_header_len"
- doc="Return the total length of the header in @buffer. This include the length of
-the fixed header, the CSRC list and the extension header.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_marker"
- c:identifier="gst_rtp_buffer_get_marker"
- doc="Check if the marker bit is set on the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_packet_len"
- c:identifier="gst_rtp_buffer_get_packet_len"
- doc="Return the total length of the packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_padding"
- c:identifier="gst_rtp_buffer_get_padding"
- doc="Check if the padding bit is set on the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_payload"
- c:identifier="gst_rtp_buffer_get_payload"
- doc="Get a pointer to the payload data in @buffer. This pointer is valid as long
-as a reference to @buffer is held.">
- <return-value transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_payload_buffer"
- c:identifier="gst_rtp_buffer_get_payload_buffer"
- doc="Create a buffer of the payload of the RTP packet in @buffer. This function
-will internally create a subbuffer of @buffer so that a memcpy can be
-avoided.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_payload_len"
- c:identifier="gst_rtp_buffer_get_payload_len"
- doc="Get the length of the payload of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_payload_subbuffer"
- c:identifier="gst_rtp_buffer_get_payload_subbuffer"
- doc="Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes
-are skipped in the payload and the subbuffer will be of size @len.
-If @len is -1 the total payload starting from @offset if subbuffered."
- version="0.10.10">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="offset" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_payload_type"
- c:identifier="gst_rtp_buffer_get_payload_type"
- doc="Get the payload type of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_seq"
- c:identifier="gst_rtp_buffer_get_seq"
- doc="Get the sequence number of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_ssrc"
- c:identifier="gst_rtp_buffer_get_ssrc"
- doc="Get the SSRC of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_timestamp"
- c:identifier="gst_rtp_buffer_get_timestamp"
- doc="Get the timestamp of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_get_version"
- c:identifier="gst_rtp_buffer_get_version"
- doc="Get the version number of the RTP packet in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_get_payload_len"
- c:identifier="gst_rtp_buffer_list_get_payload_len"
- doc="Get the length of the payload of the RTP packet in @list."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_get_payload_type"
- c:identifier="gst_rtp_buffer_list_get_payload_type"
- doc="Get the payload type of the first RTP packet in @list.
-All packets in @list should have the same payload type."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_get_seq"
- c:identifier="gst_rtp_buffer_list_get_seq"
- doc="Get the sequence number of the first RTP packet in @list.
-All packets within @list have the same sequence number."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_get_ssrc"
- c:identifier="gst_rtp_buffer_list_get_ssrc"
- doc="Get the SSRC of the first RTP packet in @list.
-All RTP packets within @list have the same SSRC."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_get_timestamp"
- c:identifier="gst_rtp_buffer_list_get_timestamp"
- doc="Get the timestamp of the first RTP packet in @list.
-All packets within @list have the same timestamp."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_set_payload_type"
- c:identifier="gst_rtp_buffer_list_set_payload_type"
- doc="Set the payload type of each RTP packet in @list to @payload_type."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- <parameter name="payload_type" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_set_seq"
- c:identifier="gst_rtp_buffer_list_set_seq"
- doc="Set the sequence number of each RTP packet in @list to @seq."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- <parameter name="seq" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_set_ssrc"
- c:identifier="gst_rtp_buffer_list_set_ssrc"
- doc="Set the SSRC on each RTP packet in @list to @ssrc."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_set_timestamp"
- c:identifier="gst_rtp_buffer_list_set_timestamp"
- doc="Set the timestamp of each RTP packet in @list to @timestamp."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_list_validate"
- c:identifier="gst_rtp_buffer_list_validate"
- doc="Check if all RTP packets in the @list are valid using validate_data().
-Use this function to validate an list before using the other functions in
-this module."
- version="0.10.24">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.BufferList" c:type="GstBufferList*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_new_allocate"
- c:identifier="gst_rtp_buffer_new_allocate"
- doc="Allocate a new #GstBuffer with enough data to hold an RTP packet with
-All other RTP header fields will be set to 0/FALSE.
-parameters.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="payload_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pad_len" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="csrc_count" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_new_allocate_len"
- c:identifier="gst_rtp_buffer_new_allocate_len"
- doc="Create a new #GstBuffer that can hold an RTP packet that is exactly
-All RTP header fields will be set to 0/FALSE.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="packet_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="pad_len" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="csrc_count" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_new_copy_data"
- c:identifier="gst_rtp_buffer_new_copy_data"
- doc="Create a new buffer and set the data to a copy of @len
-bytes of @data and the size to @len. The data will be freed when the buffer
-is freed.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_new_take_data"
- c:identifier="gst_rtp_buffer_new_take_data"
- doc="Create a new buffer and set the data and size of the buffer to @data and @len
-respectively. @data will be freed when the buffer is unreffed, so this
-function transfers ownership of @data to the new buffer.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_pad_to"
- c:identifier="gst_rtp_buffer_pad_to"
- doc="Set the amount of padding in the RTP packet in @buffer to">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_csrc"
- c:identifier="gst_rtp_buffer_set_csrc"
- doc="Modify the CSRC at index @idx in @buffer to @csrc.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- <parameter name="csrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_extension"
- c:identifier="gst_rtp_buffer_set_extension"
- doc="Set the extension bit on the RTP packet in @buffer to @extension.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="extension" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_extension_data"
- c:identifier="gst_rtp_buffer_set_extension_data"
- doc="the extension, excluding the extension header ( therefore zero is a valid length)
-Set the extension bit of the rtp buffer and fill in the @bits and @length of the
-extension header. It will refuse to set the extension data if the buffer is not
-large enough.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="bits" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_marker"
- c:identifier="gst_rtp_buffer_set_marker"
- doc="Set the marker bit on the RTP packet in @buffer to @marker.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="marker" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_packet_len"
- c:identifier="gst_rtp_buffer_set_packet_len"
- doc="Set the total @buffer size to @len. The data in the buffer will be made
-larger if needed. Any padding will be removed from the packet.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_padding"
- c:identifier="gst_rtp_buffer_set_padding"
- doc="Set the padding bit on the RTP packet in @buffer to @padding.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="padding" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_payload_type"
- c:identifier="gst_rtp_buffer_set_payload_type"
- doc="Set the payload type of the RTP packet in @buffer to @payload_type.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="payload_type" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_seq"
- c:identifier="gst_rtp_buffer_set_seq"
- doc="Set the sequence number of the RTP packet in @buffer to @seq.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="seq" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_ssrc"
- c:identifier="gst_rtp_buffer_set_ssrc"
- doc="Set the SSRC on the RTP packet in @buffer to @ssrc.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="ssrc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_timestamp"
- c:identifier="gst_rtp_buffer_set_timestamp"
- doc="Set the timestamp of the RTP packet in @buffer to @timestamp.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="timestamp" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_set_version"
- c:identifier="gst_rtp_buffer_set_version"
- doc="Set the version of the RTP packet in @buffer to @version.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="version" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_validate"
- c:identifier="gst_rtp_buffer_validate"
- doc="Check if the data pointed to by @buffer is a valid RTP packet using
-validate_data().
-Use this function to validate a packet before using the other functions in
-this module.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="buffer_validate_data"
- c:identifier="gst_rtp_buffer_validate_data"
- doc="Check if the @data and @size point to the data of a valid RTP packet.
-This function checks the length, version and padding of the packet data.
-Use this function to validate a packet before using the other functions in
-this module.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="payload_info_for_name"
- c:identifier="gst_rtp_payload_info_for_name"
- doc="Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is
-mostly used to get the default clock-rate and bandwidth for dynamic payload
-types specified with @media and @encoding name.
-The search for @encoding_name will be performed in a case insensitve way.">
- <return-value transfer-ownership="none">
- <type name="RTPPayloadInfo" c:type="GstRTPPayloadInfo*"/>
- </return-value>
- <parameters>
- <parameter name="media" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="encoding_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="payload_info_for_pt"
- c:identifier="gst_rtp_payload_info_for_pt"
- doc="Get the #GstRTPPayloadInfo for @payload_type. This function is
-mostly used to get the default clock-rate and bandwidth for static payload
-types specified with @payload_type.">
- <return-value transfer-ownership="none">
- <type name="RTPPayloadInfo" c:type="GstRTPPayloadInfo*"/>
- </return-value>
- <parameters>
- <parameter name="payload_type" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_add_packet"
- c:identifier="gst_rtcp_buffer_add_packet"
- doc="Add a new packet of @type to @buffer. @packet will point to the newly created
-packet.
-if the max mtu is exceeded for the buffer.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="RTCPType" c:type="GstRTCPType"/>
- </parameter>
- <parameter name="packet" transfer-ownership="none">
- <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_end"
- c:identifier="gst_rtcp_buffer_end"
- doc="Finish @buffer after being constructured. This function is usually called
-after gst_rtcp_buffer_new() and after adding the RTCP items to the new buffer.
-The function adjusts the size of @buffer with the total length of all the
-added packets.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_get_first_packet"
- c:identifier="gst_rtcp_buffer_get_first_packet"
- doc="Initialize a new #GstRTCPPacket pointer that points to the first packet in">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="packet" transfer-ownership="none">
- <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_get_packet_count"
- c:identifier="gst_rtcp_buffer_get_packet_count"
- doc="Get the number of RTCP packets in @buffer.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_new"
- c:identifier="gst_rtcp_buffer_new"
- doc="Create a new buffer for constructing RTCP packets. The packet will have a
-maximum size of @mtu.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="mtu" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_new_copy_data"
- c:identifier="gst_rtcp_buffer_new_copy_data"
- doc="Create a new buffer and set the data to a copy of @len
-bytes of @data and the size to @len. The data will be freed when the buffer
-is freed.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_new_take_data"
- c:identifier="gst_rtcp_buffer_new_take_data"
- doc="Create a new buffer and set the data and size of the buffer to @data and @len
-respectively. @data will be freed when the buffer is unreffed, so this
-function transfers ownership of @data to the new buffer.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_validate"
- c:identifier="gst_rtcp_buffer_validate"
- doc="Check if the data pointed to by @buffer is a valid RTCP packet using
-gst_rtcp_buffer_validate_data().">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_buffer_validate_data"
- c:identifier="gst_rtcp_buffer_validate_data"
- doc="Check if the @data and @size point to the data of a valid RTCP (compound)
-packet.
-Use this function to validate a packet before using the other functions in
-this module.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_ntp_to_unix"
- c:identifier="gst_rtcp_ntp_to_unix"
- doc="Converts an NTP time to UNIX nanoseconds. @ntptime can typically be
-the NTP time of an SR RTCP message and contains, in the upper 32 bits, the
-number of seconds since 1900 and, in the lower 32 bits, the fractional
-seconds. The resulting value will be the number of nanoseconds since 1970.">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="ntptime" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_packet_fb_get_type"
- c:identifier="gst_rtcp_packet_fb_get_type"
- doc="Get the feedback message type of the FB @packet."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTCPFBType" c:type="GstRTCPFBType"/>
- </return-value>
- <parameters>
- <parameter name="packet" transfer-ownership="none">
- <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_packet_get_type"
- c:identifier="gst_rtcp_packet_get_type"
- doc="Get the packet type of the packet pointed to by @packet.
-pointing to a valid packet.">
- <return-value transfer-ownership="full">
- <type name="RTCPType" c:type="GstRTCPType"/>
- </return-value>
- <parameters>
- <parameter name="packet" transfer-ownership="none">
- <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_sdes_name_to_type"
- c:identifier="gst_rtcp_sdes_name_to_type"
- doc="Convert @name into a @GstRTCPSDESType. @name is typically a key in a
-#GstStructure containing SDES items.
-is a private sdes item."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_sdes_type_to_name"
- c:identifier="gst_rtcp_sdes_type_to_name"
- doc="Converts @type to the string equivalent. The string is typically used as a
-key in a #GstStructure containing SDES items."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
- </parameter>
- </parameters>
- </function>
- <function name="rtcp_unix_to_ntp"
- c:identifier="gst_rtcp_unix_to_ntp"
- doc="Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should
-pass a value with nanoseconds since 1970. The NTP time will, in the upper
-32 bits, contain the number of seconds since 1900 and, in the lower 32
-bits, the fractional seconds. The resulting value can be used as an ntptime
-for constructing SR RTCP packets.">
- <return-value transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </return-value>
- <parameters>
- <parameter name="unixtime" transfer-ownership="none">
- <type name="uint64" c:type="guint64"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi gstreamer.base.ffi gstreamer.ffi ;
-IN: gstreamer.rtp.ffi
-
-<<
-"gstreamer.rtp" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstrtp-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/rtp/GstRtp-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.rtp.ffi ;
-IN: gstreamer.rtp
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstSdp" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-sdp-0.10"/>
- <c:include name="gst/audio/gstrtsp-enumtypes.h"/>
- <c:include name="gst/audio/gstrtspbase64.h"/>
- <c:include name="gst/audio/gstrtspconnection.h"/>
- <c:include name="gst/audio/gstrtspdefs.h"/>
- <c:include name="gst/audio/gstrtspextension.h"/>
- <c:include name="gst/audio/gstrtspmessage.h"/>
- <c:include name="gst/audio/gstrtsprange.h"/>
- <c:include name="gst/audio/gstrtsptransport.h"/>
- <c:include name="gst/audio/gstrtspurl.h"/>
- <namespace name="GstRtsp"
- version="0.10"
- shared-library="libgstrtsp-0.10.so.0"
- c:prefix="Gst">
- <constant name="DEFAULT_PORT" value="554">
- <type name="int"/>
- </constant>
- <enumeration name="RTSPAuthMethod"
- doc="Authentication methods, ordered by strength"
- glib:type-name="GstRTSPAuthMethod"
- glib:get-type="gst_rtsp_auth_method_get_type"
- c:type="GstRTSPAuthMethod">
- <member name="none"
- value="0"
- c:identifier="GST_RTSP_AUTH_NONE"
- glib:nick="none"/>
- <member name="basic"
- value="1"
- c:identifier="GST_RTSP_AUTH_BASIC"
- glib:nick="basic"/>
- <member name="digest"
- value="2"
- c:identifier="GST_RTSP_AUTH_DIGEST"
- glib:nick="digest"/>
- </enumeration>
- <record name="RTSPConnection"
- c:type="GstRTSPConnection"
- doc="Opaque RTSP connection object.">
- <method name="connect"
- c:identifier="gst_rtsp_connection_connect"
- doc="Attempt to connect to the url of @conn made with
-gst_rtsp_connection_create(). If @timeout is #NULL this function can block
-forever. If @timeout contains a valid timeout, this function will return
-#GST_RTSP_ETIMEOUT after the timeout expired.
-This function can be cancelled with gst_rtsp_connection_flush().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="close"
- c:identifier="gst_rtsp_connection_close"
- doc="Close the connected @conn. After this call, the connection is in the same
-state as when it was first created.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_rtsp_connection_free"
- doc="Close and free @conn.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- <method name="read"
- c:identifier="gst_rtsp_connection_read"
- doc="Attempt to read @size bytes into @data from the connected @conn, blocking up to
-the specified @timeout. @timeout can be #NULL, in which case this function
-might block forever.
-This function can be cancelled with gst_rtsp_connection_flush().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="write"
- c:identifier="gst_rtsp_connection_write"
- doc="Attempt to write @size bytes of @data to the connected @conn, blocking up to
-the specified @timeout. @timeout can be #NULL, in which case this function
-might block forever.
-This function can be cancelled with gst_rtsp_connection_flush().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send"
- c:identifier="gst_rtsp_connection_send"
- doc="Attempt to send @message to the connected @conn, blocking up to
-the specified @timeout. @timeout can be #NULL, in which case this function
-might block forever.
-This function can be cancelled with gst_rtsp_connection_flush().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="receive"
- c:identifier="gst_rtsp_connection_receive"
- doc="Attempt to read into @message from the connected @conn, blocking up to
-the specified @timeout. @timeout can be #NULL, in which case this function
-might block forever.
-This function can be cancelled with gst_rtsp_connection_flush().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="poll"
- c:identifier="gst_rtsp_connection_poll"
- doc="Wait up to the specified @timeout for the connection to become available for
-at least one of the operations specified in @events. When the function returns
-with #GST_RTSP_OK, @revents will contain a bitmask of available operations on
-This function can be cancelled with gst_rtsp_connection_flush()."
- version="0.10.15">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="events" transfer-ownership="none">
- <type name="RTSPEvent" c:type="GstRTSPEvent"/>
- </parameter>
- <parameter name="revents" transfer-ownership="none">
- <type name="RTSPEvent" c:type="GstRTSPEvent*"/>
- </parameter>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="next_timeout"
- c:identifier="gst_rtsp_connection_next_timeout"
- doc="Calculate the next timeout for @conn, storing the result in @timeout.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="timeout" transfer-ownership="none">
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- <method name="reset_timeout"
- c:identifier="gst_rtsp_connection_reset_timeout"
- doc="Reset the timeout of @conn.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- <method name="flush"
- c:identifier="gst_rtsp_connection_flush"
- doc="Start or stop the flushing action on @conn. When flushing, all current
-and future actions on @conn will return #GST_RTSP_EINTR until the connection
-is set to non-flushing mode again.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="flush" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_proxy"
- c:identifier="gst_rtsp_connection_set_proxy"
- doc="Set the proxy host and port."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="host" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_auth"
- c:identifier="gst_rtsp_connection_set_auth"
- doc="Configure @conn for authentication mode @method with @user and @pass as the
-user and password respectively.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="RTSPAuthMethod" c:type="GstRTSPAuthMethod"/>
- </parameter>
- <parameter name="user" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="pass" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_auth_param"
- c:identifier="gst_rtsp_connection_set_auth_param"
- doc="Setup @conn with authentication directives. This is not necesary for
-methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For
-#GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge
-in the WWW-Authenticate response header and can include realm, domain,
-nonce, opaque, stale, algorithm, qop as per RFC2617."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="param" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="clear_auth_params"
- c:identifier="gst_rtsp_connection_clear_auth_params"
- doc="Clear the list of authentication directives stored in @conn."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="set_qos_dscp"
- c:identifier="gst_rtsp_connection_set_qos_dscp"
- doc="Configure @conn to use the specified DSCP value."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="qos_dscp" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_url"
- c:identifier="gst_rtsp_connection_get_url"
- doc="Retrieve the URL of the other end of @conn.
-connection is freed."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
- </return-value>
- </method>
- <method name="get_ip"
- c:identifier="gst_rtsp_connection_get_ip"
- doc="Retrieve the IP address of the other end of @conn.
-connection is closed."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_ip"
- c:identifier="gst_rtsp_connection_set_ip"
- doc="Set the IP address of the server."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="ip" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_readfd"
- c:identifier="gst_rtsp_connection_get_readfd"
- doc="Get the file descriptor for reading.
-descriptor remains valid until the connection is closed."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <method name="get_writefd"
- c:identifier="gst_rtsp_connection_get_writefd"
- doc="Get the file descriptor for writing.
-descriptor remains valid until the connection is closed."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </return-value>
- </method>
- <method name="set_http_mode"
- c:identifier="gst_rtsp_connection_set_http_mode"
- doc="By setting the HTTP mode to %TRUE the message parsing will support HTTP
-messages in addition to the RTSP messages. It will also disable the
-automatic handling of setting up an HTTP tunnel."
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="enable" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_tunneled"
- c:identifier="gst_rtsp_connection_set_tunneled"
- doc="Set the HTTP tunneling state of the connection. This must be configured before
-the @conn is connected."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="tunneled" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_tunneled"
- c:identifier="gst_rtsp_connection_is_tunneled"
- doc="Get the tunneling state of the connection."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- </method>
- <method name="get_tunnelid"
- c:identifier="gst_rtsp_connection_get_tunnelid"
- doc="Get the tunnel session id the connection."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="do_tunnel"
- c:identifier="gst_rtsp_connection_do_tunnel"
- doc="If @conn received the first tunnel connection and @conn2 received
-the second tunnel connection, link the two connections together so that
-After this call, @conn2 cannot be used anymore and must be freed with
-gst_rtsp_connection_free().
-If @conn2 is %NULL then only the base64 decoding context will be setup for"
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="conn2" transfer-ownership="none">
- <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <bitfield name="RTSPEvent"
- doc="The possible events for the connection."
- glib:type-name="GstRTSPEvent"
- glib:get-type="gst_rtsp_event_get_type"
- c:type="GstRTSPEvent">
- <member name="read"
- value="1"
- c:identifier="GST_RTSP_EV_READ"
- glib:nick="read"/>
- <member name="write"
- value="2"
- c:identifier="GST_RTSP_EV_WRITE"
- glib:nick="write"/>
- </bitfield>
- <interface name="RTSPExtension"
- c:type="GstRTSPExtension"
- glib:type-name="GstRTSPExtension"
- glib:get-type="gst_rtsp_extension_get_type"
- glib:type-struct="RTSPExtensionInterface">
- <virtual-method name="detect_server" invoker="detect_server">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="before_send" invoker="before_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="after_send" invoker="after_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="parse_sdp" invoker="parse_sdp">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="sdp" transfer-ownership="none">
- <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
- </parameter>
- <parameter name="s" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="setup_media" invoker="setup_media">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="media" transfer-ownership="none">
- <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="configure_stream" invoker="configure_stream">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_transports" invoker="get_transports">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="protocols" transfer-ownership="none">
- <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
- </parameter>
- <parameter name="transport" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="stream_select" invoker="stream_select">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="url" transfer-ownership="none">
- <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="receive_request" invoker="receive_request">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="detect_server"
- c:identifier="gst_rtsp_extension_detect_server">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="before_send" c:identifier="gst_rtsp_extension_before_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="after_send" c:identifier="gst_rtsp_extension_after_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_sdp" c:identifier="gst_rtsp_extension_parse_sdp">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="sdp" transfer-ownership="none">
- <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
- </parameter>
- <parameter name="s" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </method>
- <method name="setup_media" c:identifier="gst_rtsp_extension_setup_media">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="media" transfer-ownership="none">
- <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
- </parameter>
- </parameters>
- </method>
- <method name="configure_stream"
- c:identifier="gst_rtsp_extension_configure_stream">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_transports"
- c:identifier="gst_rtsp_extension_get_transports">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="protocols" transfer-ownership="none">
- <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
- </parameter>
- <parameter name="transport" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="stream_select"
- c:identifier="gst_rtsp_extension_stream_select">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="url" transfer-ownership="none">
- <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
- </parameter>
- </parameters>
- </method>
- <method name="receive_request"
- c:identifier="gst_rtsp_extension_receive_request">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send" c:identifier="gst_rtsp_extension_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- <glib:signal name="send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="p0" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- </interface>
- <record name="RTSPExtensionInterface"
- c:type="GstRTSPExtensionInterface"
- glib:is-gtype-struct-for="RTSPExtension">
- <field name="parent">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="detect_server">
- <callback name="detect_server" c:type="detect_server">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="before_send">
- <callback name="before_send" c:type="before_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="after_send">
- <callback name="after_send" c:type="after_send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="parse_sdp">
- <callback name="parse_sdp" c:type="parse_sdp">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="sdp" transfer-ownership="none">
- <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
- </parameter>
- <parameter name="s" transfer-ownership="none">
- <type name="Gst.Structure" c:type="GstStructure*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="setup_media">
- <callback name="setup_media" c:type="setup_media">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="media" transfer-ownership="none">
- <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="configure_stream">
- <callback name="configure_stream" c:type="configure_stream">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_transports">
- <callback name="get_transports" c:type="get_transports">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="protocols" transfer-ownership="none">
- <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
- </parameter>
- <parameter name="transport" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="stream_select">
- <callback name="stream_select" c:type="stream_select">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="url" transfer-ownership="none">
- <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="send">
- <callback name="send" c:type="send">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="resp" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="receive_request">
- <callback name="receive_request" c:type="receive_request">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="ext" transfer-ownership="none">
- <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
- </parameter>
- <parameter name="req" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <enumeration name="RTSPFamily"
- doc="The possible network families."
- glib:type-name="GstRTSPFamily"
- glib:get-type="gst_rtsp_family_get_type"
- c:type="GstRTSPFamily">
- <member name="none"
- value="0"
- c:identifier="GST_RTSP_FAM_NONE"
- glib:nick="none"/>
- <member name="inet"
- value="1"
- c:identifier="GST_RTSP_FAM_INET"
- glib:nick="inet"/>
- <member name="inet6"
- value="2"
- c:identifier="GST_RTSP_FAM_INET6"
- glib:nick="inet6"/>
- </enumeration>
- <enumeration name="RTSPHeaderField"
- glib:type-name="GstRTSPHeaderField"
- glib:get-type="gst_rtsp_header_field_get_type"
- c:type="GstRTSPHeaderField">
- <member name="invalid"
- value="0"
- c:identifier="GST_RTSP_HDR_INVALID"
- glib:nick="invalid"/>
- <member name="accept"
- value="1"
- c:identifier="GST_RTSP_HDR_ACCEPT"
- glib:nick="accept"/>
- <member name="accept_encoding"
- value="2"
- c:identifier="GST_RTSP_HDR_ACCEPT_ENCODING"
- glib:nick="accept-encoding"/>
- <member name="accept_language"
- value="3"
- c:identifier="GST_RTSP_HDR_ACCEPT_LANGUAGE"
- glib:nick="accept-language"/>
- <member name="allow"
- value="4"
- c:identifier="GST_RTSP_HDR_ALLOW"
- glib:nick="allow"/>
- <member name="authorization"
- value="5"
- c:identifier="GST_RTSP_HDR_AUTHORIZATION"
- glib:nick="authorization"/>
- <member name="bandwidth"
- value="6"
- c:identifier="GST_RTSP_HDR_BANDWIDTH"
- glib:nick="bandwidth"/>
- <member name="blocksize"
- value="7"
- c:identifier="GST_RTSP_HDR_BLOCKSIZE"
- glib:nick="blocksize"/>
- <member name="cache_control"
- value="8"
- c:identifier="GST_RTSP_HDR_CACHE_CONTROL"
- glib:nick="cache-control"/>
- <member name="conference"
- value="9"
- c:identifier="GST_RTSP_HDR_CONFERENCE"
- glib:nick="conference"/>
- <member name="connection"
- value="10"
- c:identifier="GST_RTSP_HDR_CONNECTION"
- glib:nick="connection"/>
- <member name="content_base"
- value="11"
- c:identifier="GST_RTSP_HDR_CONTENT_BASE"
- glib:nick="content-base"/>
- <member name="content_encoding"
- value="12"
- c:identifier="GST_RTSP_HDR_CONTENT_ENCODING"
- glib:nick="content-encoding"/>
- <member name="content_language"
- value="13"
- c:identifier="GST_RTSP_HDR_CONTENT_LANGUAGE"
- glib:nick="content-language"/>
- <member name="content_length"
- value="14"
- c:identifier="GST_RTSP_HDR_CONTENT_LENGTH"
- glib:nick="content-length"/>
- <member name="content_location"
- value="15"
- c:identifier="GST_RTSP_HDR_CONTENT_LOCATION"
- glib:nick="content-location"/>
- <member name="content_type"
- value="16"
- c:identifier="GST_RTSP_HDR_CONTENT_TYPE"
- glib:nick="content-type"/>
- <member name="cseq"
- value="17"
- c:identifier="GST_RTSP_HDR_CSEQ"
- glib:nick="cseq"/>
- <member name="date"
- value="18"
- c:identifier="GST_RTSP_HDR_DATE"
- glib:nick="date"/>
- <member name="expires"
- value="19"
- c:identifier="GST_RTSP_HDR_EXPIRES"
- glib:nick="expires"/>
- <member name="from"
- value="20"
- c:identifier="GST_RTSP_HDR_FROM"
- glib:nick="from"/>
- <member name="if_modified_since"
- value="21"
- c:identifier="GST_RTSP_HDR_IF_MODIFIED_SINCE"
- glib:nick="if-modified-since"/>
- <member name="last_modified"
- value="22"
- c:identifier="GST_RTSP_HDR_LAST_MODIFIED"
- glib:nick="last-modified"/>
- <member name="proxy_authenticate"
- value="23"
- c:identifier="GST_RTSP_HDR_PROXY_AUTHENTICATE"
- glib:nick="proxy-authenticate"/>
- <member name="proxy_require"
- value="24"
- c:identifier="GST_RTSP_HDR_PROXY_REQUIRE"
- glib:nick="proxy-require"/>
- <member name="public"
- value="25"
- c:identifier="GST_RTSP_HDR_PUBLIC"
- glib:nick="public"/>
- <member name="range"
- value="26"
- c:identifier="GST_RTSP_HDR_RANGE"
- glib:nick="range"/>
- <member name="referer"
- value="27"
- c:identifier="GST_RTSP_HDR_REFERER"
- glib:nick="referer"/>
- <member name="require"
- value="28"
- c:identifier="GST_RTSP_HDR_REQUIRE"
- glib:nick="require"/>
- <member name="retry_after"
- value="29"
- c:identifier="GST_RTSP_HDR_RETRY_AFTER"
- glib:nick="retry-after"/>
- <member name="rtp_info"
- value="30"
- c:identifier="GST_RTSP_HDR_RTP_INFO"
- glib:nick="rtp-info"/>
- <member name="scale"
- value="31"
- c:identifier="GST_RTSP_HDR_SCALE"
- glib:nick="scale"/>
- <member name="session"
- value="32"
- c:identifier="GST_RTSP_HDR_SESSION"
- glib:nick="session"/>
- <member name="server"
- value="33"
- c:identifier="GST_RTSP_HDR_SERVER"
- glib:nick="server"/>
- <member name="speed"
- value="34"
- c:identifier="GST_RTSP_HDR_SPEED"
- glib:nick="speed"/>
- <member name="transport"
- value="35"
- c:identifier="GST_RTSP_HDR_TRANSPORT"
- glib:nick="transport"/>
- <member name="unsupported"
- value="36"
- c:identifier="GST_RTSP_HDR_UNSUPPORTED"
- glib:nick="unsupported"/>
- <member name="user_agent"
- value="37"
- c:identifier="GST_RTSP_HDR_USER_AGENT"
- glib:nick="user-agent"/>
- <member name="via"
- value="38"
- c:identifier="GST_RTSP_HDR_VIA"
- glib:nick="via"/>
- <member name="www_authenticate"
- value="39"
- c:identifier="GST_RTSP_HDR_WWW_AUTHENTICATE"
- glib:nick="www-authenticate"/>
- <member name="client_challenge"
- value="40"
- c:identifier="GST_RTSP_HDR_CLIENT_CHALLENGE"
- glib:nick="client-challenge"/>
- <member name="real_challenge1"
- value="41"
- c:identifier="GST_RTSP_HDR_REAL_CHALLENGE1"
- glib:nick="real-challenge1"/>
- <member name="real_challenge2"
- value="42"
- c:identifier="GST_RTSP_HDR_REAL_CHALLENGE2"
- glib:nick="real-challenge2"/>
- <member name="real_challenge3"
- value="43"
- c:identifier="GST_RTSP_HDR_REAL_CHALLENGE3"
- glib:nick="real-challenge3"/>
- <member name="subscribe"
- value="44"
- c:identifier="GST_RTSP_HDR_SUBSCRIBE"
- glib:nick="subscribe"/>
- <member name="alert"
- value="45"
- c:identifier="GST_RTSP_HDR_ALERT"
- glib:nick="alert"/>
- <member name="client_id"
- value="46"
- c:identifier="GST_RTSP_HDR_CLIENT_ID"
- glib:nick="client-id"/>
- <member name="company_id"
- value="47"
- c:identifier="GST_RTSP_HDR_COMPANY_ID"
- glib:nick="company-id"/>
- <member name="guid"
- value="48"
- c:identifier="GST_RTSP_HDR_GUID"
- glib:nick="guid"/>
- <member name="region_data"
- value="49"
- c:identifier="GST_RTSP_HDR_REGION_DATA"
- glib:nick="region-data"/>
- <member name="max_asm_width"
- value="50"
- c:identifier="GST_RTSP_HDR_MAX_ASM_WIDTH"
- glib:nick="max-asm-width"/>
- <member name="language"
- value="51"
- c:identifier="GST_RTSP_HDR_LANGUAGE"
- glib:nick="language"/>
- <member name="player_start_time"
- value="52"
- c:identifier="GST_RTSP_HDR_PLAYER_START_TIME"
- glib:nick="player-start-time"/>
- <member name="location"
- value="53"
- c:identifier="GST_RTSP_HDR_LOCATION"
- glib:nick="location"/>
- <member name="etag"
- value="54"
- c:identifier="GST_RTSP_HDR_ETAG"
- glib:nick="etag"/>
- <member name="if_match"
- value="55"
- c:identifier="GST_RTSP_HDR_IF_MATCH"
- glib:nick="if-match"/>
- <member name="accept_charset"
- value="56"
- c:identifier="GST_RTSP_HDR_ACCEPT_CHARSET"
- glib:nick="accept-charset"/>
- <member name="supported"
- value="57"
- c:identifier="GST_RTSP_HDR_SUPPORTED"
- glib:nick="supported"/>
- <member name="vary"
- value="58"
- c:identifier="GST_RTSP_HDR_VARY"
- glib:nick="vary"/>
- <member name="x_accelerate_streaming"
- value="59"
- c:identifier="GST_RTSP_HDR_X_ACCELERATE_STREAMING"
- glib:nick="x-accelerate-streaming"/>
- <member name="x_accept_authent"
- value="60"
- c:identifier="GST_RTSP_HDR_X_ACCEPT_AUTHENT"
- glib:nick="x-accept-authent"/>
- <member name="x_accept_proxy_authent"
- value="61"
- c:identifier="GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT"
- glib:nick="x-accept-proxy-authent"/>
- <member name="x_broadcast_id"
- value="62"
- c:identifier="GST_RTSP_HDR_X_BROADCAST_ID"
- glib:nick="x-broadcast-id"/>
- <member name="x_burst_streaming"
- value="63"
- c:identifier="GST_RTSP_HDR_X_BURST_STREAMING"
- glib:nick="x-burst-streaming"/>
- <member name="x_notice"
- value="64"
- c:identifier="GST_RTSP_HDR_X_NOTICE"
- glib:nick="x-notice"/>
- <member name="x_player_lag_time"
- value="65"
- c:identifier="GST_RTSP_HDR_X_PLAYER_LAG_TIME"
- glib:nick="x-player-lag-time"/>
- <member name="x_playlist"
- value="66"
- c:identifier="GST_RTSP_HDR_X_PLAYLIST"
- glib:nick="x-playlist"/>
- <member name="x_playlist_change_notice"
- value="67"
- c:identifier="GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE"
- glib:nick="x-playlist-change-notice"/>
- <member name="x_playlist_gen_id"
- value="68"
- c:identifier="GST_RTSP_HDR_X_PLAYLIST_GEN_ID"
- glib:nick="x-playlist-gen-id"/>
- <member name="x_playlist_seek_id"
- value="69"
- c:identifier="GST_RTSP_HDR_X_PLAYLIST_SEEK_ID"
- glib:nick="x-playlist-seek-id"/>
- <member name="x_proxy_client_agent"
- value="70"
- c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_AGENT"
- glib:nick="x-proxy-client-agent"/>
- <member name="x_proxy_client_verb"
- value="71"
- c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_VERB"
- glib:nick="x-proxy-client-verb"/>
- <member name="x_receding_playlistchange"
- value="72"
- c:identifier="GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE"
- glib:nick="x-receding-playlistchange"/>
- <member name="x_rtp_info"
- value="73"
- c:identifier="GST_RTSP_HDR_X_RTP_INFO"
- glib:nick="x-rtp-info"/>
- <member name="x_startupprofile"
- value="74"
- c:identifier="GST_RTSP_HDR_X_STARTUPPROFILE"
- glib:nick="x-startupprofile"/>
- <member name="timestamp"
- value="75"
- c:identifier="GST_RTSP_HDR_TIMESTAMP"
- glib:nick="timestamp"/>
- <member name="authentication_info"
- value="76"
- c:identifier="GST_RTSP_HDR_AUTHENTICATION_INFO"
- glib:nick="authentication-info"/>
- <member name="host"
- value="77"
- c:identifier="GST_RTSP_HDR_HOST"
- glib:nick="host"/>
- <member name="pragma"
- value="78"
- c:identifier="GST_RTSP_HDR_PRAGMA"
- glib:nick="pragma"/>
- <member name="x_server_ip_address"
- value="79"
- c:identifier="GST_RTSP_HDR_X_SERVER_IP_ADDRESS"
- glib:nick="x-server-ip-address"/>
- <member name="x_sessioncookie"
- value="80"
- c:identifier="GST_RTSP_HDR_X_SESSIONCOOKIE"
- glib:nick="x-sessioncookie"/>
- <member name="last"
- value="81"
- c:identifier="GST_RTSP_HDR_LAST"
- glib:nick="last"/>
- </enumeration>
- <bitfield name="RTSPLowerTrans"
- doc="The different transport methods."
- glib:type-name="GstRTSPLowerTrans"
- glib:get-type="gst_rtsp_lower_trans_get_type"
- c:type="GstRTSPLowerTrans">
- <member name="udp_unicast"
- value="1"
- c:identifier="UDP Unicast Mode"
- glib:nick="udp-unicast"/>
- <member name="udp_multicast"
- value="2"
- c:identifier="UDP Multicast Mode"
- glib:nick="udp-multicast"/>
- <member name="tcp"
- value="4"
- c:identifier="TCP interleaved mode"
- glib:nick="tcp"/>
- <member name="http"
- value="16"
- c:identifier="HTTP tunneled mode"
- glib:nick="http"/>
- </bitfield>
- <record name="RTSPMessage"
- c:type="GstRTSPMessage"
- doc="An RTSP message containing request, response or data messages. Depending on
-the @type, the appropriate structure may be accessed.">
- <field name="type" writable="1">
- <type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
- </field>
- <union name="type_data" c:type="type_data">
- <record name="request" c:type="request">
- <field name="method" writable="1">
- <type name="RTSPMethod" c:type="GstRTSPMethod"/>
- </field>
- <field name="uri" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="version" writable="1">
- <type name="RTSPVersion" c:type="GstRTSPVersion"/>
- </field>
- </record>
- <record name="response" c:type="response">
- <field name="code" writable="1">
- <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
- </field>
- <field name="reason" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="version" writable="1">
- <type name="RTSPVersion" c:type="GstRTSPVersion"/>
- </field>
- </record>
- <record name="data" c:type="data">
- <field name="channel" writable="1">
- <type name="uint8" c:type="guint8"/>
- </field>
- </record>
- </union>
- <field name="hdr_fields" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="body" writable="1">
- <type name="any" c:type="guint8*"/>
- </field>
- <field name="body_size" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <constructor name="new"
- c:identifier="gst_rtsp_message_new"
- doc="Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free().">
- <return-value transfer-ownership="full">
- <type name="RTSPMessage" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_request"
- c:identifier="gst_rtsp_message_new_request"
- doc="Create a new #GstRTSPMessage with @method and @uri and store the result
-request message in @msg. Free with gst_rtsp_message_free().">
- <return-value transfer-ownership="full">
- <type name="RTSPMessage" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
- </parameter>
- <parameter name="method" transfer-ownership="none">
- <type name="RTSPMethod" c:type="GstRTSPMethod"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_response"
- c:identifier="gst_rtsp_message_new_response"
- doc="Create a new response #GstRTSPMessage with @code and @reason and store the
-result message in @msg. Free with gst_rtsp_message_free().
-When @reason is #NULL, the default reason for @code will be used.
-When @request is not #NULL, the relevant headers will be copied to the new
-response message.">
- <return-value transfer-ownership="full">
- <type name="RTSPMessage" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
- </parameter>
- <parameter name="code" transfer-ownership="none">
- <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
- </parameter>
- <parameter name="reason" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="request" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_data"
- c:identifier="gst_rtsp_message_new_data"
- doc="Create a new data #GstRTSPMessage with @channel and store the
-result message in @msg. Free with gst_rtsp_message_free().">
- <return-value transfer-ownership="full">
- <type name="RTSPMessage" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
- </parameter>
- <parameter name="channel" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="init"
- c:identifier="gst_rtsp_message_init"
- doc="Initialize @msg. This function is mostly used when @msg is allocated on the
-stack. The reverse operation of this is gst_rtsp_message_unset().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- <method name="unset"
- c:identifier="gst_rtsp_message_unset"
- doc="Unset the contents of @msg so that it becomes an uninitialized
-#GstRTSPMessage again. This function is mostly used in combination with
-gst_rtsp_message_init_request(), gst_rtsp_message_init_response() and
-gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_rtsp_message_free"
- doc="Free the memory used by @msg.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- <method name="init_request"
- c:identifier="gst_rtsp_message_init_request"
- doc="Initialize @msg as a request message with @method and @uri. To clear @msg
-again, use gst_rtsp_message_unset().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="RTSPMethod" c:type="GstRTSPMethod"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_request"
- c:identifier="gst_rtsp_message_parse_request"
- doc="Parse the request message @msg and store the values @method, @uri and
-value.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="RTSPMethod" c:type="GstRTSPMethod*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="version" transfer-ownership="none">
- <type name="RTSPVersion" c:type="GstRTSPVersion*"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_response"
- c:identifier="gst_rtsp_message_init_response"
- doc="Initialize @msg with @code and @reason.
-When @reason is #NULL, the default reason for @code will be used.
-When @request is not #NULL, the relevant headers will be copied to the new
-response message.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="code" transfer-ownership="none">
- <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
- </parameter>
- <parameter name="reason" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="request" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_response"
- c:identifier="gst_rtsp_message_parse_response"
- doc="Parse the response message @msg and store the values @code, @reason and
-value.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="code" transfer-ownership="none">
- <type name="RTSPStatusCode" c:type="GstRTSPStatusCode*"/>
- </parameter>
- <parameter name="reason" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="version" transfer-ownership="none">
- <type name="RTSPVersion" c:type="GstRTSPVersion*"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_data"
- c:identifier="gst_rtsp_message_init_data"
- doc="Initialize a new data #GstRTSPMessage for @channel.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <type name="uint8" c:type="guint8"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_data"
- c:identifier="gst_rtsp_message_parse_data"
- doc="Parse the data message @msg and store the channel in @channel.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="channel" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="add_header"
- c:identifier="gst_rtsp_message_add_header"
- doc="Add a header with key @field and @value to @msg. This function takes a copy
-of @value.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_header"
- c:identifier="gst_rtsp_message_take_header"
- doc="Add a header with key @field and @value to @msg. This function takes
-ownership of @value."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </parameter>
- <parameter name="value" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_header"
- c:identifier="gst_rtsp_message_remove_header"
- doc="Remove the @indx header with key @field from @msg. If @indx equals -1, all
-headers will be removed.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </parameter>
- <parameter name="indx" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_header"
- c:identifier="gst_rtsp_message_get_header"
- doc="Get the @indx header value with key @field from @msg. The result in @value
-stays valid as long as it remains present in @msg.
-was not found.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="indx" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="append_headers"
- c:identifier="gst_rtsp_message_append_headers"
- doc="Append the currently configured headers in @msg to the #GString @str suitable
-for transmission.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_body"
- c:identifier="gst_rtsp_message_set_body"
- doc="Set the body of @msg to a copy of @data.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="take_body"
- c:identifier="gst_rtsp_message_take_body"
- doc="Set the body of @msg to @data and @size. This method takes ownership of">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_body"
- c:identifier="gst_rtsp_message_get_body"
- doc="Get the body of @msg. @data remains valid for as long as @msg is valid and
-unchanged.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- <parameter name="size" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="steal_body"
- c:identifier="gst_rtsp_message_steal_body"
- doc="Take the body of @msg and store it in @data and @size. After this method,
-the body and size of @msg will be set to #NULL and 0 respectively.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" direction="out" transfer-ownership="full">
- <type name="uint8" c:type="guint8**"/>
- </parameter>
- <parameter name="size" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="dump"
- c:identifier="gst_rtsp_message_dump"
- doc="Dump the contents of @msg to stdout.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- </method>
- </record>
- <bitfield name="RTSPMethod"
- doc="The different supported RTSP methods."
- glib:type-name="GstRTSPMethod"
- glib:get-type="gst_rtsp_method_get_type"
- c:type="GstRTSPMethod">
- <member name="invalid"
- value="0"
- c:identifier="GST_RTSP_INVALID"
- glib:nick="invalid"/>
- <member name="describe"
- value="1"
- c:identifier="GST_RTSP_DESCRIBE"
- glib:nick="describe"/>
- <member name="announce"
- value="2"
- c:identifier="GST_RTSP_ANNOUNCE"
- glib:nick="announce"/>
- <member name="get_parameter"
- value="4"
- c:identifier="GST_RTSP_GET_PARAMETER"
- glib:nick="get-parameter"/>
- <member name="options"
- value="8"
- c:identifier="GST_RTSP_OPTIONS"
- glib:nick="options"/>
- <member name="pause"
- value="16"
- c:identifier="GST_RTSP_PAUSE"
- glib:nick="pause"/>
- <member name="play"
- value="32"
- c:identifier="GST_RTSP_PLAY"
- glib:nick="play"/>
- <member name="record"
- value="64"
- c:identifier="GST_RTSP_RECORD"
- glib:nick="record"/>
- <member name="redirect"
- value="128"
- c:identifier="GST_RTSP_REDIRECT"
- glib:nick="redirect"/>
- <member name="setup"
- value="256"
- c:identifier="GST_RTSP_SETUP"
- glib:nick="setup"/>
- <member name="set_parameter"
- value="512"
- c:identifier="GST_RTSP_SET_PARAMETER"
- glib:nick="set-parameter"/>
- <member name="teardown"
- value="1024"
- c:identifier="GST_RTSP_TEARDOWN"
- glib:nick="teardown"/>
- <member name="get"
- value="2048"
- c:identifier="GST_RTSP_GET"
- glib:nick="get"/>
- <member name="post"
- value="4096"
- c:identifier="GST_RTSP_POST"
- glib:nick="post"/>
- </bitfield>
- <enumeration name="RTSPMsgType"
- doc="The type of a message."
- c:type="GstRTSPMsgType">
- <member name="invalid"
- value="0"
- c:identifier="GST_RTSP_MESSAGE_INVALID"/>
- <member name="request"
- value="1"
- c:identifier="GST_RTSP_MESSAGE_REQUEST"/>
- <member name="response"
- value="2"
- c:identifier="GST_RTSP_MESSAGE_RESPONSE"/>
- <member name="http_request"
- value="3"
- c:identifier="GST_RTSP_MESSAGE_HTTP_REQUEST"/>
- <member name="http_response"
- value="4"
- c:identifier="GST_RTSP_MESSAGE_HTTP_RESPONSE"/>
- <member name="data" value="5" c:identifier="GST_RTSP_MESSAGE_DATA"/>
- </enumeration>
- <bitfield name="RTSPProfile"
- doc="The transfer profile to use."
- c:type="GstRTSPProfile">
- <member name="unknown"
- value="0"
- c:identifier="GST_RTSP_PROFILE_UNKNOWN"/>
- <member name="avp" value="1" c:identifier="GST_RTSP_PROFILE_AVP"/>
- <member name="savp" value="2" c:identifier="GST_RTSP_PROFILE_SAVP"/>
- </bitfield>
- <record name="RTSPRange"
- c:type="GstRTSPRange"
- doc="A type to specify a range.">
- <field name="min" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="max" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- </record>
- <enumeration name="RTSPRangeUnit"
- doc="Different possible time range units."
- c:type="GstRTSPRangeUnit">
- <member name="smpte" value="0" c:identifier="GST_RTSP_RANGE_SMPTE"/>
- <member name="smpte_30_drop"
- value="1"
- c:identifier="GST_RTSP_RANGE_SMPTE_30_DROP"/>
- <member name="smpte_25"
- value="2"
- c:identifier="GST_RTSP_RANGE_SMPTE_25"/>
- <member name="npt" value="3" c:identifier="GST_RTSP_RANGE_NPT"/>
- <member name="clock" value="4" c:identifier="GST_RTSP_RANGE_CLOCK"/>
- </enumeration>
- <enumeration name="RTSPResult"
- doc="Result codes from the RTSP functions."
- glib:type-name="GstRTSPResult"
- glib:get-type="gst_rtsp_result_get_type"
- c:type="GstRTSPResult">
- <member name="ok" value="0" c:identifier="GST_RTSP_OK" glib:nick="ok"/>
- <member name="error"
- value="-1"
- c:identifier="GST_RTSP_ERROR"
- glib:nick="error"/>
- <member name="einval"
- value="-2"
- c:identifier="GST_RTSP_EINVAL"
- glib:nick="einval"/>
- <member name="eintr"
- value="-3"
- c:identifier="GST_RTSP_EINTR"
- glib:nick="eintr"/>
- <member name="enomem"
- value="-4"
- c:identifier="GST_RTSP_ENOMEM"
- glib:nick="enomem"/>
- <member name="eresolv"
- value="-5"
- c:identifier="GST_RTSP_ERESOLV"
- glib:nick="eresolv"/>
- <member name="enotimpl"
- value="-6"
- c:identifier="GST_RTSP_ENOTIMPL"
- glib:nick="enotimpl"/>
- <member name="esys"
- value="-7"
- c:identifier="GST_RTSP_ESYS"
- glib:nick="esys"/>
- <member name="eparse"
- value="-8"
- c:identifier="GST_RTSP_EPARSE"
- glib:nick="eparse"/>
- <member name="ewsastart"
- value="-9"
- c:identifier="GST_RTSP_EWSASTART"
- glib:nick="ewsastart"/>
- <member name="ewsaversion"
- value="-10"
- c:identifier="GST_RTSP_EWSAVERSION"
- glib:nick="ewsaversion"/>
- <member name="eeof"
- value="-11"
- c:identifier="GST_RTSP_EEOF"
- glib:nick="eeof"/>
- <member name="enet"
- value="-12"
- c:identifier="GST_RTSP_ENET"
- glib:nick="enet"/>
- <member name="enotip"
- value="-13"
- c:identifier="GST_RTSP_ENOTIP"
- glib:nick="enotip"/>
- <member name="etimeout"
- value="-14"
- c:identifier="GST_RTSP_ETIMEOUT"
- glib:nick="etimeout"/>
- <member name="etget"
- value="-15"
- c:identifier="GST_RTSP_ETGET"
- glib:nick="etget"/>
- <member name="etpost"
- value="-16"
- c:identifier="GST_RTSP_ETPOST"
- glib:nick="etpost"/>
- <member name="elast"
- value="-17"
- c:identifier="GST_RTSP_ELAST"
- glib:nick="elast"/>
- </enumeration>
- <enumeration name="RTSPState"
- doc="The different RTSP states."
- glib:type-name="GstRTSPState"
- glib:get-type="gst_rtsp_state_get_type"
- c:type="GstRTSPState">
- <member name="invalid"
- value="0"
- c:identifier="GST_RTSP_STATE_INVALID"
- glib:nick="invalid"/>
- <member name="init"
- value="1"
- c:identifier="GST_RTSP_STATE_INIT"
- glib:nick="init"/>
- <member name="ready"
- value="2"
- c:identifier="GST_RTSP_STATE_READY"
- glib:nick="ready"/>
- <member name="seeking"
- value="3"
- c:identifier="GST_RTSP_STATE_SEEKING"
- glib:nick="seeking"/>
- <member name="playing"
- value="4"
- c:identifier="GST_RTSP_STATE_PLAYING"
- glib:nick="playing"/>
- <member name="recording"
- value="5"
- c:identifier="GST_RTSP_STATE_RECORDING"
- glib:nick="recording"/>
- </enumeration>
- <enumeration name="RTSPStatusCode"
- glib:type-name="GstRTSPStatusCode"
- glib:get-type="gst_rtsp_status_code_get_type"
- c:type="GstRTSPStatusCode">
- <member name="invalid"
- value="0"
- c:identifier="GST_RTSP_STS_INVALID"
- glib:nick="invalid"/>
- <member name="continue"
- value="100"
- c:identifier="GST_RTSP_STS_CONTINUE"
- glib:nick="continue"/>
- <member name="ok"
- value="200"
- c:identifier="GST_RTSP_STS_OK"
- glib:nick="ok"/>
- <member name="created"
- value="201"
- c:identifier="GST_RTSP_STS_CREATED"
- glib:nick="created"/>
- <member name="low_on_storage"
- value="250"
- c:identifier="GST_RTSP_STS_LOW_ON_STORAGE"
- glib:nick="low-on-storage"/>
- <member name="multiple_choices"
- value="300"
- c:identifier="GST_RTSP_STS_MULTIPLE_CHOICES"
- glib:nick="multiple-choices"/>
- <member name="moved_permanently"
- value="301"
- c:identifier="GST_RTSP_STS_MOVED_PERMANENTLY"
- glib:nick="moved-permanently"/>
- <member name="move_temporarily"
- value="302"
- c:identifier="GST_RTSP_STS_MOVE_TEMPORARILY"
- glib:nick="move-temporarily"/>
- <member name="see_other"
- value="303"
- c:identifier="GST_RTSP_STS_SEE_OTHER"
- glib:nick="see-other"/>
- <member name="not_modified"
- value="304"
- c:identifier="GST_RTSP_STS_NOT_MODIFIED"
- glib:nick="not-modified"/>
- <member name="use_proxy"
- value="305"
- c:identifier="GST_RTSP_STS_USE_PROXY"
- glib:nick="use-proxy"/>
- <member name="bad_request"
- value="400"
- c:identifier="GST_RTSP_STS_BAD_REQUEST"
- glib:nick="bad-request"/>
- <member name="unauthorized"
- value="401"
- c:identifier="GST_RTSP_STS_UNAUTHORIZED"
- glib:nick="unauthorized"/>
- <member name="payment_required"
- value="402"
- c:identifier="GST_RTSP_STS_PAYMENT_REQUIRED"
- glib:nick="payment-required"/>
- <member name="forbidden"
- value="403"
- c:identifier="GST_RTSP_STS_FORBIDDEN"
- glib:nick="forbidden"/>
- <member name="not_found"
- value="404"
- c:identifier="GST_RTSP_STS_NOT_FOUND"
- glib:nick="not-found"/>
- <member name="method_not_allowed"
- value="405"
- c:identifier="GST_RTSP_STS_METHOD_NOT_ALLOWED"
- glib:nick="method-not-allowed"/>
- <member name="not_acceptable"
- value="406"
- c:identifier="GST_RTSP_STS_NOT_ACCEPTABLE"
- glib:nick="not-acceptable"/>
- <member name="proxy_auth_required"
- value="407"
- c:identifier="GST_RTSP_STS_PROXY_AUTH_REQUIRED"
- glib:nick="proxy-auth-required"/>
- <member name="request_timeout"
- value="408"
- c:identifier="GST_RTSP_STS_REQUEST_TIMEOUT"
- glib:nick="request-timeout"/>
- <member name="gone"
- value="410"
- c:identifier="GST_RTSP_STS_GONE"
- glib:nick="gone"/>
- <member name="length_required"
- value="411"
- c:identifier="GST_RTSP_STS_LENGTH_REQUIRED"
- glib:nick="length-required"/>
- <member name="precondition_failed"
- value="412"
- c:identifier="GST_RTSP_STS_PRECONDITION_FAILED"
- glib:nick="precondition-failed"/>
- <member name="request_entity_too_large"
- value="413"
- c:identifier="GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE"
- glib:nick="request-entity-too-large"/>
- <member name="request_uri_too_large"
- value="414"
- c:identifier="GST_RTSP_STS_REQUEST_URI_TOO_LARGE"
- glib:nick="request-uri-too-large"/>
- <member name="unsupported_media_type"
- value="415"
- c:identifier="GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE"
- glib:nick="unsupported-media-type"/>
- <member name="parameter_not_understood"
- value="451"
- c:identifier="GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD"
- glib:nick="parameter-not-understood"/>
- <member name="conference_not_found"
- value="452"
- c:identifier="GST_RTSP_STS_CONFERENCE_NOT_FOUND"
- glib:nick="conference-not-found"/>
- <member name="not_enough_bandwidth"
- value="453"
- c:identifier="GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH"
- glib:nick="not-enough-bandwidth"/>
- <member name="session_not_found"
- value="454"
- c:identifier="GST_RTSP_STS_SESSION_NOT_FOUND"
- glib:nick="session-not-found"/>
- <member name="method_not_valid_in_this_state"
- value="455"
- c:identifier="GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE"
- glib:nick="method-not-valid-in-this-state"/>
- <member name="header_field_not_valid_for_resource"
- value="456"
- c:identifier="GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE"
- glib:nick="header-field-not-valid-for-resource"/>
- <member name="invalid_range"
- value="457"
- c:identifier="GST_RTSP_STS_INVALID_RANGE"
- glib:nick="invalid-range"/>
- <member name="parameter_is_readonly"
- value="458"
- c:identifier="GST_RTSP_STS_PARAMETER_IS_READONLY"
- glib:nick="parameter-is-readonly"/>
- <member name="aggregate_operation_not_allowed"
- value="459"
- c:identifier="GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED"
- glib:nick="aggregate-operation-not-allowed"/>
- <member name="only_aggregate_operation_allowed"
- value="460"
- c:identifier="GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED"
- glib:nick="only-aggregate-operation-allowed"/>
- <member name="unsupported_transport"
- value="461"
- c:identifier="GST_RTSP_STS_UNSUPPORTED_TRANSPORT"
- glib:nick="unsupported-transport"/>
- <member name="destination_unreachable"
- value="462"
- c:identifier="GST_RTSP_STS_DESTINATION_UNREACHABLE"
- glib:nick="destination-unreachable"/>
- <member name="internal_server_error"
- value="500"
- c:identifier="GST_RTSP_STS_INTERNAL_SERVER_ERROR"
- glib:nick="internal-server-error"/>
- <member name="not_implemented"
- value="501"
- c:identifier="GST_RTSP_STS_NOT_IMPLEMENTED"
- glib:nick="not-implemented"/>
- <member name="bad_gateway"
- value="502"
- c:identifier="GST_RTSP_STS_BAD_GATEWAY"
- glib:nick="bad-gateway"/>
- <member name="service_unavailable"
- value="503"
- c:identifier="GST_RTSP_STS_SERVICE_UNAVAILABLE"
- glib:nick="service-unavailable"/>
- <member name="gateway_timeout"
- value="504"
- c:identifier="GST_RTSP_STS_GATEWAY_TIMEOUT"
- glib:nick="gateway-timeout"/>
- <member name="rtsp_version_not_supported"
- value="505"
- c:identifier="GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED"
- glib:nick="rtsp-version-not-supported"/>
- <member name="option_not_supported"
- value="551"
- c:identifier="GST_RTSP_STS_OPTION_NOT_SUPPORTED"
- glib:nick="option-not-supported"/>
- </enumeration>
- <record name="RTSPTime" c:type="GstRTSPTime" doc="A time indication.">
- <field name="type" writable="1">
- <type name="RTSPTimeType" c:type="GstRTSPTimeType"/>
- </field>
- <field name="seconds" writable="1">
- <type name="double" c:type="gdouble"/>
- </field>
- </record>
- <record name="RTSPTimeRange" c:type="GstRTSPTimeRange" doc="A time range.">
- <field name="unit" writable="1">
- <type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
- </field>
- <field name="min" writable="1">
- <type name="RTSPTime" c:type="GstRTSPTime"/>
- </field>
- <field name="max" writable="1">
- <type name="RTSPTime" c:type="GstRTSPTime"/>
- </field>
- </record>
- <enumeration name="RTSPTimeType"
- doc="Possible time types."
- c:type="GstRTSPTimeType">
- <member name="seconds" value="0" c:identifier="GST_RTSP_TIME_SECONDS"/>
- <member name="now" value="1" c:identifier="GST_RTSP_TIME_NOW"/>
- <member name="end" value="2" c:identifier="GST_RTSP_TIME_END"/>
- </enumeration>
- <bitfield name="RTSPTransMode"
- doc="The transfer mode to use."
- c:type="GstRTSPTransMode">
- <member name="unknown" value="0" c:identifier="GST_RTSP_TRANS_UNKNOWN"/>
- <member name="rtp" value="1" c:identifier="GST_RTSP_TRANS_RTP"/>
- <member name="rdt" value="2" c:identifier="GST_RTSP_TRANS_RDT"/>
- </bitfield>
- <record name="RTSPTransport" c:type="_GstRTSPTransport">
- <field name="trans" writable="1">
- <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
- </field>
- <field name="profile" writable="1">
- <type name="RTSPProfile" c:type="GstRTSPProfile"/>
- </field>
- <field name="lower_transport" writable="1">
- <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
- </field>
- <field name="destination" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="source" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="layers" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="mode_play" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="mode_record" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="append" writable="1">
- <type name="boolean" c:type="gboolean"/>
- </field>
- <field name="interleaved" writable="1">
- <type name="RTSPRange" c:type="GstRTSPRange"/>
- </field>
- <field name="ttl" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="port" writable="1">
- <type name="RTSPRange" c:type="GstRTSPRange"/>
- </field>
- <field name="client_port" writable="1">
- <type name="RTSPRange" c:type="GstRTSPRange"/>
- </field>
- <field name="server_port" writable="1">
- <type name="RTSPRange" c:type="GstRTSPRange"/>
- </field>
- <field name="ssrc" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- </record>
- <record name="RTSPUrl"
- c:type="GstRTSPUrl"
- doc="This structure contains the result of a parsed RTSP URL"
- glib:type-name="GstRTSPUrl"
- glib:get-type="gst_rtsp_url_get_type">
- <field name="transports" writable="1">
- <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
- </field>
- <field name="family" writable="1">
- <type name="RTSPFamily" c:type="GstRTSPFamily"/>
- </field>
- <field name="user" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="passwd" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="host" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="port" writable="1">
- <type name="uint16" c:type="guint16"/>
- </field>
- <field name="abspath" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="query" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <method name="copy"
- c:identifier="gst_rtsp_url_copy"
- doc="Make a copy of @url."
- version="0.10.22">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_rtsp_url_free"
- doc="Free the memory used by @url.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="get_request_uri"
- c:identifier="gst_rtsp_url_get_request_uri"
- doc="Get a newly allocated string describing the request URI for @url.">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_port"
- c:identifier="gst_rtsp_url_set_port"
- doc="Set the port number in @url to @port.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="port" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_port"
- c:identifier="gst_rtsp_url_get_port"
- doc="Get the port number of @url.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="port" direction="out" transfer-ownership="full">
- <type name="uint16" c:type="guint16*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="RTSPVersion"
- doc="The supported RTSP versions."
- glib:type-name="GstRTSPVersion"
- glib:get-type="gst_rtsp_version_get_type"
- c:type="GstRTSPVersion">
- <member name="invalid"
- value="0"
- c:identifier="GST_RTSP_VERSION_INVALID"
- glib:nick="invalid"/>
- <member name="1_0"
- value="16"
- c:identifier="GST_RTSP_VERSION_1_0"
- glib:nick="1-0"/>
- <member name="1_1"
- value="17"
- c:identifier="GST_RTSP_VERSION_1_1"
- glib:nick="1-1"/>
- </enumeration>
- <record name="RTSPWatch"
- c:type="GstRTSPWatch"
- doc="Opaque RTSP watch object that can be used for asynchronous RTSP
-operations.">
- <constructor name="new"
- c:identifier="gst_rtsp_watch_new"
- doc="Create a watch object for @conn. The functions provided in @funcs will be
-called with @user_data when activity happened on the watch.
-The new watch is usually created so that it can be attached to a
-maincontext with gst_rtsp_watch_attach().
-communication. Free with gst_rtsp_watch_unref () after usage."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
- </return-value>
- <parameters>
- <parameter name="conn" transfer-ownership="none">
- <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
- </parameter>
- <parameter name="funcs" transfer-ownership="none">
- <type name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <type name="any" c:type="gpointer"/>
- </parameter>
- <parameter name="notify" transfer-ownership="none" scope="call">
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="reset"
- c:identifier="gst_rtsp_watch_reset"
- doc="Reset @watch, this is usually called after gst_rtsp_connection_do_tunnel()
-when the file descriptors of the connection might have changed."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="unref"
- c:identifier="gst_rtsp_watch_unref"
- doc="Decreases the reference count of @watch by one. If the resulting reference
-count is zero the watch and associated memory will be destroyed."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="attach"
- c:identifier="gst_rtsp_watch_attach"
- doc="Adds a #GstRTSPWatch to a context so that it will be executed within that context."
- version="0.10.23">
- <return-value transfer-ownership="none"
- doc="for the watch within the GMainContext.">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="context" transfer-ownership="none">
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- </parameters>
- </method>
- <method name="write_data"
- c:identifier="gst_rtsp_watch_write_data"
- doc="Write @data using the connection of the @watch. If it cannot be sent
-immediately, it will be queued for transmission in @watch. The contents of
-callback.
-This function will take ownership of @data and g_free() it after use."
- version="0.10.25">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="id" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_message"
- c:identifier="gst_rtsp_watch_send_message"
- doc="Send a @message using the connection of the @watch. If it cannot be sent
-immediately, it will be queued for transmission in @watch. The contents of
-callback."
- version="0.10.25">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- <parameter name="id" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="queue_data"
- c:identifier="gst_rtsp_watch_queue_data"
- doc="Queue @data for transmission in @watch. It will be transmitted when the
-connection of the @watch becomes writable.
-This function will take ownership of @data and g_free() it after use.
-The return value of this function will be used as the id argument in the
-message_sent callback."
- version="0.10.24"
- deprecated="Use gst_rtsp_watch_write_data()">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="queue_message"
- c:identifier="gst_rtsp_watch_queue_message"
- doc="Queue a @message for transmission in @watch. The contents of this
-message will be serialized and transmitted when the connection of the
-The return value of this function will be used as the id argument in the
-message_sent callback."
- version="0.10.23"
- deprecated="Use gst_rtsp_watch_send_message()">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="RTSPWatchFuncs"
- c:type="GstRTSPWatchFuncs"
- doc="connection must be saved.
-you usually pair the tunnelid of this connection with the saved one using
-gst_rtsp_connection_do_tunnel().
-the @error callback. Since 0.10.25
-Since 0.10.29
-Callback functions from a #GstRTSPWatch."
- version="0.10.23">
- <field name="message_received">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="message_sent">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="closed">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="error">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="tunnel_start">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="tunnel_complete">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="error_full">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="tunnel_lost">
- <type name="any" c:type="pointer"/>
- </field>
- <field name="_gst_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="2">
- <type name="any"/>
- </array>
- </field>
- </record>
- <function name="base64_decode_ip"
- c:identifier="gst_rtsp_base64_decode_ip"
- doc="Decode the base64 string pointed to by @data in-place. When @len is not #NULL
-it will contain the length of the decoded data.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="len" direction="out" transfer-ownership="full">
- <type name="size_t" c:type="gsize*"/>
- </parameter>
- </parameters>
- </function>
- <function name="base64_encode"
- c:identifier="gst_rtsp_base64_encode"
- doc="Encode a sequence of binary data into its Base-64 stringified representation.
-representing @data."
- deprecated="Use g_base64_encode()">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="size_t" c:type="gsize"/>
- </parameter>
- </parameters>
- </function>
- <function name="connection_accept"
- c:identifier="gst_rtsp_connection_accept"
- doc="Accept a new connection on @sock and create a new #GstRTSPConnection for
-handling communication on new socket."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="sock" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="conn" transfer-ownership="none">
- <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
- </parameter>
- </parameters>
- </function>
- <function name="connection_create"
- c:identifier="gst_rtsp_connection_create"
- doc="Create a newly allocated #GstRTSPConnection from @url and store it in @conn.
-The connection will not yet attempt to connect to @url, use
-gst_rtsp_connection_connect().
-A copy of @url will be made.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="url" transfer-ownership="none">
- <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
- </parameter>
- <parameter name="conn" transfer-ownership="none">
- <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
- </parameter>
- </parameters>
- </function>
- <function name="connection_create_from_fd"
- c:identifier="gst_rtsp_connection_create_from_fd"
- doc="Create a new #GstRTSPConnection for handling communication on the existing
-file descriptor @fd. The @initial_buffer contains any data already read from"
- version="0.10.25">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="fd" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="ip" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <type name="uint16" c:type="guint16"/>
- </parameter>
- <parameter name="initial_buffer" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="conn" transfer-ownership="none">
- <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
- </parameter>
- </parameters>
- </function>
- <function name="find_header_field"
- c:identifier="gst_rtsp_find_header_field"
- doc="Convert @header to a #GstRTSPHeaderField.
-header field is unknown.">
- <return-value transfer-ownership="full">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="find_method"
- c:identifier="gst_rtsp_find_method"
- doc="Convert @method to a #GstRTSPMethod.
-method is unknown.">
- <return-value transfer-ownership="full">
- <type name="RTSPMethod" c:type="GstRTSPMethod"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_allow_multiple"
- c:identifier="gst_rtsp_header_allow_multiple"
- doc="Check whether @field may appear multiple times in a message."
- version="0.10.25">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_as_text"
- c:identifier="gst_rtsp_header_as_text"
- doc="Convert @field to a string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="field" transfer-ownership="none">
- <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
- </parameter>
- </parameters>
- </function>
- <function name="message_get_type"
- c:identifier="gst_rtsp_message_get_type"
- doc="Get the message type of @msg.">
- <return-value transfer-ownership="full">
- <type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="method_as_text"
- c:identifier="gst_rtsp_method_as_text"
- doc="Convert @method to a string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <type name="RTSPMethod" c:type="GstRTSPMethod"/>
- </parameter>
- </parameters>
- </function>
- <function name="options_as_text"
- c:identifier="gst_rtsp_options_as_text"
- doc="Convert @options to a string."
- version="0.10.23">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="options" transfer-ownership="none">
- <type name="RTSPMethod" c:type="GstRTSPMethod"/>
- </parameter>
- </parameters>
- </function>
- <function name="range_free"
- c:identifier="gst_rtsp_range_free"
- doc="Free the memory alocated by @range.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="range" transfer-ownership="none">
- <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
- </parameter>
- </parameters>
- </function>
- <function name="range_parse"
- c:identifier="gst_rtsp_range_parse"
- doc="Parse @rangestr to a #GstRTSPTimeRange.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="rangestr" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="range" transfer-ownership="none">
- <type name="RTSPTimeRange" c:type="GstRTSPTimeRange**"/>
- </parameter>
- </parameters>
- </function>
- <function name="range_to_string"
- c:identifier="gst_rtsp_range_to_string"
- doc="Convert @range into a string representation."
- version="0.10.23">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="range" transfer-ownership="none">
- <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
- </parameter>
- </parameters>
- </function>
- <function name="status_as_text"
- c:identifier="gst_rtsp_status_as_text"
- doc="Convert @code to a string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="code" transfer-ownership="none">
- <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
- </parameter>
- </parameters>
- </function>
- <function name="strresult"
- c:identifier="gst_rtsp_strresult"
- doc="Convert @result in a human readable string.">
- <return-value transfer-ownership="full" doc="after usage.">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="result" transfer-ownership="none">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </parameter>
- </parameters>
- </function>
- <function name="transport_as_text"
- c:identifier="gst_rtsp_transport_as_text"
- doc="Convert @transport into a string that can be used to signal the transport in
-an RTSP SETUP response.
-is invalid.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="transport" transfer-ownership="none">
- <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
- </parameter>
- </parameters>
- </function>
- <function name="transport_free"
- c:identifier="gst_rtsp_transport_free"
- doc="Free the memory used by @transport.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="transport" transfer-ownership="none">
- <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
- </parameter>
- </parameters>
- </function>
- <function name="transport_get_manager"
- c:identifier="gst_rtsp_transport_get_manager"
- doc="Get the #GStreamer element that can handle the buffers transported over
-It is possible that there are several managers available, use @option to
-selected one.
-needed/available for @trans.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
- </parameter>
- <parameter name="manager" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="option" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="transport_get_mime"
- c:identifier="gst_rtsp_transport_get_mime"
- doc="Get the mime type of the transport mode @trans. This mime type is typically
-used to generate #GstCaps on buffers.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="trans" transfer-ownership="none">
- <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
- </parameter>
- <parameter name="mime" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="transport_init"
- c:identifier="gst_rtsp_transport_init"
- doc="Initialize @transport so that it can be used.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="transport" transfer-ownership="none">
- <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
- </parameter>
- </parameters>
- </function>
- <function name="transport_new"
- c:identifier="gst_rtsp_transport_new"
- doc="Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free()
-after usage.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="transport" transfer-ownership="none">
- <type name="RTSPTransport" c:type="GstRTSPTransport**"/>
- </parameter>
- </parameters>
- </function>
- <function name="transport_parse"
- c:identifier="gst_rtsp_transport_parse"
- doc="Parse the RTSP transport string @str into @transport.">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="transport" transfer-ownership="none">
- <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
- </parameter>
- </parameters>
- </function>
- <function name="url_parse"
- c:identifier="gst_rtsp_url_parse"
- doc="Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage
-with gst_rtsp_url_free().">
- <return-value transfer-ownership="full">
- <type name="RTSPResult" c:type="GstRTSPResult"/>
- </return-value>
- <parameters>
- <parameter name="urlstr" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="url" transfer-ownership="none">
- <type name="RTSPUrl" c:type="GstRTSPUrl**"/>
- </parameter>
- </parameters>
- </function>
- <function name="version_as_text"
- c:identifier="gst_rtsp_version_as_text"
- doc="Convert @version to a string.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="version" transfer-ownership="none">
- <type name="RTSPVersion" c:type="GstRTSPVersion"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.syntax alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gstreamer.ffi gstreamer.sdp.ffi ;
-IN: gstreamer.rtsp.ffi
-
-<<
-"gstreamer.rtsp" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstrtsp-0.10.so" cdecl add-library ] }
-} cond
->>
-
-! git error (there is _GstRTSPTransport only in .gir)
-C-TYPE: GstRTSPTransport
-
-GIR: vocab:gstreamer/rtsp/GstRtsp-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.rtsp.ffi ;
-IN: gstreamer.rtsp
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <c:include name="gst/audio/gstsdp.h"/>
- <c:include name="gst/audio/gstsdpmessage.h"/>
- <namespace name="GstSdp"
- version="0.10"
- shared-library="libgstsdp-0.10.so.0"
- c:prefix="Gst">
- <constant name="BWTYPE_AS" value="AS">
- <type name="utf8"/>
- </constant>
- <constant name="BWTYPE_CT" value="CT">
- <type name="utf8"/>
- </constant>
- <constant name="BWTYPE_EXT_PREFIX" value="X-">
- <type name="utf8"/>
- </constant>
- <constant name="BWTYPE_RS" value="RS">
- <type name="utf8"/>
- </constant>
- <record name="SDPAttribute"
- c:type="GstSDPAttribute"
- doc="The contents of the SDP "a=" field which contains a key/value pair.">
- <field name="key" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="value" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- </record>
- <record name="SDPBandwidth"
- c:type="GstSDPBandwidth"
- doc="The contents of the SDP "b=" field which specifies the proposed bandwidth to
-be used by the session or media.">
- <field name="bwtype" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="bandwidth" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- </record>
- <record name="SDPConnection"
- c:type="GstSDPConnection"
- doc=""Internet".
-The contents of the SDP "c=" field which contains connection data.">
- <field name="nettype" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="addrtype" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="address" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="ttl" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="addr_number" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- </record>
- <record name="SDPKey"
- c:type="GstSDPKey"
- doc="The contents of the SDP "k=" field which is used to convey encryption
-keys.">
- <field name="type" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="data" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- </record>
- <record name="SDPMedia"
- c:type="GstSDPMedia"
- doc="The contents of the SDP "m=" field with all related fields.">
- <field name="media" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="port" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="num_ports" writable="1">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="proto" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="fmts" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="information" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="connections" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="bandwidths" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="key" writable="1">
- <type name="SDPKey" c:type="GstSDPKey"/>
- </field>
- <field name="attributes" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <constructor name="new"
- c:identifier="gst_sdp_media_new"
- doc="Allocate a new GstSDPMedia and store the result in @media.">
- <return-value transfer-ownership="full">
- <type name="SDPMedia" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="media" transfer-ownership="none">
- <type name="SDPMedia" c:type="GstSDPMedia**"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="init"
- c:identifier="gst_sdp_media_init"
- doc="Initialize @media so that its contents are as if it was freshly allocated
-with gst_sdp_media_new(). This function is mostly used to initialize a media
-allocated on the stack. gst_sdp_media_uninit() undoes this operation.
-When this function is invoked on newly allocated data (with malloc or on the
-stack), its contents should be set to 0 before calling this function.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- <method name="uninit"
- c:identifier="gst_sdp_media_uninit"
- doc="Free all resources allocated in @media. @media should not be used anymore after
-this function. This function should be used when @media was allocated on the
-stack and initialized with gst_sdp_media_init().">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_sdp_media_free"
- doc="Free all resources allocated by @media. @media should not be used anymore after
-this function. This function should be used when @media was dynamically
-allocated with gst_sdp_media_new().">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- <method name="as_text"
- c:identifier="gst_sdp_media_as_text"
- doc="Convert the contents of @media to a text string.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_media"
- c:identifier="gst_sdp_media_get_media"
- doc="Get the media description of @media.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_media"
- c:identifier="gst_sdp_media_set_media"
- doc="Set the media description of @media to @med.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="med" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_port"
- c:identifier="gst_sdp_media_get_port"
- doc="Get the port number for @media.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_num_ports"
- c:identifier="gst_sdp_media_get_num_ports"
- doc="Get the number of ports for @media.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="set_port_info"
- c:identifier="gst_sdp_media_set_port_info"
- doc="Set the port information in @media.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="port" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="num_ports" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_proto"
- c:identifier="gst_sdp_media_get_proto"
- doc="Get the transport protocol of @media">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_proto"
- c:identifier="gst_sdp_media_set_proto"
- doc="Set the media transport protocol of @media to @proto.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="proto" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="formats_len"
- c:identifier="gst_sdp_media_formats_len"
- doc="Get the number of formats in @media.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_format"
- c:identifier="gst_sdp_media_get_format"
- doc="Get the format information at position @idx in @media.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_format"
- c:identifier="gst_sdp_media_add_format"
- doc="Add the format information to @media.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_information"
- c:identifier="gst_sdp_media_get_information"
- doc="Get the information of @media">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_information"
- c:identifier="gst_sdp_media_set_information"
- doc="Set the media information of @media to @information.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="information" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="connections_len"
- c:identifier="gst_sdp_media_connections_len"
- doc="Get the number of connection fields in @media.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_connection"
- c:identifier="gst_sdp_media_get_connection"
- doc="Get the connection at position @idx in @media.">
- <return-value transfer-ownership="none">
- <type name="SDPConnection" c:type="GstSDPConnection*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_connection"
- c:identifier="gst_sdp_media_add_connection"
- doc=""Internet".
-Add the given connection parameters to @media.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="nettype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="addrtype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="ttl" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="addr_number" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="bandwidths_len"
- c:identifier="gst_sdp_media_bandwidths_len"
- doc="Get the number of bandwidth fields in @media.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_bandwidth"
- c:identifier="gst_sdp_media_get_bandwidth"
- doc="Get the bandwidth at position @idx in @media.">
- <return-value transfer-ownership="none">
- <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_bandwidth"
- c:identifier="gst_sdp_media_add_bandwidth"
- doc="Add the bandwidth information with @bwtype and @bandwidth to @media.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="bwtype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="bandwidth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_key"
- c:identifier="gst_sdp_media_get_key"
- doc="Get the encryption information from @media.">
- <return-value transfer-ownership="none">
- <type name="SDPKey" c:type="GstSDPKey*"/>
- </return-value>
- </method>
- <method name="set_key"
- c:identifier="gst_sdp_media_set_key"
- doc="Adds the encryption information to @media.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="attributes_len"
- c:identifier="gst_sdp_media_attributes_len"
- doc="Get the number of attribute fields in @media.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_attribute"
- c:identifier="gst_sdp_media_get_attribute"
- doc="Get the attribute at position @idx in @media.">
- <return-value transfer-ownership="none">
- <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_attribute_val"
- c:identifier="gst_sdp_media_get_attribute_val"
- doc="Get the first attribute value for @key in @media.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_attribute_val_n"
- c:identifier="gst_sdp_media_get_attribute_val_n"
- doc="Get the @nth attribute value for @key in @media.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_attribute"
- c:identifier="gst_sdp_media_add_attribute"
- doc="Add the attribute with @key and @value to @media.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="SDPMessage"
- c:type="GstSDPMessage"
- doc="The contents of the SDP message.">
- <field name="version" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="origin" writable="1">
- <type name="SDPOrigin" c:type="GstSDPOrigin"/>
- </field>
- <field name="session_name" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="information" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="uri" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="emails" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="phones" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="connection" writable="1">
- <type name="SDPConnection" c:type="GstSDPConnection"/>
- </field>
- <field name="bandwidths" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="times" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="zones" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="key" writable="1">
- <type name="SDPKey" c:type="GstSDPKey"/>
- </field>
- <field name="attributes" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <field name="medias" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- <constructor name="new"
- c:identifier="gst_sdp_message_new"
- doc="Allocate a new GstSDPMessage and store the result in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPMessage" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="SDPMessage" c:type="GstSDPMessage**"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="init"
- c:identifier="gst_sdp_message_init"
- doc="Initialize @msg so that its contents are as if it was freshly allocated
-with gst_sdp_message_new(). This function is mostly used to initialize a message
-allocated on the stack. gst_sdp_message_uninit() undoes this operation.
-When this function is invoked on newly allocated data (with malloc or on the
-stack), its contents should be set to 0 before calling this function.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- <method name="uninit"
- c:identifier="gst_sdp_message_uninit"
- doc="Free all resources allocated in @msg. @msg should not be used anymore after
-this function. This function should be used when @msg was allocated on the
-stack and initialized with gst_sdp_message_init().">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- <method name="free"
- c:identifier="gst_sdp_message_free"
- doc="Free all resources allocated by @msg. @msg should not be used anymore after
-this function. This function should be used when @msg was dynamically
-allocated with gst_sdp_message_new().">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- <method name="as_text"
- c:identifier="gst_sdp_message_as_text"
- doc="Convert the contents of @msg to a text string.">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="get_version"
- c:identifier="gst_sdp_message_get_version"
- doc="Get the version in @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_version"
- c:identifier="gst_sdp_message_set_version"
- doc="Set the version in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="version" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_origin"
- c:identifier="gst_sdp_message_get_origin"
- doc="Get the origin of @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPOrigin" c:type="GstSDPOrigin*"/>
- </return-value>
- </method>
- <method name="set_origin"
- c:identifier="gst_sdp_message_set_origin"
- doc="Configure the SDP origin in @msg with the given parameters.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="username" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="sess_id" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="sess_version" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="nettype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="addrtype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="addr" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_session_name"
- c:identifier="gst_sdp_message_get_session_name"
- doc="Get the session name in @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_session_name"
- c:identifier="gst_sdp_message_set_session_name"
- doc="Set the session name in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="session_name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_information"
- c:identifier="gst_sdp_message_get_information"
- doc="Get the information in @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_information"
- c:identifier="gst_sdp_message_set_information"
- doc="Set the information in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="information" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_uri"
- c:identifier="gst_sdp_message_get_uri"
- doc="Get the URI in @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- </method>
- <method name="set_uri"
- c:identifier="gst_sdp_message_set_uri"
- doc="Set the URI in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="emails_len"
- c:identifier="gst_sdp_message_emails_len"
- doc="Get the number of emails in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_email"
- c:identifier="gst_sdp_message_get_email"
- doc="Get the email with number @idx from @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_email"
- c:identifier="gst_sdp_message_add_email"
- doc="Add @email to the list of emails in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="email" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="phones_len"
- c:identifier="gst_sdp_message_phones_len"
- doc="Get the number of phones in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_phone"
- c:identifier="gst_sdp_message_get_phone"
- doc="Get the phone with number @idx from @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_phone"
- c:identifier="gst_sdp_message_add_phone"
- doc="Add @phone to the list of phones in @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="phone" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_connection"
- c:identifier="gst_sdp_message_get_connection"
- doc="Get the connection of @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPConnection" c:type="GstSDPConnection*"/>
- </return-value>
- </method>
- <method name="set_connection"
- c:identifier="gst_sdp_message_set_connection"
- doc=""Internet".
-Configure the SDP connection in @msg with the given parameters.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="nettype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="addrtype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="address" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="ttl" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="addr_number" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="bandwidths_len"
- c:identifier="gst_sdp_message_bandwidths_len"
- doc="Get the number of bandwidth information in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_bandwidth"
- c:identifier="gst_sdp_message_get_bandwidth"
- doc="Get the bandwidth at index @idx from @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_bandwidth"
- c:identifier="gst_sdp_message_add_bandwidth"
- doc="Add the specified bandwidth information to @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="bwtype" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="bandwidth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="times_len"
- c:identifier="gst_sdp_message_times_len"
- doc="Get the number of time information entries in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_time"
- c:identifier="gst_sdp_message_get_time"
- doc="Get time information with index @idx from @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPTime" c:type="GstSDPTime*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_time"
- c:identifier="gst_sdp_message_add_time"
- doc="Add time information @start and @stop to @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="start" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="stop" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="repeat" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="zones_len"
- c:identifier="gst_sdp_message_zones_len"
- doc="Get the number of time zone information entries in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_zone"
- c:identifier="gst_sdp_message_get_zone"
- doc="Get time zone information with index @idx from @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPZone" c:type="GstSDPZone*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_zone"
- c:identifier="gst_sdp_message_add_zone"
- doc="Add time zone information to @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="adj_time" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="typed_time" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_key"
- c:identifier="gst_sdp_message_get_key"
- doc="Get the encryption information from @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPKey" c:type="GstSDPKey*"/>
- </return-value>
- </method>
- <method name="set_key"
- c:identifier="gst_sdp_message_set_key"
- doc="Adds the encryption information to @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="attributes_len"
- c:identifier="gst_sdp_message_attributes_len"
- doc="Get the number of attributes in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_attribute"
- c:identifier="gst_sdp_message_get_attribute"
- doc="Get the attribute at position @idx in @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_attribute_val"
- c:identifier="gst_sdp_message_get_attribute_val"
- doc="Get the first attribute with key @key in @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_attribute_val_n"
- c:identifier="gst_sdp_message_get_attribute_val_n"
- doc="Get the @nth attribute with key @key in @msg.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="nth" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_attribute"
- c:identifier="gst_sdp_message_add_attribute"
- doc="Add the attribute with @key and @value to @msg.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="medias_len"
- c:identifier="gst_sdp_message_medias_len"
- doc="Get the number of media descriptions in @msg.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </method>
- <method name="get_media"
- c:identifier="gst_sdp_message_get_media"
- doc="Get the media description at index @idx in @msg.">
- <return-value transfer-ownership="none">
- <type name="SDPMedia" c:type="GstSDPMedia*"/>
- </return-value>
- <parameters>
- <parameter name="idx" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_media"
- c:identifier="gst_sdp_message_add_media"
- doc="Adds @media to the array of medias in @msg. This function takes ownership of
-the contents of @media so that @media will have to be reinitialized with
-gst_media_init() before it can be used again.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="media" transfer-ownership="none">
- <type name="SDPMedia" c:type="GstSDPMedia*"/>
- </parameter>
- </parameters>
- </method>
- <method name="dump"
- c:identifier="gst_sdp_message_dump"
- doc="Dump the parsed contents of @msg to stdout.">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- </method>
- </record>
- <record name="SDPOrigin"
- c:type="GstSDPOrigin"
- doc="if the originating host does not support the concept of user ids.
-session.
-"Internet".
-created.
-The contents of the SDP "o=" field which gives the originator of the session
-(their username and the address of the user's host) plus a session id and
-session version number.">
- <field name="username" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="sess_id" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="sess_version" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="nettype" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="addrtype" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="addr" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- </record>
- <enumeration name="SDPResult"
- doc="Return values for the SDP functions."
- c:type="GstSDPResult">
- <member name="ok" value="0" c:identifier="GST_SDP_OK"/>
- <member name="einval" value="-1" c:identifier="GST_SDP_EINVAL"/>
- </enumeration>
- <record name="SDPTime"
- c:type="GstSDPTime"
- doc="representation of Network Time Protocol (NTP) time values in seconds
-representation of Network Time Protocol (NTP) time values in seconds
-The contents of the SDP "t=" field which specify the start and stop times for
-a conference session.">
- <field name="start" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="stop" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="repeat" writable="1">
- <type name="GLib.Array" c:type="GArray*"/>
- </field>
- </record>
- <record name="SDPZone"
- c:type="GstSDPZone"
- doc="The contents of the SDP "z=" field which allows the sender to
-specify a list of time zone adjustments and offsets from the base
-time.">
- <field name="time" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- <field name="typed_time" writable="1">
- <type name="utf8" c:type="gchar*"/>
- </field>
- </record>
- <function name="message_parse_buffer"
- c:identifier="gst_sdp_message_parse_buffer"
- doc="Parse the contents of @size bytes pointed to by @data and store the result in">
- <return-value transfer-ownership="full">
- <type name="SDPResult" c:type="GstSDPResult"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="SDPMessage" c:type="GstSDPMessage*"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi ;
-IN: gstreamer.sdp.ffi
-
-<<
-"gstreamer.sdp" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstsdp-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/sdp/GstSdp-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.sdp.ffi ;
-IN: gstreamer.sdp
-
+++ /dev/null
-GStreamer binding
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstBase" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-base-0.10"/>
- <namespace name="GstTag"
- version="0.10"
- shared-library="libgsttag-0.10.so.0"
- c:prefix="Gst">
- <constant name="CDDA_CDDB_DISCID" value="discid">
- <type name="utf8"/>
- </constant>
- <constant name="CDDA_CDDB_DISCID_FULL" value="discid-full">
- <type name="utf8"/>
- </constant>
- <constant name="CDDA_MUSICBRAINZ_DISCID" value="musicbrainz-discid">
- <type name="utf8"/>
- </constant>
- <constant name="CDDA_MUSICBRAINZ_DISCID_FULL"
- value="musicbrainz-discid-full">
- <type name="utf8"/>
- </constant>
- <constant name="CMML_CLIP" value="cmml-clip">
- <type name="utf8"/>
- </constant>
- <constant name="CMML_HEAD" value="cmml-head">
- <type name="utf8"/>
- </constant>
- <constant name="CMML_STREAM" value="cmml-stream">
- <type name="utf8"/>
- </constant>
- <constant name="MUSICBRAINZ_ALBUMARTISTID"
- value="musicbrainz-albumartistid">
- <type name="utf8"/>
- </constant>
- <constant name="MUSICBRAINZ_ALBUMID" value="musicbrainz-albumid">
- <type name="utf8"/>
- </constant>
- <constant name="MUSICBRAINZ_ARTISTID" value="musicbrainz-artistid">
- <type name="utf8"/>
- </constant>
- <constant name="MUSICBRAINZ_TRACKID" value="musicbrainz-trackid">
- <type name="utf8"/>
- </constant>
- <constant name="MUSICBRAINZ_TRMID" value="musicbrainz-trmid">
- <type name="utf8"/>
- </constant>
- <class name="TagDemux"
- c:type="GstTagDemux"
- doc="Opaque #GstTagDemux structure."
- version="0.10.15"
- parent="Gst.Element"
- abstract="1"
- glib:type-name="GstTagDemux"
- glib:get-type="gst_tag_demux_get_type"
- glib:type-struct="TagDemuxClass">
- <virtual-method name="identify_tag">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start_tag" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="tag_size" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="parse_tag">
- <return-value transfer-ownership="full">
- <type name="TagDemuxResult" c:type="GstTagDemuxResult"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start_tag" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="tag_size" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="tags" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="merge_tags">
- <return-value transfer-ownership="full">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="start_tags" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="end_tags" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <field name="element">
- <type name="Gst.Element" c:type="GstElement"/>
- </field>
- <field name="priv">
- <type name="TagDemuxPrivate" c:type="GstTagDemuxPrivate*"/>
- </field>
- <field name="reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="TagDemuxClass"
- c:type="GstTagDemuxClass"
- glib:is-gtype-struct-for="TagDemux"
- doc="determine its total size. Set to 0 if not interested in start tags.
-Subclasses should set this in their class_init function.
-determine its total size. Set to 0 if not interested in end tags.
-Subclasses should set this in their class_init function.
-tag. Buffer may be larger than the specified minimum size.
-Subclassed MUST override this vfunc in their class_init function.
-the identify_tag vfunc before. The parse_tag vfunc may change the size
-stored in *tag_size and return GST_TAG_DEMUX_RESULT_AGAIN to request a
-larger or smaller buffer. It is also permitted to adjust the tag_size to a
-smaller value and then return GST_TAG_DEMUX_RESULT_OK in one go.
-Subclassed MUST override the parse_tag vfunc in their class_init function.
-vfunc to allow prioritising of start or end tag according to user
-preference. Note that both start_tags and end_tags may be NULL. By default
-start tags are prefered over end tags.
-The #GstTagDemuxClass structure. See documentation at beginning of section
-for details about what subclasses need to override and do."
- version="0.10.15">
- <field name="parent_class">
- <type name="Gst.ElementClass" c:type="GstElementClass"/>
- </field>
- <field name="min_start_size">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="min_end_size">
- <type name="uint" c:type="guint"/>
- </field>
- <field name="identify_tag">
- <callback name="identify_tag" c:type="identify_tag">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="demux" transfer-ownership="none">
- <type name="TagDemux" c:type="GstTagDemux*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start_tag" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="tag_size"
- direction="out"
- transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="parse_tag">
- <callback name="parse_tag" c:type="parse_tag">
- <return-value transfer-ownership="full">
- <type name="TagDemuxResult" c:type="GstTagDemuxResult"/>
- </return-value>
- <parameters>
- <parameter name="demux" transfer-ownership="none">
- <type name="TagDemux" c:type="GstTagDemux*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="start_tag" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- <parameter name="tag_size"
- direction="out"
- transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="tags" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="merge_tags">
- <callback name="merge_tags" c:type="merge_tags">
- <return-value transfer-ownership="full">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="demux" transfer-ownership="none">
- <type name="TagDemux" c:type="GstTagDemux*"/>
- </parameter>
- <parameter name="start_tags" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="end_tags" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="TagDemuxPrivate" c:type="GstTagDemuxPrivate">
- </record>
- <enumeration name="TagDemuxResult"
- doc="Result values from the parse_tag virtual function."
- version="0.10.15"
- glib:type-name="GstTagDemuxResult"
- glib:get-type="gst_tag_demux_result_get_type"
- c:type="GstTagDemuxResult">
- <member name="broken_tag"
- value="0"
- c:identifier="GST_TAG_DEMUX_RESULT_BROKEN_TAG"
- glib:nick="broken-tag"/>
- <member name="again"
- value="1"
- c:identifier="GST_TAG_DEMUX_RESULT_AGAIN"
- glib:nick="again"/>
- <member name="ok"
- value="2"
- c:identifier="GST_TAG_DEMUX_RESULT_OK"
- glib:nick="ok"/>
- </enumeration>
- <enumeration name="TagImageType"
- doc="tell functions such as gst_tag_image_data_to_image_buffer() that no
-Type of image contained in an image tag (specified as field in
-the image buffer's caps structure)"
- version="0.10.9"
- glib:type-name="GstTagImageType"
- glib:get-type="gst_tag_image_type_get_type"
- c:type="GstTagImageType">
- <member name="none"
- value="-1"
- c:identifier="GST_TAG_IMAGE_TYPE_NONE"
- glib:nick="none"/>
- <member name="undefined"
- value="0"
- c:identifier="GST_TAG_IMAGE_TYPE_UNDEFINED"
- glib:nick="undefined"/>
- <member name="front_cover"
- value="1"
- c:identifier="GST_TAG_IMAGE_TYPE_FRONT_COVER"
- glib:nick="front-cover"/>
- <member name="back_cover"
- value="2"
- c:identifier="GST_TAG_IMAGE_TYPE_BACK_COVER"
- glib:nick="back-cover"/>
- <member name="leaflet_page"
- value="3"
- c:identifier="GST_TAG_IMAGE_TYPE_LEAFLET_PAGE"
- glib:nick="leaflet-page"/>
- <member name="medium"
- value="4"
- c:identifier="GST_TAG_IMAGE_TYPE_MEDIUM"
- glib:nick="medium"/>
- <member name="lead_artist"
- value="5"
- c:identifier="GST_TAG_IMAGE_TYPE_LEAD_ARTIST"
- glib:nick="lead-artist"/>
- <member name="artist"
- value="6"
- c:identifier="GST_TAG_IMAGE_TYPE_ARTIST"
- glib:nick="artist"/>
- <member name="conductor"
- value="7"
- c:identifier="GST_TAG_IMAGE_TYPE_CONDUCTOR"
- glib:nick="conductor"/>
- <member name="band_orchestra"
- value="8"
- c:identifier="GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA"
- glib:nick="band-orchestra"/>
- <member name="composer"
- value="9"
- c:identifier="GST_TAG_IMAGE_TYPE_COMPOSER"
- glib:nick="composer"/>
- <member name="lyricist"
- value="10"
- c:identifier="GST_TAG_IMAGE_TYPE_LYRICIST"
- glib:nick="lyricist"/>
- <member name="recording_location"
- value="11"
- c:identifier="GST_TAG_IMAGE_TYPE_RECORDING_LOCATION"
- glib:nick="recording-location"/>
- <member name="during_recording"
- value="12"
- c:identifier="GST_TAG_IMAGE_TYPE_DURING_RECORDING"
- glib:nick="during-recording"/>
- <member name="during_performance"
- value="13"
- c:identifier="GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE"
- glib:nick="during-performance"/>
- <member name="video_capture"
- value="14"
- c:identifier="GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE"
- glib:nick="video-capture"/>
- <member name="fish"
- value="15"
- c:identifier="GST_TAG_IMAGE_TYPE_FISH"
- glib:nick="fish"/>
- <member name="illustration"
- value="16"
- c:identifier="GST_TAG_IMAGE_TYPE_ILLUSTRATION"
- glib:nick="illustration"/>
- <member name="artist_logo"
- value="17"
- c:identifier="GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO"
- glib:nick="artist-logo"/>
- <member name="publisher_studio_logo"
- value="18"
- c:identifier="GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO"
- glib:nick="publisher-studio-logo"/>
- </enumeration>
- <function name="freeform_string_to_utf8"
- c:identifier="gst_tag_freeform_string_to_utf8"
- doc="or NULL
-Convenience function to read a string with unknown character encoding. If
-the string is already in UTF-8 encoding, it will be returned right away.
-If not it tries to detect byte-order-mark for UTF-16/32 cases and use that.
-Otherwise, the environment will be searched for a number of environment
-variables (whose names are specified in the NULL-terminated string array
-are specified, the current locale will be tried. If that also doesn't work,
-ISO-8859-1 is assumed (which will almost always succeed)."
- version="0.10.13">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="size" transfer-ownership="none">
- <type name="int" c:type="gint"/>
- </parameter>
- <parameter name="env_vars" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="from_id3_tag"
- c:identifier="gst_tag_from_id3_tag"
- doc="Looks up the GStreamer tag for a ID3v2 tag.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="id3_tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="from_id3_user_tag"
- c:identifier="gst_tag_from_id3_user_tag"
- doc="Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in
-TXXX frame or owner in UFID frame).">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="id3_user_tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="from_vorbis_tag"
- c:identifier="gst_tag_from_vorbis_tag"
- doc="Looks up the GStreamer tag for a vorbiscomment tag.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="vorbis_tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_language_code_iso_639_1"
- c:identifier="gst_tag_get_language_code_iso_639_1"
- doc="Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2
-language code or two-letter ISO-639-1 language code (both are accepted for
-convenience).
-Language codes are case-sensitive and expected to be lower case.
-or NULL if no mapping is known. The returned string must not be
-modified or freed."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="lang_code" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_language_code_iso_639_2B"
- c:identifier="gst_tag_get_language_code_iso_639_2B"
- doc="Returns three-letter ISO-639-2 "bibliographic" language code given a
-two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
-code (both are accepted for convenience).
-The "bibliographic" code is derived from the English name of the language
-(e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the
-"terminological" codes are prefered.
-Language codes are case-sensitive and expected to be lower case.
-or NULL if no mapping is known. The returned string must not be
-modified or freed."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="lang_code" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_language_code_iso_639_2T"
- c:identifier="gst_tag_get_language_code_iso_639_2T"
- doc="Returns three-letter ISO-639-2 "terminological" language code given a
-two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
-code (both are accepted for convenience).
-The "terminological" code is derived from the local name of the language
-(e.g. "deu" for German instead of "ger"). In most scenarios, the
-"terminological" codes are prefered over the "bibliographic" ones.
-Language codes are case-sensitive and expected to be lower case.
-or NULL if no mapping is known. The returned string must not be
-modified or freed."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="lang_code" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_language_codes"
- c:identifier="gst_tag_get_language_codes"
- doc="Returns a list of known language codes (in form of two-letter ISO-639-1
-codes). This is useful for UIs to build a list of available languages for
-tagging purposes (e.g. to tag an audio track appropriately in a video or
-audio editor).
-with g_strfreev() when no longer needed."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- </function>
- <function name="get_language_name"
- c:identifier="gst_tag_get_language_name"
- doc="Returns the name of the language given an ISO-639 language code, such
-as often found in a GST_TAG_LANGUAGE tag. The name will be translated
-according to the current locale (if the library was built against the
-iso-codes package, otherwise the English name will be returned).
-Language codes are case-sensitive and expected to be lower case.
-not be mapped to a language name. The returned string must not be
-modified and does not need to freed; it will stay valid until the
-application is terminated."
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="language_code" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="id3_genre_count"
- c:identifier="gst_tag_id3_genre_count"
- doc="Gets the number of ID3v1 genres that can be identified. Winamp genres are
-included.">
- <return-value transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </return-value>
- </function>
- <function name="id3_genre_get"
- c:identifier="gst_tag_id3_genre_get"
- doc="Gets the ID3v1 genre name for a given ID.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="image_data_to_image_buffer"
- c:identifier="gst_tag_image_data_to_image_buffer"
- doc="#GST_TAG_IMAGE_TYPE_NONE if no image type should be set at all (e.g.
-for preview images)
-Helper function for tag-reading plugins to create a #GstBuffer suitable to
-add to a #GstTagList as an image tag (such as #GST_TAG_IMAGE or
-#GST_TAG_PREVIEW_IMAGE) from the encoded image data and an (optional) image
-type.
-blob of binary image data, often accompanied by a MIME type or some other
-content type string (e.g. 'png', 'jpeg', 'jpg'). Sometimes there is also an
-'image type' to indicate what kind of image this is (e.g. front cover,
-back cover, artist, etc.). The image data may also be an URI to the image
-rather than the image itself.
-In GStreamer, image tags are #GstBuffer<!-- -->s containing the raw image
-data, with the buffer caps describing the content type of the image
-(e.g. image/jpeg, image/png, text/uri-list). The buffer caps may contain
-an additional 'image-type' field of #GST_TYPE_TAG_IMAGE_TYPE to describe
-the type of image (front cover, back cover etc.). #GST_TAG_PREVIEW_IMAGE
-tags should not carry an image type, their type is already indicated via
-the special tag name.
-This function will do various checks and typefind the encoded image
-data (we can't trust the declared mime type)."
- version="0.10.20">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="image_data" transfer-ownership="none" doc="image">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="image_data_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="image_type" transfer-ownership="none">
- <type name="TagImageType" c:type="GstTagImageType"/>
- </parameter>
- </parameters>
- </function>
- <function name="list_add_id3_image"
- c:identifier="gst_tag_list_add_id3_image"
- doc="the APIC frame (0 = unknown/other)
-Adds an image from an ID3 APIC frame (or similar, such as used in FLAC)
-to the given tag list. Also see gst_tag_image_data_to_image_buffer() for
-more information on image tags in GStreamer."
- version="0.10.20">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="tag_list" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="image_data" transfer-ownership="none" doc="image">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="image_data_len" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="id3_picture_type"
- transfer-ownership="none"
- doc="specification for">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="list_from_vorbiscomment_buffer"
- c:identifier="gst_tag_list_from_vorbiscomment_buffer"
- doc="of this vorbis comment or NULL if you don't need it.
-Creates a new tag list that contains the information parsed out of a
-vorbiscomment packet.
-given vorbiscomment buffer or NULL on error.">
- <return-value transfer-ownership="full">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- <parameter name="id_data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="id_data_length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="vendor_string" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="list_from_xmp_buffer"
- c:identifier="gst_tag_list_from_xmp_buffer"
- doc="Parse a xmp packet into a taglist."
- version="0.10.29">
- <return-value transfer-ownership="full">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="buffer" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </function>
- <function name="list_new_from_id3v1"
- c:identifier="gst_tag_list_new_from_id3v1"
- doc="Parses the data containing an ID3v1 tag and returns a #GstTagList from the
-parsed data.">
- <return-value transfer-ownership="full">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="list_to_vorbiscomment_buffer"
- c:identifier="gst_tag_list_to_vorbiscomment_buffer"
- doc="Creates a new vorbiscomment buffer from a tag list.
-that could be converted from the given tag list.">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="id_data" transfer-ownership="none">
- <array c:type="guint8*">
- <type name="uint8"/>
- </array>
- </parameter>
- <parameter name="id_data_length" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="vendor_string" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="list_to_xmp_buffer"
- c:identifier="gst_tag_list_to_xmp_buffer"
- doc="Formats a taglist as a xmp packet."
- version="0.10.29">
- <return-value transfer-ownership="full">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="read_only" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_extended_comment"
- c:identifier="gst_tag_parse_extended_comment"
- doc="Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and
-separate it into its components.
-If successful, @key, @lang and/or @value will be set to newly allocated
-strings that you need to free with g_free() when done. @key and @lang
-may also be set to NULL by this function if there is no key or no language
-code in the extended comment string."
- version="0.10.10">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ext_comment" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="key" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="lang" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <array c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="fail_if_no_key" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="register_musicbrainz_tags"
- c:identifier="gst_tag_register_musicbrainz_tags">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="to_id3_tag"
- c:identifier="gst_tag_to_id3_tag"
- doc="Looks up the ID3v2 tag for a GStreamer tag.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="gst_tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="to_vorbis_comments"
- c:identifier="gst_tag_to_vorbis_comments"
- doc="Creates a new tag list that contains the information parsed out of a
-vorbiscomment packet.
-g_list_foreach (list, (GFunc) g_free, NULL) plus g_list_free (list)">
- <return-value transfer-ownership="full">
- <type name="GLib.List" c:type="GList*"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="to_vorbis_tag"
- c:identifier="gst_tag_to_vorbis_tag"
- doc="Looks up the vorbiscomment tag for a GStreamer tag.">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <parameter name="gst_tag" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="vorbis_tag_add"
- c:identifier="gst_vorbis_tag_add"
- doc="Convenience function using gst_tag_from_vorbis_tag(), parsing
-a vorbis comment string into the right type and adding it to the
-given taglist @list.
-Unknown vorbiscomment tags will be added to the tag list in form
-of a #GST_TAG_EXTENDED_COMMENT (since 0.10.10 at least).">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <type name="Gst.TagList" c:type="GstTagList*"/>
- </parameter>
- <parameter name="tag"
- transfer-ownership="none"
- doc="must be valid UTF-8">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="value"
- transfer-ownership="none"
- doc="must be valid UTF-8">
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.libraries combinators kernel system
-gobject-introspection glib.ffi gstreamer.ffi ;
-IN: gstreamer.tag.ffi
-
-<<
-"gstreamer.tag" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgsttag-0.10.so" cdecl add-library ] }
-} cond
->>
-
-GIR: vocab:gstreamer/tag/GstTag-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.tag.ffi ;
-IN: gstreamer.tag
-
+++ /dev/null
-bindings
-audio
-video
+++ /dev/null
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.0"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GModule" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Gst" version="0.10"/>
- <include name="GstBase" version="0.10"/>
- <include name="libxml2" version="2.0"/>
- <package name="gstreamer-0.10"/>
- <package name="gstreamer-base-0.10"/>
- <c:include name="gst/video/gstvideofilter.h"/>
- <c:include name="gst/video/gstvideosink.h"/>
- <c:include name="gst/video/video-enumtypes.h"/>
- <c:include name="gst/video/video.h"/>
- <namespace name="GstVideo"
- version="0.10"
- shared-library="libgstvideo-0.10.so.0"
- c:prefix="Gst">
- <constant name="BLUE_MASK_15" value="0x001f">
- <type name="utf8"/>
- </constant>
- <constant name="BLUE_MASK_15_INT" value="31">
- <type name="int"/>
- </constant>
- <constant name="BLUE_MASK_16" value="0x001f">
- <type name="utf8"/>
- </constant>
- <constant name="BLUE_MASK_16_INT" value="31">
- <type name="int"/>
- </constant>
- <constant name="BYTE1_MASK_24" value="0x00FF0000">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE1_MASK_24_INT" value="16711680">
- <type name="int"/>
- </constant>
- <constant name="BYTE1_MASK_32" value="0xFF000000">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE1_MASK_32_INT" value="-16777216">
- <type name="int"/>
- </constant>
- <constant name="BYTE2_MASK_24" value="0x0000FF00">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE2_MASK_24_INT" value="65280">
- <type name="int"/>
- </constant>
- <constant name="BYTE2_MASK_32" value="0x00FF0000">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE2_MASK_32_INT" value="16711680">
- <type name="int"/>
- </constant>
- <constant name="BYTE3_MASK_24" value="0x000000FF">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE3_MASK_24_INT" value="255">
- <type name="int"/>
- </constant>
- <constant name="BYTE3_MASK_32" value="0x0000FF00">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE3_MASK_32_INT" value="65280">
- <type name="int"/>
- </constant>
- <constant name="BYTE4_MASK_32" value="0x000000FF">
- <type name="utf8"/>
- </constant>
- <constant name="BYTE4_MASK_32_INT" value="255">
- <type name="int"/>
- </constant>
- <constant name="CAPS_GRAY8"
- value="video/x-raw-gray, bpp = (int) 8, depth = (int) 8, width = ">
- <type name="utf8"/>
- </constant>
- <constant name="CAPS_RGB_15"
- value="video/x-raw-rgb, bpp = (int) 16, depth = (int) 15, endianness = (int) BYTE_ORDER, red_mask = (int) ">
- <type name="utf8"/>
- </constant>
- <constant name="CAPS_RGB_16"
- value="video/x-raw-rgb, bpp = (int) 16, depth = (int) 16, endianness = (int) BYTE_ORDER, red_mask = (int) ">
- <type name="utf8"/>
- </constant>
- <constant name="FPS_RANGE" value="(fraction) [ 0, max ]">
- <type name="utf8"/>
- </constant>
- <constant name="GREEN_MASK_15" value="0x03e0">
- <type name="utf8"/>
- </constant>
- <constant name="GREEN_MASK_15_INT" value="992">
- <type name="int"/>
- </constant>
- <constant name="GREEN_MASK_16" value="0x07e0">
- <type name="utf8"/>
- </constant>
- <constant name="GREEN_MASK_16_INT" value="2016">
- <type name="int"/>
- </constant>
- <constant name="RED_MASK_15" value="0x7c00">
- <type name="utf8"/>
- </constant>
- <constant name="RED_MASK_15_INT" value="31744">
- <type name="int"/>
- </constant>
- <constant name="RED_MASK_16" value="0xf800">
- <type name="utf8"/>
- </constant>
- <constant name="RED_MASK_16_INT" value="63488">
- <type name="int"/>
- </constant>
- <constant name="SIZE_RANGE" value="(int) [ 1, max ]">
- <type name="utf8"/>
- </constant>
- <class name="VideoFilter"
- c:type="GstVideoFilter"
- parent="GstBase.BaseTransform"
- abstract="1"
- glib:type-name="GstVideoFilter"
- glib:get-type="gst_video_filter_get_type"
- glib:type-struct="VideoFilterClass">
- <field name="element">
- <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
- </field>
- <field name="inited">
- <type name="boolean" c:type="gboolean"/>
- </field>
- </class>
- <record name="VideoFilterClass"
- c:type="GstVideoFilterClass"
- glib:is-gtype-struct-for="VideoFilter">
- <field name="parent_class">
- <type name="GstBase.BaseTransformClass"
- c:type="GstBaseTransformClass"/>
- </field>
- </record>
- <enumeration name="VideoFormat"
- doc="Enum value describing the most common video formats."
- glib:type-name="GstVideoFormat"
- glib:get-type="gst_video_format_get_type"
- c:type="GstVideoFormat">
- <member name="unknown"
- value="0"
- c:identifier="GST_VIDEO_FORMAT_UNKNOWN"
- glib:nick="unknown"/>
- <member name="i420"
- value="1"
- c:identifier="GST_VIDEO_FORMAT_I420"
- glib:nick="i420"/>
- <member name="yv12"
- value="2"
- c:identifier="GST_VIDEO_FORMAT_YV12"
- glib:nick="yv12"/>
- <member name="yuy2"
- value="3"
- c:identifier="GST_VIDEO_FORMAT_YUY2"
- glib:nick="yuy2"/>
- <member name="uyvy"
- value="4"
- c:identifier="GST_VIDEO_FORMAT_UYVY"
- glib:nick="uyvy"/>
- <member name="ayuv"
- value="5"
- c:identifier="GST_VIDEO_FORMAT_AYUV"
- glib:nick="ayuv"/>
- <member name="rgbx"
- value="6"
- c:identifier="GST_VIDEO_FORMAT_RGBx"
- glib:nick="rgbx"/>
- <member name="bgrx"
- value="7"
- c:identifier="GST_VIDEO_FORMAT_BGRx"
- glib:nick="bgrx"/>
- <member name="xrgb"
- value="8"
- c:identifier="GST_VIDEO_FORMAT_xRGB"
- glib:nick="xrgb"/>
- <member name="xbgr"
- value="9"
- c:identifier="GST_VIDEO_FORMAT_xBGR"
- glib:nick="xbgr"/>
- <member name="rgba"
- value="10"
- c:identifier="GST_VIDEO_FORMAT_RGBA"
- glib:nick="rgba"/>
- <member name="bgra"
- value="11"
- c:identifier="GST_VIDEO_FORMAT_BGRA"
- glib:nick="bgra"/>
- <member name="argb"
- value="12"
- c:identifier="GST_VIDEO_FORMAT_ARGB"
- glib:nick="argb"/>
- <member name="abgr"
- value="13"
- c:identifier="GST_VIDEO_FORMAT_ABGR"
- glib:nick="abgr"/>
- <member name="rgb"
- value="14"
- c:identifier="GST_VIDEO_FORMAT_RGB"
- glib:nick="rgb"/>
- <member name="bgr"
- value="15"
- c:identifier="GST_VIDEO_FORMAT_BGR"
- glib:nick="bgr"/>
- <member name="y41b"
- value="16"
- c:identifier="GST_VIDEO_FORMAT_Y41B"
- glib:nick="y41b"/>
- <member name="y42b"
- value="17"
- c:identifier="GST_VIDEO_FORMAT_Y42B"
- glib:nick="y42b"/>
- <member name="yvyu"
- value="18"
- c:identifier="GST_VIDEO_FORMAT_YVYU"
- glib:nick="yvyu"/>
- <member name="y444"
- value="19"
- c:identifier="GST_VIDEO_FORMAT_Y444"
- glib:nick="y444"/>
- <member name="v210"
- value="20"
- c:identifier="GST_VIDEO_FORMAT_v210"
- glib:nick="v210"/>
- <member name="v216"
- value="21"
- c:identifier="GST_VIDEO_FORMAT_v216"
- glib:nick="v216"/>
- <member name="nv12"
- value="22"
- c:identifier="GST_VIDEO_FORMAT_NV12"
- glib:nick="nv12"/>
- <member name="nv21"
- value="23"
- c:identifier="GST_VIDEO_FORMAT_NV21"
- glib:nick="nv21"/>
- <member name="gray8"
- value="24"
- c:identifier="GST_VIDEO_FORMAT_GRAY8"
- glib:nick="gray8"/>
- <member name="gray16_be"
- value="25"
- c:identifier="GST_VIDEO_FORMAT_GRAY16_BE"
- glib:nick="gray16-be"/>
- <member name="gray16_le"
- value="26"
- c:identifier="GST_VIDEO_FORMAT_GRAY16_LE"
- glib:nick="gray16-le"/>
- </enumeration>
- <record name="VideoRectangle"
- c:type="GstVideoRectangle"
- doc="Helper structure representing a rectangular area.">
- <field name="x" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="y" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="w" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- <field name="h" writable="1">
- <type name="int" c:type="gint"/>
- </field>
- </record>
- <class name="VideoSink"
- c:type="GstVideoSink"
- doc="The video sink instance structure. Derived video sinks should set the"
- parent="GstBase.BaseSink"
- glib:type-name="GstVideoSink"
- glib:get-type="gst_video_sink_get_type"
- glib:type-struct="VideoSinkClass">
- <function name="center_rect"
- c:identifier="gst_video_sink_center_rect"
- doc="Takes @src rectangle and position it at the center of @dst rectangle with or
-without @scaling. It handles clipping if the @src rectangle is bigger than
-the @dst one and @scaling is set to FALSE.">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="src" transfer-ownership="none">
- <type name="VideoRectangle" c:type="GstVideoRectangle"/>
- </parameter>
- <parameter name="dst" transfer-ownership="none">
- <type name="VideoRectangle" c:type="GstVideoRectangle"/>
- </parameter>
- <parameter name="result" transfer-ownership="none">
- <type name="VideoRectangle" c:type="GstVideoRectangle*"/>
- </parameter>
- <parameter name="scaling" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="show_frame">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <property name="show-preroll-frame" writable="1" construct="1">
- <type name="boolean" c:type="gboolean"/>
- </property>
- <field name="element">
- <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
- </field>
- <field name="width">
- <type name="int" c:type="gint"/>
- </field>
- <field name="height">
- <type name="int" c:type="gint"/>
- </field>
- <field name="priv">
- <type name="VideoSinkPrivate" c:type="GstVideoSinkPrivate*"/>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </class>
- <record name="VideoSinkClass"
- c:type="GstVideoSinkClass"
- glib:is-gtype-struct-for="VideoSink"
- doc="#GstBaseSink::preroll vfuncs. Rendering during preroll will be
-suppressed if the 'show-preroll-frame' property is set to #FALSE.
-The video sink class structure. Derived classes should override the"
- version="0.10.25">
- <field name="parent_class">
- <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
- </field>
- <field name="show_frame">
- <callback name="show_frame" c:type="show_frame">
- <return-value transfer-ownership="full">
- <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
- </return-value>
- <parameters>
- <parameter name="video_sink" transfer-ownership="none">
- <type name="VideoSink" c:type="GstVideoSink*"/>
- </parameter>
- <parameter name="buf" transfer-ownership="none">
- <type name="Gst.Buffer" c:type="GstBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_gst_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="any"/>
- </array>
- </field>
- </record>
- <record name="VideoSinkPrivate" c:type="GstVideoSinkPrivate">
- </record>
- <function name="calculate_display_ratio"
- c:identifier="gst_video_calculate_display_ratio"
- doc="Given the Pixel Aspect Ratio and size of an input video frame, and the
-pixel aspect ratio of the intended display device, calculates the actual
-display ratio the video will be rendered with.
-dar_n and dar_d parameters.
-The return value is FALSE in the case of integer overflow or other error."
- version="0.10.7">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dar_n" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="dar_d" direction="out" transfer-ownership="full">
- <type name="uint" c:type="guint*"/>
- </parameter>
- <parameter name="video_width" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="video_height" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="video_par_n" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="video_par_d" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="display_par_n" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- <parameter name="display_par_d" transfer-ownership="none">
- <type name="uint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="event_new_still_frame"
- c:identifier="gst_video_event_new_still_frame"
- doc="Creates a new Still Frame event. If @in_still is %TRUE, then the event
-represents the start of a still frame sequence. If it is %FALSE, then
-the event ends a still frame sequence.
-To parse an event created by gst_video_event_new_still_frame() use
-gst_video_event_parse_still_frame()."
- version="0.10.26">
- <return-value transfer-ownership="full">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </return-value>
- <parameters>
- <parameter name="in_still" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="event_parse_still_frame"
- c:identifier="gst_video_event_parse_still_frame"
- doc="Parse a #GstEvent, identify if it is a Still Frame event, and
-return the still-frame state from the event if it is.
-If the event represents the start of a still frame, the in_still
-variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the
-in_still variable order to just check whether the event is a valid still-frame
-event.
-Create a still frame event using gst_video_event_new_still_frame()"
- version="0.10.26">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <type name="Gst.Event" c:type="GstEvent*"/>
- </parameter>
- <parameter name="in_still" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_convert"
- c:identifier="gst_video_format_convert"
- doc="Converts among various #GstFormat types. This function handles
-GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
-raw video, GST_FORMAT_DEFAULT corresponds to video frames. This
-function can be to handle pad queries of the type GST_QUERY_CONVERT."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="fps_n" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="fps_d" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="src_format" transfer-ownership="none">
- <type name="Gst.Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="src_value" transfer-ownership="none">
- <type name="int64" c:type="gint64"/>
- </parameter>
- <parameter name="dest_format" transfer-ownership="none">
- <type name="Gst.Format" c:type="GstFormat"/>
- </parameter>
- <parameter name="dest_value" direction="out" transfer-ownership="full">
- <type name="int64" c:type="gint64*"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_from_fourcc"
- c:identifier="gst_video_format_from_fourcc"
- doc="Converts a FOURCC value into the corresponding #GstVideoFormat.
-If the FOURCC cannot be represented by #GstVideoFormat,
-#GST_VIDEO_FORMAT_UNKNOWN is returned."
- version="0.10.16">
- <return-value transfer-ownership="full">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </return-value>
- <parameters>
- <parameter name="fourcc" transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_component_height"
- c:identifier="gst_video_format_get_component_height"
- doc="Calculates the height of the component. See
-of the component index."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="component" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_component_offset"
- c:identifier="gst_video_format_get_component_offset"
- doc="Calculates the offset (in bytes) of the first pixel of the component
-with index @component. For packed formats, this will typically be a
-small integer (0, 1, 2, 3). For planar formats, this will be a
-(relatively) large offset to the beginning of the second or third
-component planes. See @gst_video_format_get_row_stride for a description
-of the component index."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="component" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_component_width"
- c:identifier="gst_video_format_get_component_width"
- doc="Calculates the width of the component. See
-of the component index."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="component" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_pixel_stride"
- c:identifier="gst_video_format_get_pixel_stride"
- doc="Calculates the pixel stride (number of bytes from one pixel to the
-pixel to its immediate left) for the video component with an index
-of @component. See @gst_video_format_get_row_stride for a description
-of the component index."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="component" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_row_stride"
- c:identifier="gst_video_format_get_row_stride"
- doc="Calculates the row stride (number of bytes from one row of pixels to
-the next) for the video component with an index of @component. For
-YUV video, Y, U, and V have component indices of 0, 1, and 2,
-respectively. For RGB video, R, G, and B have component indicies of
-0, 1, and 2, respectively. Alpha channels, if present, have a component
-index of 3. The @width parameter always represents the width of the
-video, not the component."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="component" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_get_size"
- c:identifier="gst_video_format_get_size"
- doc="Calculates the total number of bytes in the raw video format. This
-number should be used when allocating a buffer for raw video."
- version="0.10.16">
- <return-value transfer-ownership="none" doc="of raw video format">
- <type name="int" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_has_alpha"
- c:identifier="gst_video_format_has_alpha"
- doc="Returns TRUE or FALSE depending on if the video format provides an
-alpha channel."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_is_gray"
- c:identifier="gst_video_format_is_gray"
- doc="Determine whether the video format is a grayscale format."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_is_rgb"
- c:identifier="gst_video_format_is_rgb"
- doc="Determine whether the video format is an RGB format."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_is_yuv"
- c:identifier="gst_video_format_is_yuv"
- doc="Determine whether the video format is a YUV format."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_new_caps"
- c:identifier="gst_video_format_new_caps"
- doc="Creates a new #GstCaps object based on the parameters provided."
- version="0.10.16">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="framerate_n" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="framerate_d" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="par_n" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="par_d" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_new_caps_interlaced"
- c:identifier="gst_video_format_new_caps_interlaced"
- doc="Creates a new #GstCaps object based on the parameters provided."
- version="0.10.23">
- <return-value transfer-ownership="full">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="framerate_n" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="framerate_d" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="par_n" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="par_d" transfer-ownership="none">
- <type name="int" c:type="int"/>
- </parameter>
- <parameter name="interlaced" transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_parse_caps"
- c:identifier="gst_video_format_parse_caps"
- doc="Determines the #GstVideoFormat of @caps and places it in the location
-pointed to by @format. Extracts the size of the video and places it
-in the location pointed to by @width and @height. If @caps does not
-represent one of the raw video formats listed in #GstVideoFormat, the
-function will fail and return FALSE."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat*"/>
- </parameter>
- <parameter name="width" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- <parameter name="height" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_parse_caps_interlaced"
- c:identifier="gst_video_format_parse_caps_interlaced"
- doc="Extracts whether the caps represents interlaced content or not and places it
-in @interlaced."
- version="0.10.23">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="interlaced" direction="out" transfer-ownership="full">
- <type name="boolean" c:type="gboolean*"/>
- </parameter>
- </parameters>
- </function>
- <function name="format_to_fourcc"
- c:identifier="gst_video_format_to_fourcc"
- doc="Converts a #GstVideoFormat value into the corresponding FOURCC. Only
-a few YUV formats have corresponding FOURCC values. If @format has
-no corresponding FOURCC value, 0 is returned."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="uint32" c:type="guint32"/>
- </return-value>
- <parameters>
- <parameter name="format" transfer-ownership="none">
- <type name="VideoFormat" c:type="GstVideoFormat"/>
- </parameter>
- </parameters>
- </function>
- <function name="frame_rate"
- c:identifier="gst_video_frame_rate"
- doc="A convenience function to retrieve a GValue holding the framerate
-from the caps on a pad.
-The pad needs to have negotiated caps containing a framerate property.
-do not contain a framerate.">
- <return-value transfer-ownership="none">
- <type name="GObject.Value" c:type="GValue*"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_size"
- c:identifier="gst_video_get_size"
- doc="Inspect the caps of the provided pad and retrieve the width and height of
-the video frames it is configured for.
-The pad needs to have negotiated caps containing width and height properties.">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pad" transfer-ownership="none">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </parameter>
- <parameter name="width" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- <parameter name="height" direction="out" transfer-ownership="full">
- <type name="int" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_caps_chroma_site"
- c:identifier="gst_video_parse_caps_chroma_site"
- doc="Extracts the chroma site used by the caps. Possible values are
-"mpeg2" for MPEG-2 style chroma siting (co-sited horizontally,
-halfway-sited vertically), "jpeg" for JPEG and Theora style
-chroma siting (halfway-sited both horizontally and vertically).
-Other chroma site values are possible, but uncommon.
-When no chroma site is specified in the caps, it should be assumed
-to be "mpeg2".
-determined."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_caps_color_matrix"
- c:identifier="gst_video_parse_caps_color_matrix"
- doc="Extracts the color matrix used by the caps. Possible values are
-"sdtv" for the standard definition color matrix (as specified in
-Rec. ITU-R BT.470-6) or "hdtv" for the high definition color
-matrix (as specified in Rec. ITU-R BT.709)
-determined."
- version="0.10.29">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_caps_framerate"
- c:identifier="gst_video_parse_caps_framerate"
- doc="Extracts the frame rate from @caps and places the values in the locations
-pointed to by @fps_n and @fps_d. Returns TRUE if the values could be
-parsed correctly, FALSE if not.
-This function can be used with #GstCaps that have any media type; it
-is not limited to formats handled by #GstVideoFormat."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="fps_n" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- <parameter name="fps_d" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_caps_pixel_aspect_ratio"
- c:identifier="gst_video_parse_caps_pixel_aspect_ratio"
- doc="Extracts the pixel aspect ratio from @caps and places the values in
-the locations pointed to by @par_n and @par_d. Returns TRUE if the
-values could be parsed correctly, FALSE if not.
-This function can be used with #GstCaps that have any media type; it
-is not limited to formats handled by #GstVideoFormat."
- version="0.10.16">
- <return-value transfer-ownership="none">
- <type name="boolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="caps" transfer-ownership="none">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </parameter>
- <parameter name="par_n" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- <parameter name="par_d" direction="out" transfer-ownership="full">
- <type name="int" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
-</repository>
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gobject.ffi gstreamer.ffi ;
-IN: gstreamer.video.ffi
-
-<<
-"gstreamer.video" {
- { [ os winnt? ] [ drop ] }
- { [ os macosx? ] [ drop ] }
- { [ os unix? ] [ "libgstvideo-0.10.so" cdecl add-library ] }
-} cond
->>
-
-IMPLEMENT-STRUCTS: GstVideoRectangle ;
-
-GIR: vocab:gstreamer/video/GstVideo-0.10.gir
-
+++ /dev/null
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gstreamer.video.ffi ;
-IN: gstreamer.video
-