[gstreamermm] Regenerate the XML docs file.
- From: Josà Alburquerque <jaalburqu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gstreamermm] Regenerate the XML docs file.
- Date: Wed, 19 Sep 2012 22:25:41 +0000 (UTC)
commit fd271709562b73cb78f1e9164540395e53ae6cd2
Author: Josà Alburquerque <jaalburqu svn gnome org>
Date: Wed Sep 19 17:49:25 2012 -0400
Regenerate the XML docs file.
* gstreamer/src/gst_docs.xml: Regenerate the docs file for updated
method and signal docs.
* gstreamer/src/bin.hg:
* gstreamer/src/bus.hg:
* gstreamer/src/childproxy.hg:
* gstreamer/src/colorbalance.hg:
* gstreamer/src/colorbalancechannel.hg:
* gstreamer/src/discoverer.hg:
* gstreamer/src/element.hg:
* gstreamer/src/index.hg:
* gstreamer/src/object.hg:
* gstreamer/src/pad.hg:
* gstreamer/src/padtemplate.hg:
* gstreamer/src/registry.hg:
* gstreamer/src/tuner.hg:
* gstreamer/src/tunerchannel.hg:
* gstreamer/src/urihandler.hg: Remove the handwritten signal docs from
these files so that the automatically generated ones (in the above
file) are used.
ChangeLog | 26 +
examples/media_player_gtkmm/player_window.cc | 1 -
gstreamer/src/bin.hg | 5 -
gstreamer/src/bus.hg | 12 -
gstreamer/src/childproxy.hg | 5 -
gstreamer/src/colorbalance.hg | 2 -
gstreamer/src/colorbalancechannel.hg | 3 -
gstreamer/src/discoverer.hg | 1 -
gstreamer/src/element.hg | 7 -
gstreamer/src/gst_docs.xml |15421 +++++++++++++++++---------
gstreamer/src/index.hg | 2 -
gstreamer/src/object.hg | 12 -
gstreamer/src/pad.hg | 8 +-
gstreamer/src/padtemplate.hg | 3 -
gstreamer/src/registry.hg | 8 -
gstreamer/src/tuner.hg | 15 -
gstreamer/src/tunerchannel.hg | 7 -
gstreamer/src/urihandler.hg | 2 -
18 files changed, 10080 insertions(+), 5460 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 74e2ef9..5bad47f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
2012-09-19 Josà Alburquerque <jaalburquerque gmail com>
+ Regenerate the XML docs file.
+
+ * gstreamer/src/gst_docs.xml: Regenerate the docs file for updated
+ method and signal docs.
+ * gstreamer/src/bin.hg:
+ * gstreamer/src/bus.hg:
+ * gstreamer/src/childproxy.hg:
+ * gstreamer/src/colorbalance.hg:
+ * gstreamer/src/colorbalancechannel.hg:
+ * gstreamer/src/discoverer.hg:
+ * gstreamer/src/element.hg:
+ * gstreamer/src/index.hg:
+ * gstreamer/src/object.hg:
+ * gstreamer/src/pad.hg:
+ * gstreamer/src/padtemplate.hg:
+ * gstreamer/src/registry.hg:
+ * gstreamer/src/tuner.hg:
+ * gstreamer/src/tunerchannel.hg:
+ * gstreamer/src/urihandler.hg: Remove the handwritten signal docs from
+ these files so that the automatically generated ones (in the above
+ file) are used.
+
+ * examples/media_player_gtkmm/player_window.cc: Remove erroneous line.
+
+2012-09-19 Josà Alburquerque <jaalburquerque gmail com>
+
Regenerate the enums and signal defs with 0.10.36 for a new release.
* gstreamer/src/gst_enums.defs:
diff --git a/examples/media_player_gtkmm/player_window.cc b/examples/media_player_gtkmm/player_window.cc
index 719594f..6e1428b 100644
--- a/examples/media_player_gtkmm/player_window.cc
+++ b/examples/media_player_gtkmm/player_window.cc
@@ -206,7 +206,6 @@ void PlayerWindow::on_video_changed()
// When the first buffer arrives, the video size can be extracted.
m_pad_probe_id = pad->add_buffer_probe(
sigc::mem_fun(*this, &PlayerWindow::on_video_pad_got_buffer));
- std::cout << "There is no pad available." << std::endl;
}
}
diff --git a/gstreamer/src/bin.hg b/gstreamer/src/bin.hg
index 4320548..72ca951 100644
--- a/gstreamer/src/bin.hg
+++ b/gstreamer/src/bin.hg
@@ -238,12 +238,7 @@ public:
#m4 _CONVERSION(`GstElement*',`const Glib::RefPtr<Gst::Element>&', `Glib::wrap($3, true)')
- /** Will be emitted after the element was added to the bin.
- */
_WRAP_SIGNAL(void element_added(const Glib::RefPtr<Gst::Element>& element), "element-added")
-
- /** Will be emitted after the element was removed from the bin.
- */
_WRAP_SIGNAL(void element_removed(const Glib::RefPtr<Gst::Element>& element), "element-removed")
//TODO: The default signal handler is marked as private in the C header. Is that intendend?
diff --git a/gstreamer/src/bus.hg b/gstreamer/src/bus.hg
index ce4f208..d9cb347 100644
--- a/gstreamer/src/bus.hg
+++ b/gstreamer/src/bus.hg
@@ -170,19 +170,7 @@ public:
#m4 _CONVERSION(`GstMessage*',`const Glib::RefPtr<Gst::Message>&', `Gst::Message::wrap($3, true)')
- /** 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.
- */
_WRAP_SIGNAL(void message(const Glib::RefPtr<Gst::Message>& message), "message")
-
- /** 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 enable it with
- * enable_sync_message_emission().
- *
- */
_WRAP_SIGNAL(void sync_message(const Glib::RefPtr<Gst::Message>& message), "sync-message")
};
diff --git a/gstreamer/src/childproxy.hg b/gstreamer/src/childproxy.hg
index bbba761..ed3d598 100644
--- a/gstreamer/src/childproxy.hg
+++ b/gstreamer/src/childproxy.hg
@@ -96,12 +96,7 @@ public:
#m4 _CONVERSION(`GstObject*',`const Glib::RefPtr<Gst::Object>&',`Glib::wrap($3, true)')
- /** Will be emitted after the object was added to the child_proxy.
- */
_WRAP_SIGNAL(void child_added(const Glib::RefPtr<Gst::Object>& object), "child-added")
-
- /** Will be emitted after the object was removed from the child_proxy.
- */
_WRAP_SIGNAL(void child_removed(const Glib::RefPtr<Gst::Object>& object), "child-removed")
/** Virtual method to fetch the child.
diff --git a/gstreamer/src/colorbalance.hg b/gstreamer/src/colorbalance.hg
index 63ef6a8..c4ba0ff 100644
--- a/gstreamer/src/colorbalance.hg
+++ b/gstreamer/src/colorbalance.hg
@@ -49,8 +49,6 @@ public:
_WRAP_METHOD(Gst::ColorBalanceType get_balance_type() const, gst_color_balance_get_balance_type)
#m4 _CONVERSION(`GstColorBalanceChannel*', `const Glib::RefPtr<ColorBalanceChannel>&', `Glib::wrap($3, true)')
- /** Fired when the value of the indicated channel has changed.
- */
_WRAP_SIGNAL(void value_changed(const Glib::RefPtr<ColorBalanceChannel>& channel, int value), "value-changed")
#m4 _CONVERSION(`Glib::ListHandle< Glib::RefPtr<ColorBalanceChannel> >', `const GList*', `($3).data()')
diff --git a/gstreamer/src/colorbalancechannel.hg b/gstreamer/src/colorbalancechannel.hg
index f8beeee..3e873ff 100644
--- a/gstreamer/src/colorbalancechannel.hg
+++ b/gstreamer/src/colorbalancechannel.hg
@@ -45,9 +45,6 @@ public:
*/
_MEMBER_GET(max_value, max_value, int, gint)
- /** Signals that the channel has changed.
- * @param value The new value of the channel.
- */
_WRAP_SIGNAL(void value_changed(int value), "value-changed")
};
diff --git a/gstreamer/src/discoverer.hg b/gstreamer/src/discoverer.hg
index 6584875..62f7f1c 100644
--- a/gstreamer/src/discoverer.hg
+++ b/gstreamer/src/discoverer.hg
@@ -64,7 +64,6 @@ public:
#m4 _CONVERSION(`GstDiscovererInfo*', `const Glib::RefPtr<DiscovererInfo>&', `Gst::wrap($3,true)')
#m4 _CONVERSION(`const GError*', `const Glib::Error&', `Glib::Error(const_cast<GError*>($3), true)')
- //TODO: Docs?
_WRAP_SIGNAL(void discovered(const Glib::RefPtr<DiscovererInfo>& info, const Glib::Error& error), "discovered")
_WRAP_SIGNAL(void finished(), "finished")
diff --git a/gstreamer/src/element.hg b/gstreamer/src/element.hg
index e393e02..ea641a8 100644
--- a/gstreamer/src/element.hg
+++ b/gstreamer/src/element.hg
@@ -345,18 +345,11 @@ public:
_WRAP_METHOD(bool implements_interface(GType iface_type) const, gst_element_implements_interface)
- /** This signals that the element will not generate more dynamic pads.
- */
_WRAP_SIGNAL(void no_more_pads(), "no-more-pads")
#m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Gst::Pad>&',`Glib::wrap($3, true)')
- /** Signals that a new Gst::Pad has been added to the element.
- */
_WRAP_SIGNAL(void pad_added(const Glib::RefPtr<Gst::Pad>& new_pad), "pad-added")
-
- /** Signals that a Gst::Pad has been removed from the element.
- */
_WRAP_SIGNAL(void pad_removed(const Glib::RefPtr<Gst::Pad>& old_pad), "pad-removed")
#m4 _CONVERSION(`GstPadTemplate*', `const Glib::RefPtr<const Gst::PadTemplate>&', `Glib::wrap(($3), true)')
diff --git a/gstreamer/src/gst_docs.xml b/gstreamer/src/gst_docs.xml
index c159eab..33f518f 100644
--- a/gstreamer/src/gst_docs.xml
+++ b/gstreamer/src/gst_docs.xml
@@ -1,6829 +1,6516 @@
<root>
-<function name="gst_adapter_available">
+<signal name="GstAppSink::eos">
<description>
-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.
-
+Signal that the end-of-stream has been reached. This signal is emitted from
+the steaming thread.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+<parameter name="appsink">
+<parameter_description> the appsink element that emitted the signal
</parameter_description>
</parameter>
</parameters>
-<return> number of bytes available in @adapter
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_adapter_available_fast">
+<signal name="GstAppSink::new-buffer">
<description>
-Gets the maximum number of bytes that are immediately available without
-requiring any expensive operations (like copying the data into a
-temporary buffer).
+Signal that a new buffer is available.
+This signal is emitted 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 emitted when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+<parameter name="appsink">
+<parameter_description> the appsink element that emitted the signal
</parameter_description>
</parameter>
</parameters>
-<return> number of bytes that are available in @adapter without expensive
-operations
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_adapter_clear">
+<signal name="GstAppSink::new-buffer-list">
<description>
-Removes all buffers from @adapter.
+Signal that a new bufferlist is available.
+
+This signal is emitted 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 emitted when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+<parameter name="appsink">
+<parameter_description> the appsink element that emitted the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_adapter_copy">
+<signal name="GstAppSink::new-preroll">
<description>
-Copies @size bytes of data starting at @offset out of the buffers
-contained in @GstAdapter into an array @dest provided by the caller.
+Signal that a new preroll buffer is available.
-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.
+This signal is emitted 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 emitted when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
-</parameter_description>
-</parameter>
-<parameter name="dest">
-<parameter_description> the memory to copy into
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> the bytes offset in the adapter to start from
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> the number of bytes to copy
+<parameter name="appsink">
+<parameter_description> the appsink element that emitted the signal
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_adapter_flush">
+<signal name="GstAppSink::pull-buffer">
<description>
-Flushes the first @flush bytes in the @adapter. The caller must ensure that
-at least this many bytes are available.
+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.
-See also: gst_adapter_peek().
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
-</parameter_description>
-</parameter>
-<parameter name="flush">
-<parameter_description> the number of bytes to flush
+<parameter name="appsink">
+<parameter_description> the appsink element to emit this signal on
</parameter_description>
</parameter>
</parameters>
-<return></return>
-</function>
+<return> a #GstBuffer or NULL when the appsink is stopped or EOS.
+</return>
+</signal>
-<function name="gst_adapter_masked_scan_uint32">
+<signal name="GstAppSink::pull-buffer-list">
<description>
-Scan for pattern @pattern with applied mask @mask in the adapter data,
-starting from offset @offset.
+This function blocks until a buffer list or EOS becomes available or the appsink
+element is set to the READY/NULL state.
-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.
+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.
-It is an error to call this function without making sure that there is
-enough data (offset+size bytes) in the adapter.
+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.
-This function calls gst_adapter_masked_scan_uint32_peek() passing NULL
-for value.
+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.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
-</parameter_description>
-</parameter>
-<parameter name="mask">
-<parameter_description> mask to apply to data before matching against @pattern
-</parameter_description>
-</parameter>
-<parameter name="pattern">
-<parameter_description> pattern to match (after mask is applied)
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset into the adapter data from which to start scanning, returns
-the last scanned position.
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> number of bytes to scan from offset
+<parameter name="appsink">
+<parameter_description> the appsink element to emit this signal on
</parameter_description>
</parameter>
</parameters>
-<return> offset of the first match, or -1 if no match was found.
-
-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>
-
+<return> a #GstBufferList or NULL when the appsink is stopped or EOS.
</return>
-</function>
+</signal>
-<function name="gst_adapter_masked_scan_uint32_peek">
+<signal name="GstAppSink::pull-preroll">
<description>
-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.
+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.
-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.
+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.
-It is an error to call this function without making sure that there is
-enough data (offset+size bytes) in the adapter.
+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.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
-</parameter_description>
-</parameter>
-<parameter name="mask">
-<parameter_description> mask to apply to data before matching against @pattern
-</parameter_description>
-</parameter>
-<parameter name="pattern">
-<parameter_description> pattern to match (after mask is applied)
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset into the adapter data from which to start scanning, returns
-the last scanned position.
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> number of bytes to scan from offset
-</parameter_description>
-</parameter>
-<parameter name="value">
-<parameter_description> pointer to uint32 to return matching data
+<parameter name="appsink">
+<parameter_description> the appsink element to emit this signal on
</parameter_description>
</parameter>
</parameters>
-<return> offset of the first match, or -1 if no match was found.
-
+<return> a #GstBuffer or NULL when the appsink is stopped or EOS.
</return>
-</function>
+</signal>
-<function name="gst_adapter_new">
+<signal name="GstAppSrc::block">
<description>
-Creates a new #GstAdapter. Free with g_object_unref().
+When max-bytes are queued and after the enough-data signal has been emitted,
+block any further push-buffer calls until the amount of queued bytes drops
+below the max-bytes limit.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
+<signal name="GstAppSrc::caps">
+<description>
+The GstCaps that will negotiated downstream and will be put
+on outgoing buffers.
</description>
<parameters>
</parameters>
-<return> a new #GstAdapter
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_adapter_peek">
+<signal name="GstAppSrc::emit-signals">
<description>
-Gets the first @size bytes stored in the @adapter. The returned pointer is
-valid until the next function is called on the adapter.
+Make appsrc emit the "need-data", "enough-data" and "seek-data" signals.
+This option is by default enabled for backwards compatibility reasons but
+can disabled when needed because signal emission is expensive.
-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().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstAppSrc::empty-percent">
+<description>
+Make appsrc emit the "need-data" signal when the amount of bytes in the
+queue drops below this percentage of max-bytes.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstAppSrc::end-of-stream">
+<description>
+Notify @appsrc that no more buffer are available.
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> the appsrc
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> the number of bytes to peek
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstAppSrc::enough-data">
+<description>
+Signal that the source has enough data. It is recommended that the
+application stops calling push-buffer until the need-data signal is
+emitted again to avoid excessive buffer queueing.
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> the appsrc element that emitted the signal
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to the first
- size bytes of data, or NULL
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_adapter_prev_timestamp">
+<signal name="GstAppSrc::format">
<description>
-Get the timestamp that was before the current byte in the adapter. When
- distance is given, the amount of bytes between the timestamp and the current
-position is returned.
+The format to use for segment events. When the source is producing
+timestamped buffers this property should be set to GST_FORMAT_TIME.
-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.
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
+<signal name="GstAppSrc::is-live">
+<description>
+Instruct the source to behave like a live source. This includes that it
+will only push out buffers in the PLAYING state.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
-</parameter_description>
-</parameter>
-<parameter name="distance">
-<parameter_description> pointer to location for distance, or NULL
-</parameter_description>
-</parameter>
</parameters>
-<return> The previously seen timestamp.
+<return></return>
+</signal>
-</return>
-</function>
+<signal name="GstAppSrc::max-bytes">
+<description>
+The maximum amount of bytes that can be queued internally.
+After the maximum amount of bytes are queued, appsrc will emit the
+"enough-data" signal.
-<function name="gst_adapter_push">
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstAppSrc::max-latency">
<description>
-Adds the data from @buf to the data stored inside @adapter and takes
-ownership of the buffer.
+The maximum latency of the source. A value of -1 means an unlimited amout
+of latency.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
-</parameter_description>
-</parameter>
-<parameter name="buf">
-<parameter_description> a #GstBuffer to add to queue in the adapter
-</parameter_description>
-</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_adapter_take">
+<signal name="GstAppSrc::min-latency">
<description>
-Returns a freshly allocated buffer containing the first @nbytes bytes of the
- adapter The returned bytes will be flushed from the adapter.
+The minimum latency of the source. A value of -1 will use the default
+latency calculations of #GstBaseSrc.
-Caller owns returned value. g_free after usage.
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
-Free-function: g_free
+<signal name="GstAppSrc::need-data">
+<description>
+Signal that the source needs more data. In the callback or from another
+thread you should call push-buffer or end-of-stream.
+ length is just a hint and when it is set to -1, any number of bytes can be
+pushed into @appsrc.
+
+You can call push-buffer multiple times until the enough-data signal is
+fired.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+<parameter name="appsrc">
+<parameter_description> the appsrc element that emitted the signal
</parameter_description>
</parameter>
-<parameter name="nbytes">
-<parameter_description> the number of bytes to take
+<parameter name="length">
+<parameter_description> the amount of bytes needed.
</parameter_description>
</parameter>
</parameters>
-<return> oven-fresh hot data, or
-#NULL if @nbytes bytes are not available
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_adapter_take_buffer">
+<signal name="GstAppSrc::push-buffer">
<description>
-Returns a #GstBuffer containing the first @nbytes bytes of the
- adapter The returned bytes will be flushed from the adapter.
-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.
-
-Free-function: gst_buffer_unref
+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.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+<parameter name="appsrc">
+<parameter_description> the appsrc
</parameter_description>
</parameter>
-<parameter name="nbytes">
-<parameter_description> the number of bytes to take
+<parameter name="buffer">
+<parameter_description> a buffer to push
</parameter_description>
</parameter>
</parameters>
-<return> a #GstBuffer containing the first @nbytes of
-the adapter, or #NULL if @nbytes bytes are not available
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_adapter_take_list">
+<signal name="GstAppSrc::seek-data">
<description>
-Returns a #GList of buffers containing the first @nbytes bytes of the
- adapter The returned bytes will be flushed from the adapter.
-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.
+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.
</description>
<parameters>
-<parameter name="adapter">
-<parameter_description> a #GstAdapter
+<parameter name="appsrc">
+<parameter_description> the appsrc element that emitted the signal
</parameter_description>
</parameter>
-<parameter name="nbytes">
-<parameter_description> the number of bytes to take
+<parameter name="offset">
+<parameter_description> the offset to seek to
</parameter_description>
</parameter>
</parameters>
-<return> a #GList of buffers
-containing the first @nbytes of the adapter, or #NULL if @nbytes bytes
-are not available
-
+<return> %TRUE if the seek succeeded.
</return>
-</function>
+</signal>
-<function name="gst_alloc_trace_available">
+<signal name="GstAppSrc::size">
<description>
-Check if alloc tracing was compiled into the core
-
+The total size in bytes of the data stream. If the total size is known, it
+is recommended to configure it with this property.
</description>
<parameters>
</parameters>
-<return> TRUE if the core was compiled with alloc
-tracing enabled.
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_alloc_trace_get">
+<signal name="GstAppSrc::stream-type">
<description>
-Get the named alloc trace object.
-
+The type of stream that this source is producing. For seekable streams the
+application should connect to the seek-data signal.
</description>
<parameters>
-<parameter name="name">
-<parameter_description> the name of the alloc trace object
-</parameter_description>
-</parameter>
</parameters>
-<return> a GstAllocTrace with the given name or NULL when
-no alloc tracer was registered with that name.
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_alloc_trace_list">
+<signal name="GstBaseRTPDepayload::queue-delay">
<description>
-Get a list of all registered alloc trace objects.
+Control the amount of packets to buffer.
+Deprecated: Use a jitterbuffer or RTP session manager to delay packet
+playback. This property has no effect anymore since 0.10.15.
</description>
<parameters>
</parameters>
-<return> a GList of GstAllocTrace objects.
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_alloc_trace_live_all">
+<signal name="GstBin::do-latency">
<description>
-Get the total number of live registered alloc trace objects.
+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.
</description>
<parameters>
+<parameter name="bin">
+<parameter_description> the #GstBin
+</parameter_description>
+</parameter>
</parameters>
-<return> the total number of live registered alloc trace objects.
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_alloc_trace_print">
+<signal name="GstBin::element-added">
<description>
-Print the status of the given GstAllocTrace.
+Will be emitted after the element was added to the bin.
</description>
<parameters>
-<parameter name="trace">
-<parameter_description> the GstAllocTrace to print
+<parameter name="bin">
+<parameter_description> the #GstBin
+</parameter_description>
+</parameter>
+<parameter name="element">
+<parameter_description> the #GstElement that was added to the bin
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_alloc_trace_print_all">
+<signal name="GstBin::element-removed">
<description>
-Print the status of all registered alloc trace objects.
+Will be emitted after the element was removed from the bin.
</description>
<parameters>
+<parameter name="bin">
+<parameter_description> the #GstBin
+</parameter_description>
+</parameter>
+<parameter name="element">
+<parameter_description> the #GstElement that was removed from the bin
+</parameter_description>
+</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_alloc_trace_print_live">
+<signal name="GstBus::message">
<description>
-Print the status of all registered alloc trace objects, ignoring those
-without live objects.
+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.
</description>
<parameters>
+<parameter name="bus">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+<parameter name="message">
+<parameter_description> the message that has been posted asynchronously
+</parameter_description>
+</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_alloc_trace_set_flags">
+<signal name="GstBus::sync-message">
<description>
-Enable the given features on the given GstAllocTrace object.
+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>
</description>
<parameters>
-<parameter name="trace">
-<parameter_description> the GstAllocTrace
+<parameter name="bus">
+<parameter_description> the object which received the signal
</parameter_description>
</parameter>
-<parameter name="flags">
-<parameter_description> flags to set
+<parameter name="message">
+<parameter_description> the message that has been posted synchronously
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_alloc_trace_set_flags_all">
+<signal name="GstChildProxy::child-added">
<description>
-Enable the specified options on all registered alloc trace
-objects.
+Will be emitted after the @object was added to the @child_proxy.
</description>
<parameters>
-<parameter name="flags">
-<parameter_description> the options to enable
+<parameter name="child_proxy">
+<parameter_description> the #GstChildProxy
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> the #GObject that was added
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_sink_get_caps">
+<signal name="GstChildProxy::child-removed">
<description>
-Get the configured caps on @appsink.
-
+Will be emitted after the @object was removed from the @child_proxy.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="child_proxy">
+<parameter_description> the #GstChildProxy
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> the #GObject that was removed
</parameter_description>
</parameter>
</parameters>
-<return> the #GstCaps accepted by the sink. gst_caps_unref() after usage.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_get_drop">
+<signal name="GstColorBalance::value-changed">
<description>
-Check if @appsink will drop old buffers when the maximum amount of queued
-buffers is reached.
-
+Fired when the value of the indicated channel has changed.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="colorbalance">
+<parameter_description> The GstColorBalance instance
+</parameter_description>
+</parameter>
+<parameter name="channel">
+<parameter_description> The #GstColorBalanceChannel
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> The new value
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @appsink is dropping old buffers when the queue is
-filled.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_get_emit_signals">
+<signal name="GstColorBalanceChannel::value-changed">
<description>
-Check if appsink will emit the "new-preroll" and "new-buffer" signals.
-
+Fired when the value of the indicated channel has changed.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="channel">
+<parameter_description> The #GstColorBalanceChannel
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> The new value
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @appsink is emiting the "new-preroll" and "new-buffer"
-signals.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_get_max_buffers">
+<signal name="GstDataQueue::empty">
<description>
-Get the maximum amount of buffers that can be queued in @appsink.
-
+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.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="queue">
+<parameter_description> the queue instance
</parameter_description>
</parameter>
</parameters>
-<return> The maximum amount of buffers that can be queued.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_is_eos">
+<signal name="GstDataQueue::full">
<description>
-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.
-
+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.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="queue">
+<parameter_description> the queue instance
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if no more buffers can be pulled and the appsink is EOS.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_pull_buffer">
+<signal name="GstDiscoverer::discovered">
<description>
-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.
-
+Will be emitted when all information on a URI could be discovered.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="discoverer">
+<parameter_description> the #GstDiscoverer
+</parameter_description>
+</parameter>
+<parameter name="info">
+<parameter_description> the results #GstDiscovererInfo
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError, which will be non-NULL if an error
+occurred during discovery
</parameter_description>
</parameter>
</parameters>
-<return> a #GstBuffer or NULL when the appsink is stopped or EOS.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_pull_buffer_list">
+<signal name="GstDiscoverer::finished">
<description>
-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.
-
+Will be emitted when all pending URIs have been processed.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="discoverer">
+<parameter_description> the #GstDiscoverer
</parameter_description>
</parameter>
</parameters>
-<return> a #GstBufferList or NULL when the appsink is stopped or EOS.
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_pull_preroll">
+<signal name="GstDiscoverer::starting">
<description>
-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.
-
+Will be emitted when the discover starts analyzing the pending URIs
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="discoverer">
+<parameter_description> the #GstDiscoverer
</parameter_description>
</parameter>
</parameters>
-<return> a #GstBuffer or NULL when the appsink is stopped or EOS.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_sink_set_callbacks">
+<signal name="GstElement::no-more-pads">
<description>
-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.
+This signals that the element will not generate more dynamic pads.
+Note that this signal will usually be emitted from the context of
+the streaming thread.
-If callbacks are installed, no signals will be emited for performance
-reasons.
+</description>
+<parameters>
+<parameter name="gstelement">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+<signal name="GstElement::pad-added">
+<description>
+a new #GstPad has been added to the element. Note that this signal will
+usually be emitted from the context of the streaming thread. Also keep in
+mind that if you add new elements to the pipeline in the signal handler
+you will need to set them to the desired target state with
+gst_element_set_state() or gst_element_sync_state_with_parent().
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="gstelement">
+<parameter_description> the object which received the signal
</parameter_description>
</parameter>
-<parameter name="callbacks">
-<parameter_description> the callbacks
+<parameter name="new_pad">
+<parameter_description> the pad that has been added
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> a user_data argument for the callbacks
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GstElement::pad-removed">
+<description>
+a #GstPad has been removed from the element
+
+</description>
+<parameters>
+<parameter name="gstelement">
+<parameter_description> the object which received the signal
</parameter_description>
</parameter>
-<parameter name="notify">
-<parameter_description> a destroy notify function
+<parameter name="old_pad">
+<parameter_description> the pad that has been removed
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_sink_set_caps">
+<signal name="GstIndex::entry-added">
<description>
-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.
-
+Is emitted when a new entry is added to the index.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="gstindex">
+<parameter_description> the object which received the signal.
</parameter_description>
</parameter>
-<parameter name="caps">
-<parameter_description> caps to set
+<parameter name="arg1">
+<parameter_description> The entry added to the index.
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_sink_set_drop">
+<signal name="GstObject::deep-notify">
<description>
-Instruct @appsink to drop old buffers when the maximum amount of queued
-buffers is reached.
-
+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.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="gstobject">
+<parameter_description> a #GstObject
</parameter_description>
</parameter>
-<parameter name="drop">
-<parameter_description> the new state
+<parameter name="prop_object">
+<parameter_description> the object that originated the signal
+</parameter_description>
+</parameter>
+<parameter name="prop">
+<parameter_description> the property that changed
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_sink_set_emit_signals">
+<signal name="GstObject::object-saved">
<description>
-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.
-
+Trigered whenever a new object is saved to XML. You can connect to this
+signal to insert custom XML tags into the core XML.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="gstobject">
+<parameter_description> a #GstObject
</parameter_description>
</parameter>
-<parameter name="emit">
-<parameter_description> the new state
+<parameter name="xml_node">
+<parameter_description> the xmlNodePtr of the parent node
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_sink_set_max_buffers">
+<signal name="GstObject::parent-set">
<description>
-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.
-
+Emitted when the parent of an object is set.
</description>
<parameters>
-<parameter name="appsink">
-<parameter_description> a #GstAppSink
+<parameter name="gstobject">
+<parameter_description> a #GstObject
</parameter_description>
</parameter>
-<parameter name="max">
-<parameter_description> the maximum number of buffers to queue
+<parameter name="parent">
+<parameter_description> the new parent
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_end_of_stream">
+<signal name="GstObject::parent-unset">
<description>
-Indicates to the appsrc element that the last buffer queued in the
-element is the last buffer of the stream.
-
+Emitted when the parent of an object is unset.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="gstobject">
+<parameter_description> a #GstObject
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> the old parent
</parameter_description>
</parameter>
</parameters>
-<return> #GST_FLOW_OK when the EOS was successfuly queued.
-#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_src_get_caps">
+<signal name="GstPad::have-data">
<description>
-Get the configured caps on @appsrc.
+Signals that new data is available on the pad. This signal is used
+internally for implementing pad probes.
+See gst_pad_add_*_probe functions.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="pad">
+<parameter_description> the pad that emitted the signal
+</parameter_description>
+</parameter>
+<parameter name="mini_obj">
+<parameter_description> new data
</parameter_description>
</parameter>
</parameters>
-<return> the #GstCaps produced by the source. gst_caps_unref() after usage.
-
+<return> %TRUE to keep the data, %FALSE to drop it
</return>
-</function>
+</signal>
-<function name="gst_app_src_get_emit_signals">
+<signal name="GstPad::linked">
<description>
-Check if appsrc will emit the "new-preroll" and "new-buffer" signals.
-
+Signals that a pad has been linked to the peer pad.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="pad">
+<parameter_description> the pad that emitted the signal
+</parameter_description>
+</parameter>
+<parameter name="peer">
+<parameter_description> the peer pad that has been connected
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @appsrc is emiting the "new-preroll" and "new-buffer"
-signals.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_src_get_latency">
+<signal name="GstPad::request-link">
<description>
-Retrieve the min and max latencies in @min and @max respectively.
-
+Signals that a pad connection has been requested.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
-</parameter_description>
-</parameter>
-<parameter name="min">
-<parameter_description> the min latency
+<parameter name="pad">
+<parameter_description> the pad that emitted the signal
</parameter_description>
</parameter>
-<parameter name="max">
-<parameter_description> the min latency
+<parameter name="peer">
+<parameter_description> the peer pad for which a connection is requested
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_get_max_bytes">
+<signal name="GstPad::unlinked">
<description>
-Get the maximum amount of bytes that can be queued in @appsrc.
-
+Signals that a pad has been unlinked from the peer pad.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="pad">
+<parameter_description> the pad that emitted the signal
+</parameter_description>
+</parameter>
+<parameter name="peer">
+<parameter_description> the peer pad that has been disconnected
</parameter_description>
</parameter>
</parameters>
-<return> The maximum amount of bytes that can be queued.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_src_get_size">
+<signal name="GstPadTemplate::pad-created">
<description>
-Get the size of the stream in bytes. A value of -1 means that the size is
-not known.
-
+This signal is fired when an element creates a pad from this template.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="pad_template">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+<parameter name="pad">
+<parameter_description> the pad that was created.
</parameter_description>
</parameter>
</parameters>
-<return> the size of the stream previously set with gst_app_src_set_size();
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_src_get_stream_type">
+<signal name="GstPropertyProbe::probe-needed">
<description>
-Get the stream type. Control the stream type of @appsrc
-with gst_app_src_set_stream_type().
-
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="pspec">
+<parameter_description> #GParamSpec that needs a probe
</parameter_description>
</parameter>
</parameters>
-<return> the stream type.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_src_push_buffer">
+<signal name="GstRegistry::feature-added">
<description>
-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.
-
+Signals that a feature has been added to the registry (possibly
+replacing a previously-added one by the same name)
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="registry">
+<parameter_description> the registry that emitted the signal
</parameter_description>
</parameter>
-<parameter name="buffer">
-<parameter_description> a #GstBuffer to push
+<parameter name="feature">
+<parameter_description> the feature that has been added
</parameter_description>
</parameter>
</parameters>
-<return> #GST_FLOW_OK when the buffer was successfuly queued.
-#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.
-#GST_FLOW_UNEXPECTED when EOS occured.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_app_src_set_callbacks">
+<signal name="GstRegistry::plugin-added">
<description>
-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.
-
+Signals that a plugin has been added to the registry (possibly
+replacing a previously-added one by the same name)
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
-</parameter_description>
-</parameter>
-<parameter name="callbacks">
-<parameter_description> the callbacks
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> a user_data argument for the callbacks
+<parameter name="registry">
+<parameter_description> the registry that emitted the signal
</parameter_description>
</parameter>
-<parameter name="notify">
-<parameter_description> a destroy notify function
+<parameter name="plugin">
+<parameter_description> the plugin that has been added
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_set_caps">
+<signal name="GstTuner::channel-changed">
<description>
-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.
-
+Reports that the current #GstTunerChannel has changed.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="tuner">
+<parameter_description> The element providing the GstTuner interface
</parameter_description>
</parameter>
-<parameter name="caps">
-<parameter_description> caps to set
+<parameter name="channel">
+<parameter_description> The new configured channel.
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_set_emit_signals">
+<signal name="GstTuner::frequency-changed">
<description>
-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.
-
+Reports that the current frequency has changed.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="tuner">
+<parameter_description> The element providing the GstTuner interface
</parameter_description>
</parameter>
-<parameter name="emit">
-<parameter_description> the new state
+<parameter name="frequency">
+<parameter_description> The new frequency (an unsigned long)
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_set_latency">
+<signal name="GstTuner::norm-changed">
<description>
-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.
-
+Reports that the current #GstTunerNorm has changed.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
-</parameter_description>
-</parameter>
-<parameter name="min">
-<parameter_description> the min latency
+<parameter name="tuner">
+<parameter_description> The element providing the GstTuner interface
</parameter_description>
</parameter>
-<parameter name="max">
-<parameter_description> the min latency
+<parameter name="norm">
+<parameter_description> The new configured norm.
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_set_max_bytes">
+<signal name="GstTuner::signal-changed">
<description>
-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.
+Reports that the signal strength has changed.
+See Also: gst_tuner_signal_strength()
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="tuner">
+<parameter_description> The element providing the GstTuner interface
</parameter_description>
</parameter>
-<parameter name="max">
-<parameter_description> the maximum number of bytes to queue
+<parameter name="channel">
+<parameter_description> The current #GstTunerChannel
+</parameter_description>
+</parameter>
+<parameter name="signal">
+<parameter_description> The new signal strength (an integer)
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_set_size">
+<signal name="GstTunerChannel::frequency-changed">
<description>
-Set the size of the stream in bytes. A value of -1 means that the size is
-not known.
-
+Reports that the current frequency has changed.
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="tunerchannel">
+<parameter_description> The #GstTunerChannel
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> the size to set
+<parameter name="frequency">
+<parameter_description> The new frequency (an unsigned long)
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_app_src_set_stream_type">
+<signal name="GstTunerChannel::signal-changed">
<description>
-Set the stream type on @appsrc. For seekable streams, the "seek" signal must
-be connected to.
-
-A stream_type stream
+Reports that the signal strength has changed.
+See Also: gst_tuner_signal_strength()
</description>
<parameters>
-<parameter name="appsrc">
-<parameter_description> a #GstAppSrc
+<parameter name="tunerchannel">
+<parameter_description> The #GstTunerChannel
</parameter_description>
</parameter>
-<parameter name="type">
-<parameter_description> the new state
+<parameter name="signal">
+<parameter_description> The new signal strength (an integer)
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_atomic_int_set">
+<signal name="GstURIHandler::new-uri">
<description>
-Unconditionally sets the atomic integer to @value.
-
-Deprecated: Use g_atomic_int_set().
-
+The URI of the given @handler has changed.
</description>
<parameters>
-<parameter name="atomic_int">
-<parameter_description> pointer to an atomic integer
+<parameter name="handler">
+<parameter_description> The #GstURIHandler which emitted the signal
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> value to set
+<parameter name="uri">
+<parameter_description> The new URI, or NULL if the URI was removed
</parameter_description>
</parameter>
</parameters>
<return></return>
-</function>
+</signal>
-<function name="gst_atomic_queue_length">
+<signal name="GstXML::object-loaded">
<description>
-Get the amount of items in the queue.
-
+Signals that a new object has been deserialized.
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GstAtomicQueue
+<parameter name="xml">
+<parameter_description> the xml persistence instance
+</parameter_description>
+</parameter>
+<parameter name="object">
+<parameter_description> the object that has been loaded
+</parameter_description>
+</parameter>
+<parameter name="xml_node">
+<parameter_description> the related xml_node pointer to the document tree
</parameter_description>
</parameter>
</parameters>
-<return> the number of elements in the queue.
-
-</return>
-</function>
+<return></return>
+</signal>
-<function name="gst_atomic_queue_new">
+<function name="gst_adapter_available">
<description>
-Create a new atomic queue instance. @initial_size will be rounded up to the
-nearest power of 2 and used as the initial size of the queue.
+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.
</description>
<parameters>
-<parameter name="initial_size">
-<parameter_description> initial queue size
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstAtomicQueue
-
+<return> number of bytes available in @adapter
</return>
</function>
-<function name="gst_atomic_queue_peek">
+<function name="gst_adapter_available_fast">
<description>
-Peek the head element of the queue without removing it from the queue.
+Gets the maximum number of bytes that are immediately available without
+requiring any expensive operations (like copying the data into a
+temporary buffer).
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GstAtomicQueue
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
</parameters>
-<return> the head element of @queue or NULL when the queue is empty.
-
+<return> number of bytes that are available in @adapter without expensive
+operations
</return>
</function>
-<function name="gst_atomic_queue_pop">
+<function name="gst_adapter_clear">
<description>
-Get the head element of the queue.
-
+Removes all buffers from @adapter.
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GstAtomicQueue
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
</parameters>
-<return> the head element of @queue or NULL when the queue is empty.
-
-</return>
+<return></return>
</function>
-<function name="gst_atomic_queue_push">
+<function name="gst_adapter_copy">
<description>
-Append @data to the tail of the queue.
+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.
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GstAtomicQueue
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="data">
-<parameter_description> the data
+<parameter name="dest">
+<parameter_description> the memory to copy into
</parameter_description>
</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gst_atomic_queue_ref">
-<description>
-Increase the refcount of @queue.
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GstAtomicQueue
+<parameter name="offset">
+<parameter_description> the bytes offset in the adapter to start from
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the number of bytes to copy
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_atomic_queue_unref">
+<function name="gst_adapter_flush">
<description>
-Unref @queue and free the memory when the refcount reaches 0.
+Flushes the first @flush bytes in the @adapter. The caller must ensure that
+at least this many bytes are available.
+See also: gst_adapter_peek().
</description>
<parameters>
-<parameter name="queue">
-<parameter_description> a #GstAtomicQueue
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
+</parameter_description>
+</parameter>
+<parameter name="flush">
+<parameter_description> the number of bytes to flush
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_audio_buffer_clip">
+<function name="gst_adapter_masked_scan_uint32">
<description>
-Clip the the buffer to the given %GstSegment.
+Scan for pattern @pattern with applied mask @mask in the adapter data,
+starting from offset @offset.
-After calling this function the caller does not own a reference to
- buffer anymore.
+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.
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> The buffer to clip.
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="segment">
-<parameter_description> Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which the buffer should be clipped.
+<parameter name="mask">
+<parameter_description> mask to apply to data before matching against @pattern
</parameter_description>
</parameter>
-<parameter name="rate">
-<parameter_description> sample rate.
+<parameter name="pattern">
+<parameter_description> pattern to match (after mask is applied)
</parameter_description>
</parameter>
-<parameter name="frame_size">
-<parameter_description> size of one audio frame in bytes.
+<parameter name="offset">
+<parameter_description> offset into the adapter data from which to start scanning, returns
+the last scanned position.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> number of bytes to scan from offset
</parameter_description>
</parameter>
</parameters>
-<return> %NULL if the buffer is completely outside the configured segment,
-otherwise the clipped buffer is returned.
-
-If the buffer has no timestamp, it is assumed to be inside the segment and
-is not clipped
-
-</return>
-</function>
-
-<function name="gst_audio_check_channel_positions">
-<description>
-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>
+<return> offset of the first match, or -1 if no match was found.
+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>
-</description>
-<parameters>
-<parameter name="pos">
-<parameter_description> An array of #GstAudioChannelPosition.
-</parameter_description>
-</parameter>
-<parameter name="channels">
-<parameter_description> The number of elements in @pos.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the given channel positions are valid
-and %FALSE otherwise.
</return>
</function>
-<function name="gst_audio_clock_adjust">
+<function name="gst_adapter_masked_scan_uint32_peek">
<description>
-Adjust @time with the internal offset of the audio clock.
+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.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstAudioClock
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="time">
-<parameter_description> a #GstClockTime
+<parameter name="mask">
+<parameter_description> mask to apply to data before matching against @pattern
</parameter_description>
</parameter>
-</parameters>
-<return> @time adjusted with the internal offset.
-
-</return>
-</function>
-
-<function name="gst_audio_clock_get_time">
-<description>
-Report the time as returned by the #GstAudioClockGetTimeFunc without applying
-any offsets.
-
-
-</description>
-<parameters>
-<parameter name="clock">
-<parameter_description> a #GstAudioClock
+<parameter name="pattern">
+<parameter_description> pattern to match (after mask is applied)
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset into the adapter data from which to start scanning, returns
+the last scanned position.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> number of bytes to scan from offset
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> pointer to uint32 to return matching data
</parameter_description>
</parameter>
</parameters>
-<return> the time as reported by the time function of the audio clock
+<return> offset of the first match, or -1 if no match was found.
</return>
</function>
-<function name="gst_audio_clock_invalidate">
+<function name="gst_adapter_new">
<description>
-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.
+Creates a new #GstAdapter. Free with g_object_unref().
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstAudioClock
-</parameter_description>
-</parameter>
</parameters>
-<return></return>
+<return> a new #GstAdapter
+</return>
</function>
-<function name="gst_audio_clock_new">
+<function name="gst_adapter_peek">
<description>
-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.
+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().
</description>
<parameters>
-<parameter name="name">
-<parameter_description> the name of the clock
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> a function
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data
+<parameter name="size">
+<parameter_description> the number of bytes to peek
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstAudioClock casted to a #GstClock.
+<return> a pointer to the first
+ size bytes of data, or NULL
</return>
</function>
-<function name="gst_audio_clock_new_full">
+<function name="gst_adapter_prev_timestamp">
<description>
-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.
+Get the timestamp that was before the current byte in the adapter. When
+ distance is given, the amount of bytes between the timestamp and the current
+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.
</description>
<parameters>
-<parameter name="name">
-<parameter_description> the name of the clock
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> a function
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> user data
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="destroy_notify">
-<parameter_description> #GDestroyNotify for @user_data
+<parameter name="distance">
+<parameter_description> pointer to location for distance, or NULL
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstAudioClock casted to a #GstClock.
+<return> The previously seen timestamp.
</return>
</function>
-<function name="gst_audio_clock_reset">
+<function name="gst_adapter_push">
<description>
-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.
+Adds the data from @buf to the data stored inside @adapter and takes
+ownership of the buffer.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstAudioClock
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="time">
-<parameter_description> a #GstClockTime
+<parameter name="buf">
+<parameter_description> a #GstBuffer to add to queue in the adapter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_audio_default_registry_mixer_filter">
+<function name="gst_adapter_take">
<description>
-Utility function to find audio mixer elements.
+Returns a freshly allocated buffer containing the first @nbytes bytes of the
+ adapter The returned bytes will be flushed from the adapter.
-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.
+Caller owns returned value. g_free after usage.
+
+Free-function: g_free
</description>
<parameters>
-<parameter name="filter_func">
-<parameter_description> filter function, or #NULL
-</parameter_description>
-</parameter>
-<parameter name="first">
-<parameter_description> set to #TRUE if you only want the first suitable mixer element
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data to pass to the filter function
+<parameter name="nbytes">
+<parameter_description> the number of bytes to take
</parameter_description>
</parameter>
</parameters>
-<return> a #GList of audio mixer #GstElement<!-- -->s. You must free each
-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().
-
+<return> oven-fresh hot data, or
+#NULL if @nbytes bytes are not available
</return>
</function>
-<function name="gst_audio_duration_from_pad_buffer">
+<function name="gst_adapter_take_buffer">
<description>
-Calculate length in nanoseconds of audio buffer @buf based on capabilities of
- pad
+Returns a #GstBuffer containing the first @nbytes bytes of the
+ adapter The returned bytes will be flushed from the adapter.
+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.
+
+Free-function: gst_buffer_unref
</description>
<parameters>
-<parameter name="pad">
-<parameter_description> the #GstPad to get the caps from
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="buf">
-<parameter_description> the #GstBuffer
+<parameter name="nbytes">
+<parameter_description> the number of bytes to take
</parameter_description>
</parameter>
</parameters>
-<return> the length.
+<return> a #GstBuffer containing the first @nbytes of
+the adapter, or #NULL if @nbytes bytes are not available
+
</return>
</function>
-<function name="gst_audio_filter_class_add_pad_templates">
+<function name="gst_adapter_take_list">
<description>
-Convenience function to add pad templates to this element class, with
- allowed_caps as the caps that can be handled.
+Returns a #GList of buffers containing the first @nbytes bytes of the
+ adapter The returned bytes will be flushed from the adapter.
+When the caller can deal with individual buffers, this function is more
+performant because no memory should be copied.
-This function is usually used from within a GObject base_init function.
+Caller owns returned list and contained buffers. gst_buffer_unref() each
+buffer in the list before freeing the list after usage.
</description>
<parameters>
-<parameter name="klass">
-<parameter_description> an #GstAudioFilterClass
+<parameter name="adapter">
+<parameter_description> a #GstAdapter
</parameter_description>
</parameter>
-<parameter name="allowed_caps">
-<parameter_description> what formats the filter can handle, as #GstCaps
+<parameter name="nbytes">
+<parameter_description> the number of bytes to take
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GList of buffers
+containing the first @nbytes of the adapter, or #NULL if @nbytes bytes
+are not available
+
+</return>
</function>
-<function name="gst_audio_fixate_channel_positions">
+<function name="gst_alloc_trace_available">
<description>
-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.
+Check if alloc tracing was compiled into the core
</description>
<parameters>
-<parameter name="str">
-<parameter_description> a #GstStructure containing a (possibly unfixed)
-"channel-positions" field.
-</parameter_description>
-</parameter>
</parameters>
-<return> fixed values that the caller could use as a fixed
-set of #GstAudioChannelPosition values.
+<return> TRUE if the core was compiled with alloc
+tracing enabled.
</return>
</function>
-<function name="gst_audio_frame_byte_size">
+<function name="gst_alloc_trace_get">
<description>
-Calculate byte size of an audio frame.
+Get the named alloc trace object.
</description>
<parameters>
-<parameter name="pad">
-<parameter_description> the #GstPad to get the caps from
+<parameter name="name">
+<parameter_description> the name of the alloc trace object
</parameter_description>
</parameter>
</parameters>
-<return> the byte size, or 0 if there was an error
+<return> a GstAllocTrace with the given name or NULL when
+no alloc tracer was registered with that name.
</return>
</function>
-<function name="gst_audio_frame_length">
+<function name="gst_alloc_trace_list">
<description>
-Calculate length of buffer in frames.
+Get a list of all registered alloc trace objects.
</description>
<parameters>
-<parameter name="pad">
-<parameter_description> the #GstPad to get the caps from
-</parameter_description>
-</parameter>
-<parameter name="buf">
-<parameter_description> the #GstBuffer
-</parameter_description>
-</parameter>
</parameters>
-<return> 0 if there's an error, or the number of frames if everything's ok
+<return> a GList of GstAllocTrace objects.
</return>
</function>
-<function name="gst_audio_get_channel_positions">
+<function name="gst_alloc_trace_live_all">
<description>
-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.
+Get the total number of live registered alloc trace objects.
</description>
<parameters>
-<parameter name="str">
-<parameter_description> A #GstStructure to retrieve channel positions from.
-</parameter_description>
-</parameter>
</parameters>
-<return> a newly allocated array containing the channel
-positions as provided in the given #GstStructure. Returns
-NULL on error.
+<return> the total number of live registered alloc trace objects.
</return>
</function>
-<function name="gst_audio_is_buffer_framed">
+<function name="gst_alloc_trace_print">
<description>
-Check if the buffer size is a whole multiple of the frame size.
-
+Print the status of the given GstAllocTrace.
</description>
<parameters>
-<parameter name="pad">
-<parameter_description> the #GstPad to get the caps from
-</parameter_description>
-</parameter>
-<parameter name="buf">
-<parameter_description> the #GstBuffer
+<parameter name="trace">
+<parameter_description> the GstAllocTrace to print
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if buffer size is multiple.
-</return>
+<return></return>
</function>
-<function name="gst_audio_set_caps_channel_positions_list">
+<function name="gst_alloc_trace_print_all">
<description>
-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.
+Print the status of all registered alloc trace objects.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> #GstCaps to set the list of channel positions on.
-</parameter_description>
-</parameter>
-<parameter name="pos">
-<parameter_description> the array containing one or more possible audio
-channel positions that we should add in each value
-of the array in the given structure.
-</parameter_description>
-</parameter>
-<parameter name="num_positions">
-<parameter_description> the number of values in pos.
-</parameter_description>
-</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_audio_set_channel_positions">
+<function name="gst_alloc_trace_print_live">
<description>
-Adds a "channel-positions" field to the given #GstStructure,
-which will represent the channel positions as given in the
-provided #GstAudioChannelPosition array.
+Print the status of all registered alloc trace objects, ignoring those
+without live objects.
</description>
<parameters>
-<parameter name="str">
-<parameter_description> A #GstStructure to set channel positions on.
-</parameter_description>
-</parameter>
-<parameter name="pos">
-<parameter_description> 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.
-</parameter_description>
-</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_audio_set_structure_channel_positions_list">
+<function name="gst_alloc_trace_set_flags">
<description>
-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.
+Enable the given features on the given GstAllocTrace object.
</description>
<parameters>
-<parameter name="str">
-<parameter_description> #GstStructure to set the list of channel positions
-on.
-</parameter_description>
-</parameter>
-<parameter name="pos">
-<parameter_description> the array containing one or more possible audio
-channel positions that we should add in each value
-of the array in the given structure.
+<parameter name="trace">
+<parameter_description> the GstAllocTrace
</parameter_description>
</parameter>
-<parameter name="num_positions">
-<parameter_description> the number of values in pos.
+<parameter name="flags">
+<parameter_description> flags to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_audio_structure_set_int">
+<function name="gst_alloc_trace_set_flags_all">
<description>
-Do not use anymore.
-
-Deprecated: use gst_structure_set()
+Enable the specified options on all registered alloc trace
+objects.
</description>
<parameters>
-<parameter name="structure">
-<parameter_description> a #GstStructure
-</parameter_description>
-</parameter>
-<parameter name="flag">
-<parameter_description> a set of #GstAudioFieldFlag
+<parameter name="flags">
+<parameter_description> the options to enable
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_audio_sink_create_ringbuffer">
+<function name="gst_app_sink_get_caps">
<description>
-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()).
+Get the configured caps on @appsink.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink.
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return> The new ringbuffer of @sink.
+<return> the #GstCaps accepted by the sink. gst_caps_unref() after usage.
+
</return>
</function>
-<function name="gst_base_audio_sink_get_drift_tolerance">
+<function name="gst_app_sink_get_drop">
<description>
-Get the current drift tolerance, in microseconds, used by @sink.
+Check if @appsink will drop old buffers when the maximum amount of queued
+buffers is reached.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return> The current drift tolerance used by @sink.
+<return> %TRUE if @appsink is dropping old buffers when the queue is
+filled.
</return>
</function>
-<function name="gst_base_audio_sink_get_provide_clock">
+<function name="gst_app_sink_get_emit_signals">
<description>
-Queries whether @sink will provide a clock or not. See also
-gst_base_audio_sink_set_provide_clock.
+Check if appsink will emit the "new-preroll" and "new-buffer" signals.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @sink will provide a clock.
+<return> %TRUE if @appsink is emitting the "new-preroll" and "new-buffer"
+signals.
</return>
</function>
-<function name="gst_base_audio_sink_get_slave_method">
+<function name="gst_app_sink_get_max_buffers">
<description>
-Get the current slave method used by @sink.
+Get the maximum amount of buffers that can be queued in @appsink.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return> The current slave method used by @sink.
+<return> The maximum amount of buffers that can be queued.
</return>
</function>
-<function name="gst_base_audio_sink_set_drift_tolerance">
+<function name="gst_app_sink_is_eos">
<description>
-Controls the sink's drift tolerance.
+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.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink
-</parameter_description>
-</parameter>
-<parameter name="drift_tolerance">
-<parameter_description> the new drift tolerance in microseconds
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if no more buffers can be pulled and the appsink is EOS.
+
+</return>
</function>
-<function name="gst_base_audio_sink_set_provide_clock">
+<function name="gst_app_sink_pull_buffer">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink
-</parameter_description>
-</parameter>
-<parameter name="provide">
-<parameter_description> new state
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstBuffer or NULL when the appsink is stopped or EOS.
+
+</return>
</function>
-<function name="gst_base_audio_sink_set_slave_method">
+<function name="gst_app_sink_pull_buffer_list">
<description>
-Controls how clock slaving will be performed in @sink.
+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.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseAudioSink
-</parameter_description>
-</parameter>
-<parameter name="method">
-<parameter_description> the new slave method
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstBufferList or NULL when the appsink is stopped or EOS.
+</return>
</function>
-<function name="gst_base_audio_src_create_ringbuffer">
+<function name="gst_app_sink_pull_preroll">
<description>
-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()).
+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.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstBaseAudioSrc.
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
</parameters>
-<return> The new ringbuffer of @src.
+<return> a #GstBuffer or NULL when the appsink is stopped or EOS.
+
</return>
</function>
-<function name="gst_base_audio_src_get_provide_clock">
+<function name="gst_app_sink_set_callbacks">
<description>
-Queries whether @src will provide a clock or not. See also
-gst_base_audio_src_set_provide_clock.
+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 emitted for performance
+reasons.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstBaseAudioSrc
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
+</parameter_description>
+</parameter>
+<parameter name="callbacks">
+<parameter_description> the callbacks
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a user_data argument for the callbacks
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> a destroy notify function
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @src will provide a clock.
-
-</return>
+<return></return>
</function>
-<function name="gst_base_audio_src_get_slave_method">
+<function name="gst_app_sink_set_caps">
<description>
-Get the current slave method used by @src.
+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.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstBaseAudioSrc
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> caps to set
</parameter_description>
</parameter>
</parameters>
-<return> The current slave method used by @src.
-
-</return>
+<return></return>
</function>
-<function name="gst_base_audio_src_set_provide_clock">
+<function name="gst_app_sink_set_drop">
<description>
-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.
+Instruct @appsink to drop old buffers when the maximum amount of queued
+buffers is reached.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstBaseAudioSrc
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
-<parameter name="provide">
-<parameter_description> new state
+<parameter name="drop">
+<parameter_description> the new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_audio_src_set_slave_method">
+<function name="gst_app_sink_set_emit_signals">
<description>
-Controls how clock slaving will be performed in @src.
+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.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstBaseAudioSrc
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
-<parameter name="method">
-<parameter_description> the new slave method
+<parameter name="emit">
+<parameter_description> the new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_add_index_entry">
+<function name="gst_app_sink_set_max_buffers">
<description>
-Adds an entry to the index associating @offset to @ts. It is recommended
-to only add keyframe entries. @force allows to bypass checks, such as
-whether the stream is (upstream) seekable, another entry is already "close"
-to the new entry, etc.
+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.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> #GstBaseParse.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset of entry
+<parameter name="appsink">
+<parameter_description> a #GstAppSink
</parameter_description>
</parameter>
-<parameter name="ts">
-<parameter_description> timestamp associated with offset
+<parameter name="max">
+<parameter_description> the maximum number of buffers to queue
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> whether entry refers to keyframe
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_app_src_end_of_stream">
+<description>
+Indicates to the appsrc element that the last buffer queued in the
+element is the last buffer of the stream.
+
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="force">
-<parameter_description> add entry disregarding sanity checks
+</parameters>
+<return> #GST_FLOW_OK when the EOS was successfuly queued.
+#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.
+
+</return>
+</function>
+
+<function name="gst_app_src_get_caps">
+<description>
+Get the configured caps on @appsrc.
+
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
</parameters>
-<return> #gboolean indicating whether entry was added
+<return> the #GstCaps produced by the source. gst_caps_unref() after usage.
</return>
</function>
-<function name="gst_base_parse_convert_default">
+<function name="gst_app_src_get_emit_signals">
<description>
-Default implementation of "convert" vmethod in #GstBaseParse class.
+Check if appsrc will emit the "new-preroll" and "new-buffer" signals.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> #GstBaseParse.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="src_format">
-<parameter_description> #GstFormat describing the source format.
+</parameters>
+<return> %TRUE if @appsrc is emitting the "new-preroll" and "new-buffer"
+signals.
+
+</return>
+</function>
+
+<function name="gst_app_src_get_latency">
+<description>
+Retrieve the min and max latencies in @min and @max respectively.
+
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="src_value">
-<parameter_description> Source value to be converted.
+<parameter name="min">
+<parameter_description> the min latency
</parameter_description>
</parameter>
-<parameter name="dest_format">
-<parameter_description> #GstFormat defining the converted format.
+<parameter name="max">
+<parameter_description> the min latency
</parameter_description>
</parameter>
-<parameter name="dest_value">
-<parameter_description> Pointer where the conversion result will be put.
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_app_src_get_max_bytes">
+<description>
+Get the maximum amount of bytes that can be queued in @appsrc.
+
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if conversion was successful.
+<return> The maximum amount of bytes that can be queued.
</return>
</function>
-<function name="gst_base_parse_frame_init">
+<function name="gst_app_src_get_size">
<description>
-Sets a #GstBaseParseFrame to initial state. Currently this means
-all public fields are zero-ed and a private flag is set to make
-sure gst_base_parse_frame_free() only frees the contents but not
-the actual frame. Use this function to initialise a #GstBaseParseFrame
-allocated on the stack.
+Get the size of the stream in bytes. A value of -1 means that the size is
+not known.
</description>
<parameters>
-<parameter name="frame">
-<parameter_description> #GstBaseParseFrame.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the size of the stream previously set with gst_app_src_set_size();
+
+</return>
</function>
-<function name="gst_base_parse_frame_new">
+<function name="gst_app_src_get_stream_type">
<description>
-Allocates a new #GstBaseParseFrame. This function is mainly for bindings,
-elements written in C should usually allocate the frame on the stack and
-then use gst_base_parse_frame_init() to initialise it.
+Get the stream type. Control the stream type of @appsrc
+with gst_app_src_set_stream_type().
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> a #GstBuffer
-</parameter_description>
-</parameter>
-<parameter name="flags">
-<parameter_description> the flags
-</parameter_description>
-</parameter>
-<parameter name="overhead">
-<parameter_description> number of bytes in this frame which should be counted as
-metadata overhead, ie. not used to calculate the average bitrate.
-Set to -1 to mark the entire frame as metadata. If in doubt, set to 0.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
</parameters>
-<return> a newly-allocated #GstBaseParseFrame. Free with
-gst_base_parse_frame_free() when no longer needed, unless you gave
-away ownership to gst_base_parse_push_frame().
+<return> the stream type.
</return>
</function>
-<function name="gst_base_parse_push_frame">
+<function name="gst_app_src_push_buffer">
<description>
-Pushes the frame downstream, sends any pending events and
-does some timestamp and segment handling. Takes ownership
-of @frame and will clear it (if it was initialised with
-gst_base_parse_frame_init()) or free it.
+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.
-This must be called with sinkpad STREAM_LOCK held.
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> #GstBaseParse.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="frame">
-<parameter_description> a #GstBaseParseFrame
+<parameter name="buffer">
+<parameter_description> a #GstBuffer to push
</parameter_description>
</parameter>
</parameters>
-<return> #GstFlowReturn
+<return> #GST_FLOW_OK when the buffer was successfuly queued.
+#GST_FLOW_WRONG_STATE when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_UNEXPECTED when EOS occured.
</return>
</function>
-<function name="gst_base_parse_set_average_bitrate">
+<function name="gst_app_src_set_callbacks">
<description>
-Optionally sets the average bitrate detected in media (if non-zero),
-e.g. based on metadata, as it will be posted to the application.
+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.
-By default, announced average bitrate is estimated. The average bitrate
-is used to estimate the total duration of the stream and to estimate
-a seek position, if there's no index and the format is syncable
-(see gst_base_parse_set_syncable()).
+If callbacks are installed, no signals will be emitted for performance
+reasons.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> #GstBaseParse.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="bitrate">
-<parameter_description> average bitrate in bits/second
+<parameter name="callbacks">
+<parameter_description> the callbacks
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> a user_data argument for the callbacks
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> a destroy notify function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_set_duration">
+<function name="gst_app_src_set_caps">
<description>
-Sets the duration of the currently playing media. Subclass can use this
-when it is able to determine duration and/or notices a change in the media
-duration. Alternatively, if @interval is non-zero (default), then stream
-duration is determined based on estimated bitrate, and updated every @interval
-frames.
+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.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> #GstBaseParse.
-</parameter_description>
-</parameter>
-<parameter name="fmt">
-<parameter_description> #GstFormat.
-</parameter_description>
-</parameter>
-<parameter name="duration">
-<parameter_description> duration value.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="interval">
-<parameter_description> how often to update the duration estimate based on bitrate, or 0.
+<parameter name="caps">
+<parameter_description> caps to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_set_frame_rate">
+<function name="gst_app_src_set_emit_signals">
<description>
-If frames per second is configured, parser can take care of buffer duration
-and timestamping. When performing segment clipping, or seeking to a specific
-location, a corresponding decoder might need an initial @lead_in and a
-following @lead_out number of frames to ensure the desired segment is
-entirely filled upon decoding.
+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.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> the #GstBaseParse to set
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="fps_num">
-<parameter_description> frames per second (numerator).
+<parameter name="emit">
+<parameter_description> the new state
</parameter_description>
</parameter>
-<parameter name="fps_den">
-<parameter_description> frames per second (denominator).
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_app_src_set_latency">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="lead_in">
-<parameter_description> frames needed before a segment for subsequent decode
+<parameter name="min">
+<parameter_description> the min latency
</parameter_description>
</parameter>
-<parameter name="lead_out">
-<parameter_description> frames needed after a segment
+<parameter name="max">
+<parameter_description> the min latency
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_set_has_timing_info">
+<function name="gst_app_src_set_max_bytes">
<description>
-Set if frames carry timing information which the subclass can (generally)
-parse and provide. In particular, intrinsic (rather than estimated) time
-can be obtained following a seek.
+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.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> a #GstBaseParse
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="has_timing">
-<parameter_description> whether frames carry timing information
+<parameter name="max">
+<parameter_description> the maximum number of bytes to queue
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_set_min_frame_size">
+<function name="gst_app_src_set_size">
<description>
-Subclass can use this function to tell the base class that it needs to
-give at least #min_size buffers.
+Set the size of the stream in bytes. A value of -1 means that the size is
+not known.
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> #GstBaseParse.
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="min_size">
-<parameter_description> Minimum size of the data that this base class should give to
-subclass.
+<parameter name="size">
+<parameter_description> the size to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_set_passthrough">
+<function name="gst_app_src_set_stream_type">
<description>
-Set if the nature of the format or configuration does not allow (much)
-parsing, and the parser should operate in passthrough mode (which only
-applies when operating in push mode). That is, incoming buffers are
-pushed through unmodified, i.e. no @check_valid_frame or @parse_frame
-callbacks will be invoked, but @pre_push_buffer will still be invoked,
-so subclass can perform as much or as little is appropriate for
-passthrough semantics in @pre_push_buffer.
+Set the stream type on @appsrc. For seekable streams, the "seek" signal must
+be connected to.
+
+A stream_type stream
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> a #GstBaseParse
+<parameter name="appsrc">
+<parameter_description> a #GstAppSrc
</parameter_description>
</parameter>
-<parameter name="passthrough">
-<parameter_description> %TRUE if parser should run in passthrough mode
+<parameter name="type">
+<parameter_description> the new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_parse_set_syncable">
+<function name="gst_atomic_int_set">
<description>
-Set if frame starts can be identified. This is set by default and
-determines whether seeking based on bitrate averages
-is possible for a format/stream.
+Unconditionally sets the atomic integer to @value.
+
+Deprecated: Use g_atomic_int_set().
</description>
<parameters>
-<parameter name="parse">
-<parameter_description> a #GstBaseParse
+<parameter name="atomic_int">
+<parameter_description> pointer to an atomic integer
</parameter_description>
</parameter>
-<parameter name="syncable">
-<parameter_description> set if frame starts can be identified
+<parameter name="value">
+<parameter_description> value to set
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_rtp_audio_payload_flush">
+<function name="gst_atomic_queue_length">
<description>
-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.
+Get the amount of items in the queue.
</description>
<parameters>
-<parameter name="baseaudiopayload">
-<parameter_description> a #GstBaseRTPPayload
-</parameter_description>
-</parameter>
-<parameter name="payload_len">
-<parameter_description> length of payload
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> a #GstClockTime
+<parameter name="queue">
+<parameter_description> a #GstAtomicQueue
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn
+<return> the number of elements in the queue.
</return>
</function>
-<function name="gst_base_rtp_audio_payload_get_adapter">
+<function name="gst_atomic_queue_new">
<description>
-Gets the internal adapter used by the depayloader.
+Create a new atomic queue instance. @initial_size will be rounded up to the
+nearest power of 2 and used as the initial size of the queue.
</description>
<parameters>
-<parameter name="basertpaudiopayload">
-<parameter_description> a #GstBaseRTPAudioPayload
+<parameter name="initial_size">
+<parameter_description> initial queue size
</parameter_description>
</parameter>
</parameters>
-<return> a #GstAdapter.
+<return> a new #GstAtomicQueue
</return>
</function>
-<function name="gst_base_rtp_audio_payload_push">
+<function name="gst_atomic_queue_peek">
<description>
-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.
+Peek the head element of the queue without removing it from the queue.
</description>
<parameters>
-<parameter name="baseaudiopayload">
-<parameter_description> a #GstBaseRTPPayload
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> data to set as payload
-</parameter_description>
-</parameter>
-<parameter name="payload_len">
-<parameter_description> length of payload
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> a #GstClockTime
+<parameter name="queue">
+<parameter_description> a #GstAtomicQueue
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn
+<return> the head element of @queue or NULL when the queue is empty.
</return>
</function>
-<function name="gst_base_rtp_audio_payload_set_frame_based">
+<function name="gst_atomic_queue_pop">
<description>
-Tells #GstBaseRTPAudioPayload that the child element is for a frame based
-audio codec
+Get the head element of the queue.
+
</description>
<parameters>
-<parameter name="basertpaudiopayload">
-<parameter_description> a pointer to the element.
+<parameter name="queue">
+<parameter_description> a #GstAtomicQueue
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the head element of @queue or NULL when the queue is empty.
+
+</return>
</function>
-<function name="gst_base_rtp_audio_payload_set_frame_options">
+<function name="gst_atomic_queue_push">
<description>
-Sets the options for frame based audio codecs.
+Append @data to the tail of the queue.
</description>
<parameters>
-<parameter name="basertpaudiopayload">
-<parameter_description> a pointer to the element.
-</parameter_description>
-</parameter>
-<parameter name="frame_duration">
-<parameter_description> The duraction of an audio frame in milliseconds.
+<parameter name="queue">
+<parameter_description> a #GstAtomicQueue
</parameter_description>
</parameter>
-<parameter name="frame_size">
-<parameter_description> The size of an audio frame in bytes.
+<parameter name="data">
+<parameter_description> the data
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_rtp_audio_payload_set_sample_based">
+<function name="gst_atomic_queue_ref">
<description>
-Tells #GstBaseRTPAudioPayload that the child element is for a sample based
-audio codec
+Increase the refcount of @queue.
+
</description>
<parameters>
-<parameter name="basertpaudiopayload">
-<parameter_description> a pointer to the element.
+<parameter name="queue">
+<parameter_description> a #GstAtomicQueue
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_rtp_audio_payload_set_sample_options">
+<function name="gst_atomic_queue_unref">
<description>
-Sets the options for sample based audio codecs.
+Unref @queue and free the memory when the refcount reaches 0.
+
</description>
<parameters>
-<parameter name="basertpaudiopayload">
-<parameter_description> a pointer to the element.
-</parameter_description>
-</parameter>
-<parameter name="sample_size">
-<parameter_description> Size per sample in bytes.
+<parameter name="queue">
+<parameter_description> a #GstAtomicQueue
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_rtp_audio_payload_set_samplebits_options">
+<function name="gst_audio_buffer_clip">
<description>
-Sets the options for sample based audio codecs.
+Clip the buffer to the given %GstSegment.
+
+After calling this function the caller does not own a reference to
+ buffer anymore.
</description>
<parameters>
-<parameter name="basertpaudiopayload">
-<parameter_description> a pointer to the element.
+<parameter name="buffer">
+<parameter_description> The buffer to clip.
</parameter_description>
</parameter>
-<parameter name="sample_size">
-<parameter_description> Size per sample in bits.
+<parameter name="segment">
+<parameter_description> Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which the buffer should be clipped.
+</parameter_description>
+</parameter>
+<parameter name="rate">
+<parameter_description> sample rate.
+</parameter_description>
+</parameter>
+<parameter name="frame_size">
+<parameter_description> size of one audio frame in bytes.
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %NULL if the buffer is completely outside the configured segment,
+otherwise the clipped buffer is returned.
+
+If the buffer has no timestamp, it is assumed to be inside the segment and
+is not clipped
+
+</return>
</function>
-<function name="gst_base_rtp_depayload_push">
+<function name="gst_audio_check_channel_positions">
<description>
-Push @out_buf to the peer of @filter. This function takes ownership of
- out_buf
+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>
-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.
</description>
<parameters>
-<parameter name="filter">
-<parameter_description> a #GstBaseRTPDepayload
+<parameter name="pos">
+<parameter_description> An array of #GstAudioChannelPosition.
</parameter_description>
</parameter>
-<parameter name="out_buf">
-<parameter_description> a #GstBuffer
+<parameter name="channels">
+<parameter_description> The number of elements in @pos.
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn.
+<return> %TRUE if the given channel positions are valid
+and %FALSE otherwise.
</return>
</function>
-<function name="gst_base_rtp_depayload_push_list">
+<function name="gst_audio_clock_adjust">
<description>
-Push @out_list to the peer of @filter. This function takes ownership of
- out_list
+Adjust @time with the internal offset of the audio clock.
</description>
<parameters>
-<parameter name="filter">
-<parameter_description> a #GstBaseRTPDepayload
+<parameter name="clock">
+<parameter_description> a #GstAudioClock
</parameter_description>
</parameter>
-<parameter name="out_list">
-<parameter_description> a #GstBufferList
+<parameter name="time">
+<parameter_description> a #GstClockTime
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn.
+<return> @time adjusted with the internal offset.
</return>
</function>
-<function name="gst_base_rtp_depayload_push_ts">
+<function name="gst_audio_clock_get_time">
<description>
-Push @out_buf to the peer of @filter. This function takes ownership of
- out_buf
-
-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).
+Report the time as returned by the #GstAudioClockGetTimeFunc without applying
+any offsets.
</description>
<parameters>
-<parameter name="filter">
-<parameter_description> a #GstBaseRTPDepayload
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> an RTP timestamp to apply
-</parameter_description>
-</parameter>
-<parameter name="out_buf">
-<parameter_description> a #GstBuffer
+<parameter name="clock">
+<parameter_description> a #GstAudioClock
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn.
+<return> the time as reported by the time function of the audio clock
+
</return>
</function>
-<function name="gst_base_sink_do_preroll">
+<function name="gst_audio_clock_invalidate">
<description>
-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.
+Invalidate the clock function. Call this function when the provided
+#GstAudioClockGetTimeFunc cannot be called anymore, for example, when the
+user_data becomes invalid.
-This function should be called with the PREROLL_LOCK held.
+After calling this function, @clock will return the last returned time for
+the rest of its lifetime.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="clock">
+<parameter_description> a #GstAudioClock
</parameter_description>
</parameter>
-<parameter name="obj">
-<parameter_description> the mini object that caused the preroll
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_audio_clock_new">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="name">
+<parameter_description> the name of the clock
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a function
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data
</parameter_description>
</parameter>
</parameters>
-<return> #GST_FLOW_OK if the preroll completed and processing can
-continue. Any other return value should be returned from the render vmethod.
-
+<return> a new #GstAudioClock casted to a #GstClock.
</return>
</function>
-<function name="gst_base_sink_get_blocksize">
+<function name="gst_audio_clock_new_full">
<description>
-Get the number of bytes that the sink will pull when it is operating in pull
-mode.
+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.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseSink
+<parameter name="name">
+<parameter_description> the name of the clock
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> a function
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data
+</parameter_description>
+</parameter>
+<parameter name="destroy_notify">
+<parameter_description> #GDestroyNotify for @user_data
</parameter_description>
</parameter>
</parameters>
-<return> the number of bytes @sink will pull in pull mode.
+<return> a new #GstAudioClock casted to a #GstClock.
</return>
</function>
-<function name="gst_base_sink_get_last_buffer">
+<function name="gst_audio_clock_reset">
<description>
-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.
-
-Free-function: gst_buffer_unref
-
+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.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="clock">
+<parameter_description> a #GstAudioClock
+</parameter_description>
+</parameter>
+<parameter name="time">
+<parameter_description> a #GstClockTime
</parameter_description>
</parameter>
</parameters>
-<return> a #GstBuffer. gst_buffer_unref() after usage.
-This function returns NULL when no buffer has arrived in the sink yet
-or when the sink is not in PAUSED or PLAYING.
-
-</return>
+<return></return>
</function>
-<function name="gst_base_sink_get_latency">
+<function name="gst_audio_decoder_finish_frame">
<description>
-Get the currently configured latency.
+Collects decoded data and pushes it downstream.
+
+ buf may be NULL in which case the indicated number of frames
+are discarded and considered to have produced no output
+(e.g. lead-in or setup frames).
+Otherwise, source pad caps must be set when it is called with valid
+data in @buf.
+
+Note that a frame received in gst_audio_decoder_handle_frame() may be
+invalidated by a call to this function.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> decoded data
+</parameter_description>
+</parameter>
+<parameter name="frames">
+<parameter_description> number of decoded frames represented by decoded data
</parameter_description>
</parameter>
</parameters>
-<return> The configured latency.
+<return> a #GstFlowReturn that should be escalated to caller (of caller)
</return>
</function>
-<function name="gst_base_sink_get_max_lateness">
+<function name="gst_audio_decoder_get_audio_info">
<description>
-Gets the max lateness value. See gst_base_sink_set_max_lateness for
-more details.
-
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> The maximum time in nanoseconds that a buffer can be late
-before it is dropped and not rendered. A value of -1 means an
-unlimited time.
+<return> a #GstAudioInfo describing the input audio format
</return>
</function>
-<function name="gst_base_sink_get_render_delay">
+<function name="gst_audio_decoder_get_byte_time">
<description>
-Get the render delay of @sink. see gst_base_sink_set_render_delay() for more
-information about the render delay.
-
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseSink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> the render delay of @sink.
+<return> currently configured byte to time conversion setting
</return>
</function>
-<function name="gst_base_sink_get_sync">
+<function name="gst_audio_decoder_get_delay">
<description>
-Checks if @sink is currently configured to synchronize against the
-clock.
-
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the sink is configured to synchronize against the clock.
+<return> currently configured decoder delay
</return>
</function>
-<function name="gst_base_sink_get_throttle_time">
+<function name="gst_audio_decoder_get_drainable">
<description>
-Get the time that will be inserted between frames to control the
-maximum buffers per second.
+Queries decoder drain handling.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseSink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> the number of nanoseconds @sink will put between frames.
+<return> TRUE if drainable handling is enabled.
+
+MT safe.
</return>
</function>
-<function name="gst_base_sink_get_ts_offset">
+<function name="gst_audio_decoder_get_latency">
<description>
-Get the synchronisation offset of @sink.
+Sets the variables pointed to by @min and @max to the currently configured
+latency.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> a pointer to storage to hold minimum latency
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> a pointer to storage to hold maximum latency
</parameter_description>
</parameter>
</parameters>
-<return> The synchronisation offset.
-
-</return>
+<return></return>
</function>
-<function name="gst_base_sink_is_async_enabled">
+<function name="gst_audio_decoder_get_max_errors">
<description>
-Checks if @sink is currently configured to perform asynchronous state
-changes to PAUSED.
-
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the sink is configured to perform asynchronous state
-changes.
+<return> currently configured decoder tolerated error count.
</return>
</function>
-<function name="gst_base_sink_is_last_buffer_enabled">
+<function name="gst_audio_decoder_get_min_latency">
<description>
-Checks if @sink is currently configured to store the last received buffer in
-the last-buffer property.
+Queries decoder's latency aggregation.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the sink is configured to store the last received buffer.
+<return> aggregation latency.
+
+MT safe.
</return>
</function>
-<function name="gst_base_sink_is_qos_enabled">
+<function name="gst_audio_decoder_get_needs_format">
<description>
-Checks if @sink is currently configured to send Quality-of-Service events
-upstream.
+Queries decoder required format handling.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the sink is configured to perform Quality-of-Service.
+<return> TRUE if required format handling is enabled.
+
+MT safe.
</return>
</function>
-<function name="gst_base_sink_query_latency">
+<function name="gst_audio_decoder_get_parse_state">
<description>
-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
- min_latency to a strictly possitive value.
-
-This function is mostly used by subclasses.
+Return current parsing (sync and eos) state.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="live">
-<parameter_description> if the sink is live
+<parameter name="sync">
+<parameter_description> a pointer to a variable to hold the current sync state
</parameter_description>
</parameter>
-<parameter name="upstream_live">
-<parameter_description> if an upstream element is live
+<parameter name="eos">
+<parameter_description> a pointer to a variable to hold the current eos state
</parameter_description>
</parameter>
-<parameter name="min_latency">
-<parameter_description> the min latency of the upstream elements
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_audio_decoder_get_plc">
+<description>
+Queries decoder packet loss concealment handling.
+
+
+</description>
+<parameters>
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="max_latency">
-<parameter_description> the max latency of the upstream elements
+</parameters>
+<return> TRUE if packet loss concealment is enabled.
+
+MT safe.
+
+</return>
+</function>
+
+<function name="gst_audio_decoder_get_plc_aware">
+<description>
+
+</description>
+<parameters>
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the query succeeded.
+<return> currently configured plc handling
</return>
</function>
-<function name="gst_base_sink_set_async_enabled">
+<function name="gst_audio_decoder_get_tolerance">
<description>
-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.
+Queries current audio jitter tolerance threshold.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
-</parameter_description>
-</parameter>
-<parameter name="enabled">
-<parameter_description> the new async value.
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> decoder audio jitter tolerance threshold.
+
+MT safe.
+
+</return>
</function>
-<function name="gst_base_sink_set_blocksize">
+<function name="gst_audio_decoder_set_byte_time">
<description>
-Set the number of bytes that the sink will pull when it is operating in pull
-mode.
+Allows baseclass to perform byte to time estimated conversion.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseSink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="blocksize">
-<parameter_description> the blocksize in bytes
+<parameter name="enabled">
+<parameter_description> whether to enable byte to time conversion
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_last_buffer_enabled">
+<function name="gst_audio_decoder_set_drainable">
<description>
-Configures @sink to store the last received buffer in the last-buffer
-property.
+Configures decoder drain handling. If drainable, subclass might
+be handed a NULL buffer to have it return any leftover decoded data.
+Otherwise, it is not considered so capable and will only ever be passed
+real data.
+
+MT safe.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
<parameter name="enabled">
-<parameter_description> the new enable-last-buffer value.
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_max_lateness">
+<function name="gst_audio_decoder_set_latency">
<description>
-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.
+Sets decoder latency.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="max_lateness">
-<parameter_description> the new max lateness value.
+<parameter name="min">
+<parameter_description> minimum latency
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> maximum latency
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_qos_enabled">
+<function name="gst_audio_decoder_set_max_errors">
<description>
-Configures @sink to send Quality-of-Service events upstream.
+Sets numbers of tolerated decoder errors, where a tolerated one is then only
+warned about, but more than tolerated will lead to fatal error. Default
+is set to GST_AUDIO_DECODER_MAX_ERRORS.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="enabled">
-<parameter_description> the new qos value.
+<parameter name="num">
+<parameter_description> max tolerated errors
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_render_delay">
+<function name="gst_audio_decoder_set_min_latency">
<description>
-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.
+Sets decoder minimum aggregation latency.
-This function is usually called by subclasses.
+MT safe.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseSink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="delay">
-<parameter_description> the new delay
+<parameter name="num">
+<parameter_description> new minimum latency
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_sync">
+<function name="gst_audio_decoder_set_needs_format">
<description>
-Configures @sink to synchronize on the clock or not. When
- sync is FALSE, incomming samples will be played as fast as
-possible. If @sync is TRUE, the timestamps of the incomming
-buffers will be used to schedule the exact render time of its
-contents.
+Configures decoder format needs. If enabled, subclass needs to be
+negotiated with format caps before it can process any data. It will then
+never be handed any data before it has been configured.
+Otherwise, it might be handed data without having been configured and
+is then expected being able to do so either by default
+or based on the input data.
+
+MT safe.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="sync">
-<parameter_description> the new sync value.
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_throttle_time">
+<function name="gst_audio_decoder_set_plc">
<description>
-Set the time that will be inserted between rendered buffers. This
-can be used to control the maximum buffers per second that the sink
-will render.
+Enable or disable decoder packet loss concealment, provided subclass
+and codec are capable and allow handling plc.
+
+MT safe.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> a #GstBaseSink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="throttle">
-<parameter_description> the throttle time in nanoseconds
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_set_ts_offset">
+<function name="gst_audio_decoder_set_plc_aware">
<description>
-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.
+Indicates whether or not subclass handles packet loss concealment (plc).
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="offset">
-<parameter_description> the new offset
+<parameter name="plc">
+<parameter_description> new plc state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_sink_wait_clock">
+<function name="gst_audio_decoder_set_tolerance">
<description>
-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.
+Configures decoder audio jitter tolerance threshold.
+MT safe.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
-</parameter_description>
-</parameter>
-<parameter name="time">
-<parameter_description> the running_time to be reached
+<parameter name="dec">
+<parameter_description> a #GstAudioDecoder
</parameter_description>
</parameter>
-<parameter name="jitter">
-<parameter_description> the jitter to be filled with time diff, or NULL
+<parameter name="tolerance">
+<parameter_description> new tolerance
</parameter_description>
</parameter>
</parameters>
-<return> #GstClockReturn
-</return>
+<return></return>
</function>
-<function name="gst_base_sink_wait_eos">
+<function name="gst_audio_default_registry_mixer_filter">
<description>
-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.
+Utility function to find audio mixer elements.
-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.
+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.
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="filter_func">
+<parameter_description> filter function, or #NULL
</parameter_description>
</parameter>
-<parameter name="time">
-<parameter_description> the running_time to be reached
+<parameter name="first">
+<parameter_description> set to #TRUE if you only want the first suitable mixer element
</parameter_description>
</parameter>
-<parameter name="jitter">
-<parameter_description> the jitter to be filled with time diff, or NULL
+<parameter name="user_data">
+<parameter_description> user data to pass to the filter function
</parameter_description>
</parameter>
</parameters>
-<return> #GstFlowReturn
+<return> a #GList of audio mixer #GstElement<!-- -->s. You must free each
+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().
</return>
</function>
-<function name="gst_base_sink_wait_preroll">
+<function name="gst_audio_duration_from_pad_buffer">
<description>
-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.
+Calculate length in nanoseconds of audio buffer @buf based on capabilities of
+ pad
</description>
<parameters>
-<parameter name="sink">
-<parameter_description> the sink
+<parameter name="pad">
+<parameter_description> the #GstPad to get the caps from
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> the #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> #GST_FLOW_OK if the preroll completed and processing can
-continue. Any other return value should be returned from the render vmethod.
-
+<return> the length.
</return>
</function>
-<function name="gst_base_src_get_blocksize">
+<function name="gst_audio_encoder_finish_frame">
<description>
-Get the number of bytes that @src will push out with each buffer.
+Collects encoded data and pushes encoded data downstream.
+Source pad caps must be set when this is called.
+
+If @samples < 0, then best estimate is all samples provided to encoder
+(subclass) so far. @buf may be NULL, in which case next number of @samples
+are considered discarded, e.g. as a result of discontinuous transmission,
+and a discontinuity is marked.
+
+Note that samples received in gst_audio_encoder_handle_frame()
+may be invalidated by a call to this function.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> the source
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> encoded data
+</parameter_description>
+</parameter>
+<parameter name="samples">
+<parameter_description> number of samples (per channel) represented by encoded data
</parameter_description>
</parameter>
</parameters>
-<return> the number of bytes pushed with each buffer.
+<return> a #GstFlowReturn that should be escalated to caller (of caller)
</return>
</function>
-<function name="gst_base_src_get_do_timestamp">
+<function name="gst_audio_encoder_get_audio_info">
<description>
-Query if @src timestamps outgoing buffers based on the current running_time.
-
</description>
<parameters>
-<parameter name="src">
-<parameter_description> the source
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the base class will automatically timestamp outgoing buffers.
+<return> a #GstAudioInfo describing the input audio format
</return>
</function>
-<function name="gst_base_src_is_live">
+<function name="gst_audio_encoder_get_drainable">
<description>
-Check if an element is in live mode.
+Queries encoder drain handling.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> base source instance
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if element is in live mode.
+<return> TRUE if drainable handling is enabled.
+
+MT safe.
+
</return>
</function>
-<function name="gst_base_src_new_seamless_segment">
+<function name="gst_audio_encoder_get_frame_max">
<description>
-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()
-
</description>
<parameters>
-<parameter name="src">
-<parameter_description> The source
-</parameter_description>
-</parameter>
-<parameter name="start">
-<parameter_description> The new start value for the segment
-</parameter_description>
-</parameter>
-<parameter name="stop">
-<parameter_description> Stop value for the new segment
-</parameter_description>
-</parameter>
-<parameter name="position">
-<parameter_description> The position value for the new segent
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if preparation of the seamless segment succeeded.
+<return> currently configured maximum handled frames
</return>
</function>
-<function name="gst_base_src_query_latency">
+<function name="gst_audio_encoder_get_frame_samples_min">
<description>
-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.
- max_latency is always the undefined value of -1.
-
-This function is mostly used by subclasses.
-
</description>
<parameters>
-<parameter name="src">
-<parameter_description> the source
-</parameter_description>
-</parameter>
-<parameter name="live">
-<parameter_description> if the source is live
-</parameter_description>
-</parameter>
-<parameter name="min_latency">
-<parameter_description> the min latency of the source
-</parameter_description>
-</parameter>
-<parameter name="max_latency">
-<parameter_description> the max latency of the source
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the query succeeded.
+<return> currently maximum requested samples per frame
</return>
</function>
-<function name="gst_base_src_set_blocksize">
+<function name="gst_audio_encoder_get_hard_min">
<description>
-Set the number of bytes that @src will push out with each buffer. When
- blocksize is set to -1, a default length will be used.
+Queries encoder hard minimum handling.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> the source
-</parameter_description>
-</parameter>
-<parameter name="blocksize">
-<parameter_description> the new blocksize in bytes
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return></return>
-</function>
-
-<function name="gst_base_src_set_do_timestamp">
-<description>
-Configure @src to automatically timestamp outgoing buffers based on the
-current running_time of the pipeline. This property is mostly useful for live
-sources.
+<return> TRUE if hard minimum handling is enabled.
+MT safe.
-</description>
-<parameters>
-<parameter name="src">
-<parameter_description> the source
-</parameter_description>
-</parameter>
-<parameter name="timestamp">
-<parameter_description> enable or disable timestamping
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
+</return>
</function>
-<function name="gst_base_src_set_format">
+<function name="gst_audio_encoder_get_hard_sync">
<description>
-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 #GstBaseSrcClass.is_seekable() returns TRUE.
-
-This function must only be called in states < %GST_STATE_PAUSED.
+Queries encoder's hard resync setting.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> base source instance
-</parameter_description>
-</parameter>
-<parameter name="format">
-<parameter_description> the format to use
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> TRUE if hard resync is enabled.
+
+MT safe.
+
+</return>
</function>
-<function name="gst_base_src_set_live">
+<function name="gst_audio_encoder_get_latency">
<description>
-If the element listens to a live source, @live should
-be set to %TRUE.
+Sets the variables pointed to by @min and @max to the currently configured
+latency.
-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.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> base source instance
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="live">
-<parameter_description> new live-mode
+<parameter name="min">
+<parameter_description> a pointer to storage to hold minimum latency
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> a pointer to storage to hold maximum latency
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_src_wait_playing">
+<function name="gst_audio_encoder_get_lookahead">
<description>
-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).
-
-
</description>
<parameters>
-<parameter name="src">
-<parameter_description> the src
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> #GST_FLOW_OK if @src is PLAYING and processing can
-continue. Any other return value should be returned from the create vmethod.
+<return> currently configured encoder lookahead
</return>
</function>
-<function name="gst_base_transform_is_in_place">
+<function name="gst_audio_encoder_get_mark_granule">
<description>
-See if @trans is configured as a in_place transform.
+Queries if the encoder will handle granule marking.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> the #GstBaseTransform to query
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE is the transform is configured in in_place mode.
+<return> TRUE if granule marking is enabled.
MT safe.
+
</return>
</function>
-<function name="gst_base_transform_is_passthrough">
+<function name="gst_audio_encoder_get_perfect_timestamp">
<description>
-See if @trans is configured as a passthrough transform.
+Queries encoder perfect timestamp behaviour.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> the #GstBaseTransform to query
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE is the transform is configured in passthrough mode.
+<return> TRUE if perfect timestamp setting enabled.
MT safe.
+
</return>
</function>
-<function name="gst_base_transform_is_qos_enabled">
+<function name="gst_audio_encoder_get_tolerance">
<description>
-Queries if the transform will handle QoS.
+Queries current audio jitter tolerance threshold.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> a #GstBaseTransform
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if QoS is enabled.
+<return> encoder audio jitter tolerance threshold.
MT safe.
</return>
</function>
-<function name="gst_base_transform_reconfigure">
+<function name="gst_audio_encoder_merge_tags">
<description>
-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.
+Adds tags to so-called pending tags, which will be processed
+before pushing out data downstream.
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own,
+although it should be aware that baseclass already takes care
+of the usual CODEC/AUDIO_CODEC tags.
+
+MT safe.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> a #GstBaseTransform
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
+</parameter_description>
+</parameter>
+<parameter name="tags">
+<parameter_description> a #GstTagList to merge
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> the #GstTagMergeMode to use
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_transform_set_gap_aware">
+<function name="gst_audio_encoder_proxy_getcaps">
<description>
-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.
+Returns caps that express @caps (or sink template caps if @caps == NULL)
+restricted to channel/rate combinations supported by downstream elements
+(e.g. muxers).
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> a #GstBaseTransform
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="gap_aware">
-<parameter_description> New state
+<parameter name="caps">
+<parameter_description> initial caps
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstCaps owned by caller
+
+</return>
</function>
-<function name="gst_base_transform_set_in_place">
+<function name="gst_audio_encoder_set_drainable">
<description>
-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>
+Configures encoder drain handling. If drainable, subclass might
+be handed a NULL buffer to have it return any leftover encoded data.
+Otherwise, it is not considered so capable and will only ever be passed
+real data.
MT safe.
+
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> the #GstBaseTransform to modify
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="in_place">
-<parameter_description> Boolean value indicating that we would like to operate
-on in_place buffers.
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_transform_set_passthrough">
+<function name="gst_audio_encoder_set_frame_max">
<description>
-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.
+Sets max number of frames accepted at once (assumed minimally 1).
+Requires @frame_samples_min and @frame_samples_max to be the equal.
-MT safe.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> the #GstBaseTransform to set
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="passthrough">
-<parameter_description> boolean indicating passthrough mode.
+<parameter name="num">
+<parameter_description> number of frames
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_transform_set_qos_enabled">
+<function name="gst_audio_encoder_set_frame_samples_max">
<description>
-Enable or disable QoS handling in the transform.
+Sets number of samples (per channel) subclass needs to be handed,
+at most or will be handed all available if 0.
-MT safe.
+If an exact number of samples is required, gst_audio_encoder_set_frame_samples_min()
+must be called with the same number.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> a #GstBaseTransform
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="enabled">
-<parameter_description> new state
+<parameter name="num">
+<parameter_description> number of samples per frame
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_transform_suggest">
+<function name="gst_audio_encoder_set_frame_samples_min">
<description>
-Instructs @trans to suggest new @caps upstream. A copy of @caps will be
-taken.
+Sets number of samples (per channel) subclass needs to be handed,
+at least or will be handed all available if 0.
+
+If an exact number of samples is required, gst_audio_encoder_set_frame_samples_max()
+must be called with the same number.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> a #GstBaseTransform
-</parameter_description>
-</parameter>
-<parameter name="caps">
-<parameter_description> caps to suggest
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> buffer size to suggest
+<parameter name="num">
+<parameter_description> number of samples per frame
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_base_transform_update_qos">
+<function name="gst_audio_encoder_set_hard_min">
<description>
-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.
+Configures encoder hard minimum handling. If enabled, subclass
+will never be handed less samples than it configured, which otherwise
+might occur near end-of-data handling. Instead, the leftover samples
+will simply be discarded.
MT safe.
</description>
<parameters>
-<parameter name="trans">
-<parameter_description> a #GstBaseTransform
-</parameter_description>
-</parameter>
-<parameter name="proportion">
-<parameter_description> the proportion
-</parameter_description>
-</parameter>
-<parameter name="diff">
-<parameter_description> the diff against the clock
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="timestamp">
-<parameter_description> the timestamp of the buffer generating the QoS expressed in
-running_time.
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_basertppayload_is_filled">
+<function name="gst_audio_encoder_set_hard_sync">
<description>
-Check if the packet with @size and @duration would exceed the configured
-maximum size.
+Sets encoder hard resync handling.
+
+MT safe.
</description>
<parameters>
-<parameter name="payload">
-<parameter_description> a #GstBaseRTPPayload
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> the size of the packet
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="duration">
-<parameter_description> the duration of the packet
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the packet of @size and @duration would exceed the
-configured MTU or max_ptime.
-</return>
+<return></return>
</function>
-<function name="gst_basertppayload_push">
+<function name="gst_audio_encoder_set_latency">
<description>
-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.
+Sets encoder latency.
</description>
<parameters>
-<parameter name="payload">
-<parameter_description> a #GstBaseRTPPayload
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="buffer">
-<parameter_description> a #GstBuffer
+<parameter name="min">
+<parameter_description> minimum latency
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> maximum latency
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn.
-</return>
+<return></return>
</function>
-<function name="gst_basertppayload_push_list">
+<function name="gst_audio_encoder_set_lookahead">
<description>
-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.
+Sets encoder lookahead (in units of input rate samples)
</description>
<parameters>
-<parameter name="payload">
-<parameter_description> a #GstBaseRTPPayload
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="list">
-<parameter_description> a #GstBufferList
+<parameter name="num">
+<parameter_description> lookahead
</parameter_description>
</parameter>
</parameters>
-<return> a #GstFlowReturn.
-
-</return>
+<return></return>
</function>
-<function name="gst_basertppayload_set_options">
+<function name="gst_audio_encoder_set_mark_granule">
<description>
-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().
+Enable or disable encoder granule handling.
+
+MT safe.
+
</description>
<parameters>
-<parameter name="payload">
-<parameter_description> a #GstBaseRTPPayload
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> the media type (typically "audio" or "video")
-</parameter_description>
-</parameter>
-<parameter name="dynamic">
-<parameter_description> if the payload type is dynamic
-</parameter_description>
-</parameter>
-<parameter name="encoding_name">
-<parameter_description> the encoding name
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="clock_rate">
-<parameter_description> the clock rate of the media
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_basertppayload_set_outcaps">
+<function name="gst_audio_encoder_set_perfect_timestamp">
<description>
-Configure the output caps with the optional parameters.
+Enable or disable encoder perfect output timestamp preference.
-Variable arguments should be in the form field name, field type
-(as a GType), value(s). The last variable argument should be NULL.
+MT safe.
</description>
<parameters>
-<parameter name="payload">
-<parameter_description> a #GstBaseRTPPayload
-</parameter_description>
-</parameter>
-<parameter name="fieldname">
-<parameter_description> the first field name or %NULL
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> field values
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the caps could be set.
-</return>
+<return></return>
</function>
-<function name="gst_bin_add">
+<function name="gst_audio_encoder_set_tolerance">
<description>
-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.
-
-<note>
-When you add an element to an already-running pipeline, you will have to
-take care to set the state of the newly-added element to the desired
-state (usually PLAYING or PAUSED, same you set the pipeline to originally)
-with gst_element_set_state(), or use gst_element_sync_state_with_parent().
-The bin or pipeline will not take care of this for you.
-</note>
+Configures encoder audio jitter tolerance threshold.
MT safe.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="enc">
+<parameter_description> a #GstAudioEncoder
</parameter_description>
</parameter>
-<parameter name="element">
-<parameter_description> the #GstElement to add
+<parameter name="tolerance">
+<parameter_description> new tolerance
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the element could be added, FALSE if
-the bin does not want to accept the element.
-</return>
+<return></return>
</function>
-<function name="gst_bin_add_many">
+<function name="gst_audio_filter_class_add_pad_templates">
<description>
-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.
+Convenience function to add pad templates to this element class, with
+ allowed_caps as the caps that can be handled.
+
+This function is usually used from within a GObject base_init function.
+
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
-</parameter_description>
-</parameter>
-<parameter name="element_1">
-<parameter_description> the #GstElement element to add to the bin
+<parameter name="klass">
+<parameter_description> an #GstAudioFilterClass
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> additional elements to add to the bin
+<parameter name="allowed_caps">
+<parameter_description> what formats the filter can handle, as #GstCaps
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bin_find_unconnected_pad">
+<function name="gst_audio_fixate_channel_positions">
<description>
-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.
-
+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.
-Deprecated: use gst_bin_find_unlinked_pad() instead.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> bin in which to look for elements with unlinked pads
-</parameter_description>
-</parameter>
-<parameter name="direction">
-<parameter_description> whether to look for an unlinked source or sink pad
+<parameter name="str">
+<parameter_description> a #GstStructure containing a (possibly unfixed)
+"channel-positions" field.
</parameter_description>
</parameter>
</parameters>
-<return> unlinked pad of the given direction, or NULL.
-
+<return> fixed values that the caller could use as a fixed
+set of #GstAudioChannelPosition values.
</return>
</function>
-<function name="gst_bin_find_unlinked_pad">
+<function name="gst_audio_format_convert">
<description>
-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.
+Converts among various #GstFormat types. This function handles
+GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
+raw audio, GST_FORMAT_DEFAULT corresponds to audio frames. This
+function can be used to handle pad queries of the type GST_QUERY_CONVERT.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> bin in which to look for elements with unlinked pads
+<parameter name="info">
+<parameter_description> a #GstAudioInfo
</parameter_description>
</parameter>
-<parameter name="direction">
-<parameter_description> whether to look for an unlinked source or sink pad
+<parameter name="src_format">
+<parameter_description> #GstFormat of the @src_value
</parameter_description>
</parameter>
-</parameters>
-<return> unlinked pad of the given direction, or NULL.
-
-</return>
-</function>
-
-<function name="gst_bin_get_by_interface">
-<description>
-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.
-
-
-</description>
-<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
-</parameter_description>
-</parameter>
-<parameter name="iface">
-<parameter_description> the #GType of an interface
+<parameter name="src_value">
+<parameter_description> value to convert
</parameter_description>
</parameter>
-</parameters>
-<return> A #GstElement inside the bin implementing the interface
-</return>
-</function>
-
-<function name="gst_bin_get_by_name">
-<description>
-Gets the element with the given name from a bin. This
-function recurses into child bins.
-
-
-</description>
-<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="dest_format">
+<parameter_description> #GstFormat of the @dest_value
</parameter_description>
</parameter>
-<parameter name="name">
-<parameter_description> the element name to search for
+<parameter name="dest_value">
+<parameter_description> pointer to destination value
</parameter_description>
</parameter>
</parameters>
-<return> the #GstElement with the given name, or NULL
+<return> TRUE if the conversion was successful.
+
</return>
</function>
-<function name="gst_bin_get_by_name_recurse_up">
+<function name="gst_audio_frame_byte_size">
<description>
-Gets the element with the given name from this bin. If the
-element is not found, a recursion is performed on the parent bin.
+Calculate byte size of an audio frame.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> the element name to search for
+<parameter name="pad">
+<parameter_description> the #GstPad to get the caps from
</parameter_description>
</parameter>
</parameters>
-<return> the #GstElement with the given name, or NULL
+<return> the byte size, or 0 if there was an error
</return>
</function>
-<function name="gst_bin_iterate_all_by_interface">
+<function name="gst_audio_frame_length">
<description>
-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.
+Calculate length of buffer in frames.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="pad">
+<parameter_description> the #GstPad to get the caps from
</parameter_description>
</parameter>
-<parameter name="iface">
-<parameter_description> the #GType of an interface
+<parameter name="buf">
+<parameter_description> the #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement for all elements
-in the bin implementing the given interface, or NULL
+<return> 0 if there's an error, or the number of frames if everything's ok
</return>
</function>
-<function name="gst_bin_iterate_elements">
+<function name="gst_audio_get_channel_positions">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="str">
+<parameter_description> A #GstStructure to retrieve channel positions from.
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement, or NULL
+<return> a newly allocated array containing the channel
+positions as provided in the given #GstStructure. Returns
+NULL on error.
</return>
</function>
-<function name="gst_bin_iterate_recurse">
+<function name="gst_audio_iec61937_frame_size">
<description>
-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.
+Calculated the size of the buffer expected by gst_audio_iec61937_payload() for
+payloading type from @spec.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="spec">
+<parameter_description> the ringbufer spec
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement, or NULL
+<return> the size or 0 if the given @type is not supported or cannot be
+payloaded.
+
</return>
</function>
-<function name="gst_bin_iterate_sinks">
+<function name="gst_audio_iec61937_payload">
<description>
-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.
+Payloads @src in the form specified by IEC 61937 for the type from @spec and
+stores the result in @dst. @src must contain exactly one frame of data and
+the frame is not checked for errors.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="src">
+<parameter_description> a buffer containing the data to payload
+</parameter_description>
+</parameter>
+<parameter name="src_n">
+<parameter_description> size of @src in bytes
+</parameter_description>
+</parameter>
+<parameter name="dst">
+<parameter_description> the destination buffer to store the payloaded contents in. Should not
+overlap with @src
+</parameter_description>
+</parameter>
+<parameter name="dst_n">
+<parameter_description> size of @dst in bytes
+</parameter_description>
+</parameter>
+<parameter name="spec">
+<parameter_description> the ringbufer spec for @src
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement, or NULL
+<return> transfer-full: %TRUE if the payloading was successful, %FALSE
+otherwise.
+
</return>
</function>
-<function name="gst_bin_iterate_sorted">
+<function name="gst_audio_info_from_caps">
<description>
-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.
+Parse @caps and update @info.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="info">
+<parameter_description> a #GstAudioInfo
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement, or NULL
+<return> TRUE if @caps could be parsed
+
</return>
</function>
-<function name="gst_bin_iterate_sources">
+<function name="gst_audio_info_to_caps">
<description>
-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.
+Convert the values of @info into a #GstCaps.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="info">
+<parameter_description> a #GstAudioInfo
</parameter_description>
</parameter>
</parameters>
-<return> a #GstIterator of #GstElement, or NULL
+<return> the new #GstCaps containing the
+info of @info.
+
</return>
</function>
-<function name="gst_bin_new">
+<function name="gst_audio_is_buffer_framed">
<description>
-Creates a new bin with the given name.
+Check if the buffer size is a whole multiple of the frame size.
</description>
<parameters>
-<parameter name="name">
-<parameter_description> the name of the new bin
+<parameter name="pad">
+<parameter_description> the #GstPad to get the caps from
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> the #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBin
+<return> %TRUE if buffer size is multiple.
</return>
</function>
-<function name="gst_bin_recalculate_latency">
+<function name="gst_audio_set_caps_channel_positions_list">
<description>
-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.
-
+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.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="caps">
+<parameter_description> #GstCaps to set the list of channel positions on.
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> the array containing one or more possible audio
+channel positions that we should add in each value
+of the array in the given structure.
+</parameter_description>
+</parameter>
+<parameter name="num_positions">
+<parameter_description> the number of values in pos.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the latency could be queried and reconfigured.
-
-</return>
+<return></return>
</function>
-<function name="gst_bin_remove">
+<function name="gst_audio_set_channel_positions">
<description>
-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.
-
+Adds a "channel-positions" field to the given #GstStructure,
+which will represent the channel positions as given in the
+provided #GstAudioChannelPosition array.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="str">
+<parameter_description> A #GstStructure to set channel positions on.
</parameter_description>
</parameter>
-<parameter name="element">
-<parameter_description> the #GstElement to remove
+<parameter name="pos">
+<parameter_description> 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.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the element could be removed, FALSE if
-the bin does not want to remove the element.
-</return>
+<return></return>
</function>
-<function name="gst_bin_remove_many">
+<function name="gst_audio_set_structure_channel_positions_list">
<description>
-Remove a list of elements from a bin. This function is equivalent
-to calling gst_bin_remove() with each member of the list.
+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.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> a #GstBin
+<parameter name="str">
+<parameter_description> #GstStructure to set the list of channel positions
+on.
</parameter_description>
</parameter>
-<parameter name="element_1">
-<parameter_description> the first #GstElement to remove from the bin
+<parameter name="pos">
+<parameter_description> the array containing one or more possible audio
+channel positions that we should add in each value
+of the array in the given structure.
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> NULL-terminated list of elements to remove from the bin
+<parameter name="num_positions">
+<parameter_description> the number of values in pos.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bit_reader_free">
+<function name="gst_audio_structure_set_int">
<description>
-Frees a #GstBitReader instance, which was previously allocated by
-gst_bit_reader_new() or gst_bit_reader_new_from_buffer().
+Do not use anymore.
+Deprecated: use gst_structure_set()
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="structure">
+<parameter_description> a #GstStructure
+</parameter_description>
+</parameter>
+<parameter name="flag">
+<parameter_description> a set of #GstAudioFieldFlag
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bit_reader_get_bits_uint16">
+<function name="gst_base_audio_sink_create_ringbuffer">
<description>
-Read @nbits bits into @val and update the current position.
+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()).
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint16 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> The new ringbuffer of @sink.
</return>
</function>
-<function name="gst_bit_reader_get_bits_uint32">
+<function name="gst_base_audio_sink_get_alignment_threshold">
<description>
-Read @nbits bits into @val and update the current position.
+Get the current alignment threshold, in nanoseconds, used by @sink.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The current alignment threshold used by @sink.
</return>
</function>
-<function name="gst_bit_reader_get_bits_uint64">
+<function name="gst_base_audio_sink_get_discont_wait">
<description>
-Read @nbits bits into @val and update the current position.
+Get the current discont wait, in nanoseconds, used by @sink.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint64 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The current discont wait used by @sink.
</return>
</function>
-<function name="gst_bit_reader_get_bits_uint8">
+<function name="gst_base_audio_sink_get_drift_tolerance">
<description>
-Read @nbits bits into @val and update the current position.
+Get the current drift tolerance, in microseconds, used by @sink.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint8 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The current drift tolerance used by @sink.
</return>
</function>
-<function name="gst_bit_reader_get_pos">
+<function name="gst_base_audio_sink_get_provide_clock">
<description>
-Returns the current position of a #GstBitReader instance in bits.
+Queries whether @sink will provide a clock or not. See also
+gst_base_audio_sink_set_provide_clock.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
</parameters>
-<return> The current position of @reader in bits.
+<return> %TRUE if @sink will provide a clock.
</return>
</function>
-<function name="gst_bit_reader_get_remaining">
+<function name="gst_base_audio_sink_get_slave_method">
<description>
-Returns the remaining number of bits of a #GstBitReader instance.
+Get the current slave method used by @sink.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
</parameters>
-<return> The remaining number of bits of @reader instance.
+<return> The current slave method used by @sink.
</return>
</function>
-<function name="gst_bit_reader_get_size">
+<function name="gst_base_audio_sink_set_alignment_threshold">
<description>
-Returns the total number of bits of a #GstBitReader instance.
+Controls the sink's alignment threshold.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
+</parameter_description>
+</parameter>
+<parameter name="alignment_threshold">
+<parameter_description> the new alignment threshold in nanoseconds
</parameter_description>
</parameter>
</parameters>
-<return> The total number of bits of @reader instance.
-
-</return>
+<return></return>
</function>
-<function name="gst_bit_reader_init">
+<function name="gst_base_audio_sink_set_discont_wait">
<description>
-Initializes a #GstBitReader instance to read from @data. This function
-can be called on already initialized instances.
+Controls how long the sink will wait before creating a discontinuity.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> data from which the bit reader should read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
+<parameter name="discont_wait">
+<parameter_description> the new discont wait in nanoseconds
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bit_reader_init_from_buffer">
+<function name="gst_base_audio_sink_set_drift_tolerance">
<description>
-Initializes a #GstBitReader instance to read from @buffer. This function
-can be called on already initialized instances.
+Controls the sink's drift tolerance.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
-<parameter name="buffer">
-<parameter_description> Buffer from which the #GstBitReader should read
+<parameter name="drift_tolerance">
+<parameter_description> the new drift tolerance in microseconds
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bit_reader_new">
+<function name="gst_base_audio_sink_set_provide_clock">
<description>
-Create a new #GstBitReader instance, which will read from @data.
-
-Free-function: gst_bit_reader_free
+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.
</description>
<parameters>
-<parameter name="data">
-<parameter_description> Data from which the #GstBitReader should read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
+<parameter name="provide">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBitReader instance
-
-</return>
+<return></return>
</function>
-<function name="gst_bit_reader_new_from_buffer">
+<function name="gst_base_audio_sink_set_slave_method">
<description>
-Create a new #GstBitReader instance, which will read from the
-#GstBuffer @buffer.
-
-Free-function: gst_bit_reader_free
+Controls how clock slaving will be performed in @sink.
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> Buffer from which the #GstBitReader should read
+<parameter name="sink">
+<parameter_description> a #GstBaseAudioSink
+</parameter_description>
+</parameter>
+<parameter name="method">
+<parameter_description> the new slave method
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBitReader instance
-
-</return>
+<return></return>
</function>
-<function name="gst_bit_reader_peek_bits_uint16">
+<function name="gst_base_audio_src_create_ringbuffer">
<description>
-Read @nbits bits into @val but keep the current position.
+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()).
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint16 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="src">
+<parameter_description> a #GstBaseAudioSrc.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> The new ringbuffer of @src.
</return>
</function>
-<function name="gst_bit_reader_peek_bits_uint32">
+<function name="gst_base_audio_src_get_provide_clock">
<description>
-Read @nbits bits into @val but keep the current position.
+Queries whether @src will provide a clock or not. See also
+gst_base_audio_src_set_provide_clock.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="src">
+<parameter_description> a #GstBaseAudioSrc
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> %TRUE if @src will provide a clock.
</return>
</function>
-<function name="gst_bit_reader_peek_bits_uint64">
+<function name="gst_base_audio_src_get_slave_method">
<description>
-Read @nbits bits into @val but keep the current position.
+Get the current slave method used by @src.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint64 to store the result
-</parameter_description>
-</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="src">
+<parameter_description> a #GstBaseAudioSrc
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The current slave method used by @src.
</return>
</function>
-<function name="gst_bit_reader_peek_bits_uint8">
+<function name="gst_base_audio_src_set_provide_clock">
<description>
-Read @nbits bits into @val but keep the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint8 to store the result
+<parameter name="src">
+<parameter_description> a #GstBaseAudioSrc
</parameter_description>
</parameter>
-<parameter name="nbits">
-<parameter_description> number of bits to read
+<parameter name="provide">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_bit_reader_set_pos">
+<function name="gst_base_audio_src_set_slave_method">
<description>
-Sets the new position of a #GstBitReader instance to @pos in bits.
+Controls how clock slaving will be performed in @src.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="src">
+<parameter_description> a #GstBaseAudioSrc
</parameter_description>
</parameter>
-<parameter name="pos">
-<parameter_description> The new position in bits
+<parameter name="method">
+<parameter_description> the new slave method
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the position could be set successfully, %FALSE
-otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_bit_reader_skip">
+<function name="gst_base_parse_add_index_entry">
<description>
-Skips @nbits bits of the #GstBitReader instance.
+Adds an entry to the index associating @offset to @ts. It is recommended
+to only add keyframe entries. @force allows to bypass checks, such as
+whether the stream is (upstream) seekable, another entry is already "close"
+to the new entry, etc.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="parse">
+<parameter_description> #GstBaseParse.
</parameter_description>
</parameter>
-<parameter name="nbits">
-<parameter_description> the number of bits to skip
+<parameter name="offset">
+<parameter_description> offset of entry
+</parameter_description>
+</parameter>
+<parameter name="ts">
+<parameter_description> timestamp associated with offset
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> whether entry refers to keyframe
+</parameter_description>
+</parameter>
+<parameter name="force">
+<parameter_description> add entry disregarding sanity checks
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @nbits bits could be skipped, %FALSE otherwise.
+<return> #gboolean indicating whether entry was added
</return>
</function>
-<function name="gst_bit_reader_skip_to_byte">
+<function name="gst_base_parse_convert_default">
<description>
-Skips until the next byte.
+Default implementation of "convert" vmethod in #GstBaseParse class.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstBitReader instance
+<parameter name="parse">
+<parameter_description> #GstBaseParse.
+</parameter_description>
+</parameter>
+<parameter name="src_format">
+<parameter_description> #GstFormat describing the source format.
+</parameter_description>
+</parameter>
+<parameter name="src_value">
+<parameter_description> Source value to be converted.
+</parameter_description>
+</parameter>
+<parameter name="dest_format">
+<parameter_description> #GstFormat defining the converted format.
+</parameter_description>
+</parameter>
+<parameter name="dest_value">
+<parameter_description> Pointer where the conversion result will be put.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> TRUE if conversion was successful.
</return>
</function>
-<function name="gst_buffer_copy_metadata">
+<function name="gst_base_parse_frame_init">
<description>
-Copies the metadata from @src into @dest. The data, size and mallocdata
-fields are not copied.
-
- flags indicate which fields will be copied. Use #GST_BUFFER_COPY_ALL to copy
-all the metadata fields.
-
-This function is typically called from a custom buffer copy function after
-creating @dest and setting the data, size, mallocdata.
+Sets a #GstBaseParseFrame to initial state. Currently this means
+all public fields are zero-ed and a private flag is set to make
+sure gst_base_parse_frame_free() only frees the contents but not
+the actual frame. Use this function to initialise a #GstBaseParseFrame
+allocated on the stack.
</description>
<parameters>
-<parameter name="dest">
-<parameter_description> a destination #GstBuffer
-</parameter_description>
-</parameter>
-<parameter name="src">
-<parameter_description> a source #GstBuffer
-</parameter_description>
-</parameter>
-<parameter name="flags">
-<parameter_description> flags indicating what metadata fields should be copied.
+<parameter name="frame">
+<parameter_description> #GstBaseParseFrame.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_buffer_create_sub">
+<function name="gst_base_parse_frame_new">
<description>
-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.
+Allocates a new #GstBaseParseFrame. This function is mainly for bindings,
+elements written in C should usually allocate the frame on the stack and
+then use gst_base_parse_frame_init() to initialise it.
</description>
<parameters>
-<parameter name="parent">
-<parameter_description> a #GstBuffer.
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
-<parameter name="offset">
-<parameter_description> the offset into parent #GstBuffer at which the new sub-buffer
-begins.
+<parameter name="flags">
+<parameter_description> the flags
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> the size of the new #GstBuffer sub-buffer, in bytes.
+<parameter name="overhead">
+<parameter_description> number of bytes in this frame which should be counted as
+metadata overhead, ie. not used to calculate the average bitrate.
+Set to -1 to mark the entire frame as metadata. If in doubt, set to 0.
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstBuffer or NULL if the arguments were
-invalid.
+<return> a newly-allocated #GstBaseParseFrame. Free with
+gst_base_parse_frame_free() when no longer needed, unless you gave
+away ownership to gst_base_parse_push_frame().
+
</return>
</function>
-<function name="gst_buffer_get_caps">
+<function name="gst_base_parse_push_frame">
<description>
-Gets the media type of the buffer. This can be NULL if there
-is no media type attached to this buffer.
+Pushes the frame downstream, sends any pending events and
+does some timestamp and segment handling. Takes ownership
+of @frame and will clear it (if it was initialised with
+gst_base_parse_frame_init()) or free it.
+
+This must be called with sinkpad STREAM_LOCK held.
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> a #GstBuffer.
+<parameter name="parse">
+<parameter_description> #GstBaseParse.
</parameter_description>
</parameter>
-</parameters>
-<return> a reference to the #GstCaps. unref after usage.
-Returns NULL if there were no caps on this buffer.
-</return>
-</function>
-
-<function name="gst_buffer_is_metadata_writable">
-<description>
-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.
-
-
-</description>
-<parameters>
-<parameter name="buf">
-<parameter_description> a #GstBuffer
+<parameter name="frame">
+<parameter_description> a #GstBaseParseFrame
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the metadata is writable.
+<return> #GstFlowReturn
+
</return>
</function>
-<function name="gst_buffer_is_span_fast">
+<function name="gst_base_parse_set_average_bitrate">
<description>
-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.
+Optionally sets the average bitrate detected in media (if non-zero),
+e.g. based on metadata, as it will be posted to the application.
+
+By default, announced average bitrate is estimated. The average bitrate
+is used to estimate the total duration of the stream and to estimate
+a seek position, if there's no index and the format is syncable
+(see gst_base_parse_set_syncable()).
-MT safe.
</description>
<parameters>
-<parameter name="buf1">
-<parameter_description> the first #GstBuffer.
+<parameter name="parse">
+<parameter_description> #GstBaseParse.
</parameter_description>
</parameter>
-<parameter name="buf2">
-<parameter_description> the second #GstBuffer.
+<parameter name="bitrate">
+<parameter_description> average bitrate in bits/second
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the buffers are contiguous,
-FALSE if a copy would be required.
-</return>
+<return></return>
</function>
-<function name="gst_buffer_join">
+<function name="gst_base_parse_set_duration">
<description>
-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.
+Sets the duration of the currently playing media. Subclass can use this
+when it is able to determine duration and/or notices a change in the media
+duration. Alternatively, if @interval is non-zero (default), then stream
+duration is determined based on estimated bitrate, and updated every @interval
+frames.
</description>
<parameters>
-<parameter name="buf1">
-<parameter_description> the first source #GstBuffer.
+<parameter name="parse">
+<parameter_description> #GstBaseParse.
</parameter_description>
</parameter>
-<parameter name="buf2">
-<parameter_description> the second source #GstBuffer.
+<parameter name="fmt">
+<parameter_description> #GstFormat.
+</parameter_description>
+</parameter>
+<parameter name="duration">
+<parameter_description> duration value.
+</parameter_description>
+</parameter>
+<parameter name="interval">
+<parameter_description> how often to update the duration estimate based on bitrate, or 0.
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstBuffer which is the concatenation of
-the source buffers.
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_foreach">
+<function name="gst_base_parse_set_frame_rate">
<description>
-Call @func with @data for each buffer in @list.
-
- func can modify the passed buffer pointer or its contents. The return value
-of @func define if this function returns or if the remaining buffers in a
-group should be skipped.
+If frames per second is configured, parser can take care of buffer duration
+and timestamping. When performing segment clipping, or seeking to a specific
+location, a corresponding decoder might need an initial @lead_in and a
+following @lead_out number of frames to ensure the desired segment is
+entirely filled upon decoding.
</description>
<parameters>
-<parameter name="list">
-<parameter_description> a #GstBufferList
+<parameter name="parse">
+<parameter_description> the #GstBaseParse to set
</parameter_description>
</parameter>
-<parameter name="func">
-<parameter_description> a #GstBufferListFunc to call
+<parameter name="fps_num">
+<parameter_description> frames per second (numerator).
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data passed to @func
+<parameter name="fps_den">
+<parameter_description> frames per second (denominator).
+</parameter_description>
+</parameter>
+<parameter name="lead_in">
+<parameter_description> frames needed before a segment for subsequent decode
+</parameter_description>
+</parameter>
+<parameter name="lead_out">
+<parameter_description> frames needed after a segment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_buffer_list_get">
+<function name="gst_base_parse_set_has_timing_info">
<description>
-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.
+Set if frames carry timing information which the subclass can (generally)
+parse and provide. In particular, intrinsic (rather than estimated) time
+can be obtained following a seek.
</description>
<parameters>
-<parameter name="list">
-<parameter_description> a #GstBufferList
-</parameter_description>
-</parameter>
-<parameter name="group">
-<parameter_description> the group
+<parameter name="parse">
+<parameter_description> a #GstBaseParse
</parameter_description>
</parameter>
-<parameter name="idx">
-<parameter_description> the index in @group
+<parameter name="has_timing">
+<parameter_description> whether frames carry timing information
</parameter_description>
</parameter>
</parameters>
-<return> the buffer at @idx in @group or NULL when there
-is no buffer. The buffer remains valid as long as @list is valid.
-
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_iterate">
+<function name="gst_base_parse_set_latency">
<description>
-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.
-
-Free-function: gst_buffer_list_iterator_free
+Sets the minimum and maximum (which may likely be equal) latency introduced
+by the parsing process. If there is such a latency, which depends on the
+particular parsing of the format, it typically corresponds to 1 frame duration.
</description>
<parameters>
-<parameter name="list">
-<parameter_description> a #GstBufferList
+<parameter name="parse">
+<parameter_description> a #GstBaseParse
+</parameter_description>
+</parameter>
+<parameter name="min_latency">
+<parameter_description> minimum parse latency
+</parameter_description>
+</parameter>
+<parameter name="max_latency">
+<parameter_description> maximum parse latency
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBufferListIterator of the buffers in
- list gst_buffer_list_iterator_free() after usage
-
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_iterator_add">
+<function name="gst_base_parse_set_min_frame_size">
<description>
-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.
+Subclass can use this function to tell the base class that it needs to
+give at least #min_size buffers.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="parse">
+<parameter_description> #GstBaseParse.
</parameter_description>
</parameter>
-<parameter name="buffer">
-<parameter_description> a #GstBuffer
+<parameter name="min_size">
+<parameter_description> Minimum size of the data that this base class should give to
+subclass.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_buffer_list_iterator_add_group">
+<function name="gst_base_parse_set_passthrough">
<description>
-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.
+Set if the nature of the format or configuration does not allow (much)
+parsing, and the parser should operate in passthrough mode (which only
+applies when operating in push mode). That is, incoming buffers are
+pushed through unmodified, i.e. no @check_valid_frame or @parse_frame
+callbacks will be invoked, but @pre_push_frame will still be invoked,
+so subclass can perform as much or as little is appropriate for
+passthrough semantics in @pre_push_frame.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="parse">
+<parameter_description> a #GstBaseParse
+</parameter_description>
+</parameter>
+<parameter name="passthrough">
+<parameter_description> %TRUE if parser should run in passthrough mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_buffer_list_iterator_add_list">
+<function name="gst_base_parse_set_syncable">
<description>
-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.
+Set if frame starts can be identified. This is set by default and
+determines whether seeking based on bitrate averages
+is possible for a format/stream.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="parse">
+<parameter_description> a #GstBaseParse
</parameter_description>
</parameter>
-<parameter name="list">
-<parameter_description> a #GList of buffers
+<parameter name="syncable">
+<parameter_description> set if frame starts can be identified
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_buffer_list_iterator_do">
+<function name="gst_base_rtp_audio_payload_flush">
<description>
-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().
+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.
-See #GstBufferListDoFunction for more details.
+If @payload_len is -1, all pending bytes will be flushed. If @timestamp is
+-1, the timestamp will be calculated automatically.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="baseaudiopayload">
+<parameter_description> a #GstBaseRTPPayload
</parameter_description>
</parameter>
-<parameter name="do_func">
-<parameter_description> the function to be called
+<parameter name="payload_len">
+<parameter_description> length of payload
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the gpointer to optional user data.
+<parameter name="timestamp">
+<parameter_description> a #GstClockTime
</parameter_description>
</parameter>
</parameters>
-<return> the return value from @do_func
+<return> a #GstFlowReturn
</return>
</function>
-<function name="gst_buffer_list_iterator_free">
+<function name="gst_base_rtp_audio_payload_get_adapter">
<description>
-Free the iterator.
+Gets the internal adapter used by the depayloader.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> the #GstBufferListIterator to free
+<parameter name="basertpaudiopayload">
+<parameter_description> a #GstBaseRTPAudioPayload
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstAdapter.
+
+</return>
</function>
-<function name="gst_buffer_list_iterator_merge_group">
+<function name="gst_base_rtp_audio_payload_push">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="baseaudiopayload">
+<parameter_description> a #GstBaseRTPPayload
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data to set as payload
+</parameter_description>
+</parameter>
+<parameter name="payload_len">
+<parameter_description> length of payload
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> a #GstClockTime
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBuffer, gst_buffer_unref() after usage,
-or NULL
+<return> a #GstFlowReturn
</return>
</function>
-<function name="gst_buffer_list_iterator_n_buffers">
+<function name="gst_base_rtp_audio_payload_set_frame_based">
<description>
-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.
-
+Tells #GstBaseRTPAudioPayload that the child element is for a frame based
+audio codec
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="basertpaudiopayload">
+<parameter_description> a pointer to the element.
</parameter_description>
</parameter>
</parameters>
-<return> the number of buffers left to iterate in the current group
-
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_iterator_next">
+<function name="gst_base_rtp_audio_payload_set_frame_options">
<description>
-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.
+Sets the options for frame based audio codecs.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
-</parameter_description>
+<parameter name="basertpaudiopayload">
+<parameter_description> a pointer to the element.
+</parameter_description>
+</parameter>
+<parameter name="frame_duration">
+<parameter_description> The duraction of an audio frame in milliseconds.
+</parameter_description>
+</parameter>
+<parameter name="frame_size">
+<parameter_description> The size of an audio frame in bytes.
+</parameter_description>
</parameter>
</parameters>
-<return> the next buffer in the current group of the
-buffer list, or NULL
-
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_iterator_next_group">
+<function name="gst_base_rtp_audio_payload_set_sample_based">
<description>
-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.
-
+Tells #GstBaseRTPAudioPayload that the child element is for a sample based
+audio codec
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="basertpaudiopayload">
+<parameter_description> a pointer to the element.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the iterator could be advanced to the next group, FALSE if
-the iterator was already at the last group
-
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_iterator_remove">
+<function name="gst_base_rtp_audio_payload_set_sample_options">
<description>
-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.
-
+Sets the options for sample based audio codecs.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="basertpaudiopayload">
+<parameter_description> a pointer to the element.
+</parameter_description>
+</parameter>
+<parameter name="sample_size">
+<parameter_description> Size per sample in bytes.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_buffer_list_iterator_steal">
+<function name="gst_base_rtp_audio_payload_set_samplebits_options">
<description>
-Returns the last buffer returned by gst_buffer_list_iterator_next() without
-modifying the refcount of the buffer.
+Sets the options for sample based audio codecs.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="basertpaudiopayload">
+<parameter_description> a pointer to the element.
+</parameter_description>
+</parameter>
+<parameter name="sample_size">
+<parameter_description> Size per sample in bits.
</parameter_description>
</parameter>
</parameters>
-<return> the last buffer returned by
-gst_buffer_list_iterator_next()
-
-</return>
+<return></return>
</function>
-<function name="gst_buffer_list_iterator_take">
+<function name="gst_base_rtp_depayload_push">
<description>
-Replaces the last buffer returned by gst_buffer_list_iterator_next() with
- buffer in the #GstBufferList iterated with @it and takes ownership of
- buffer gst_buffer_list_iterator_next() must have been called on @it before
-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).
+Push @out_buf to the peer of @filter. This function takes ownership of
+ out_buf
-FIXME 0.11: this conditional taking-ownership is not good for bindings
+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.
</description>
<parameters>
-<parameter name="it">
-<parameter_description> a #GstBufferListIterator
+<parameter name="filter">
+<parameter_description> a #GstBaseRTPDepayload
</parameter_description>
</parameter>
-<parameter name="buffer">
+<parameter name="out_buf">
<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstFlowReturn.
+</return>
</function>
-<function name="gst_buffer_list_n_groups">
+<function name="gst_base_rtp_depayload_push_list">
<description>
-Returns the number of groups in @list.
+Push @out_list to the peer of @filter. This function takes ownership of
+ out_list
</description>
<parameters>
-<parameter name="list">
+<parameter name="filter">
+<parameter_description> a #GstBaseRTPDepayload
+</parameter_description>
+</parameter>
+<parameter name="out_list">
<parameter_description> a #GstBufferList
</parameter_description>
</parameter>
</parameters>
-<return> the number of groups in the buffer list
-
-</return>
-</function>
-
-<function name="gst_buffer_list_new">
-<description>
-Creates a new, empty #GstBufferList. The caller is responsible for unreffing
-the returned #GstBufferList.
-
-Free-function: gst_buffer_list_unref
-
-
-</description>
-<parameters>
-</parameters>
-<return> the new #GstBufferList. gst_buffer_list_unref()
-after usage.
+<return> a #GstFlowReturn.
</return>
</function>
-<function name="gst_buffer_make_metadata_writable">
+<function name="gst_base_rtp_depayload_push_ts">
<description>
-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.
+Push @out_buf to the peer of @filter. This function takes ownership of
+ out_buf
-After calling this function, @buf should not be referenced anymore. The
-result of this function has guaranteed writable metadata.
+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).
</description>
<parameters>
-<parameter name="buf">
+<parameter name="filter">
+<parameter_description> a #GstBaseRTPDepayload
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> an RTP timestamp to apply
+</parameter_description>
+</parameter>
+<parameter name="out_buf">
<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBuffer with writable metadata, which
-may or may not be the same as @buf.
+<return> a #GstFlowReturn.
</return>
</function>
-<function name="gst_buffer_merge">
+<function name="gst_base_sink_do_preroll">
<description>
-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.
+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.
-Free-function: gst_buffer_unref
+This function should be called with the PREROLL_LOCK held.
</description>
<parameters>
-<parameter name="buf1">
-<parameter_description> the first source #GstBuffer to merge.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
-<parameter name="buf2">
-<parameter_description> the second source #GstBuffer to merge.
+<parameter name="obj">
+<parameter_description> the mini object that caused the preroll
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstBuffer which is the concatenation
-of the source buffers.
+<return> #GST_FLOW_OK if the preroll completed and processing can
+continue. Any other return value should be returned from the render vmethod.
+
</return>
</function>
-<function name="gst_buffer_new">
+<function name="gst_base_sink_get_blocksize">
<description>
-Creates a newly allocated buffer without any data.
-
-MT safe.
+Get the number of bytes that the sink will pull when it is operating in pull
+mode.
</description>
<parameters>
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
+</parameter_description>
+</parameter>
</parameters>
-<return> the new #GstBuffer.
+<return> the number of bytes @sink will pull in pull mode.
+
</return>
</function>
-<function name="gst_buffer_new_and_alloc">
+<function name="gst_base_sink_get_last_buffer">
<description>
-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.
-
+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.
-Note that when @size == 0, the buffer data pointer will be NULL.
+The #GstCaps on the buffer can be used to determine the type of the buffer.
-MT safe.
+Free-function: gst_buffer_unref
</description>
<parameters>
-<parameter name="size">
-<parameter_description> the size in bytes of the new buffer's data.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstBuffer.
+<return> a #GstBuffer. gst_buffer_unref() after usage.
+This function returns NULL when no buffer has arrived in the sink yet
+or when the sink is not in PAUSED or PLAYING.
+
</return>
</function>
-<function name="gst_buffer_set_caps">
+<function name="gst_base_sink_get_latency">
<description>
-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.
+Get the currently configured latency.
+
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> a #GstBuffer.
-</parameter_description>
-</parameter>
-<parameter name="caps">
-<parameter_description> a #GstCaps.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> The configured latency.
+
+</return>
</function>
-<function name="gst_buffer_span">
+<function name="gst_base_sink_get_max_lateness">
<description>
-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.
+Gets the max lateness value. See gst_base_sink_set_max_lateness for
+more details.
</description>
<parameters>
-<parameter name="buf1">
-<parameter_description> the first source #GstBuffer to merge.
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> the offset in the first buffer from where the new
-buffer should start.
-</parameter_description>
-</parameter>
-<parameter name="buf2">
-<parameter_description> the second source #GstBuffer to merge.
-</parameter_description>
-</parameter>
-<parameter name="len">
-<parameter_description> the total length of the new buffer.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstBuffer that spans the two source
-buffers, or NULL if the arguments are invalid.
+<return> The maximum time in nanoseconds that a buffer can be late
+before it is dropped and not rendered. A value of -1 means an
+unlimited time.
+
</return>
</function>
-<function name="gst_buffer_stamp">
+<function name="gst_base_sink_get_render_delay">
<description>
-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).
+Get the render delay of @sink. see gst_base_sink_set_render_delay() for more
+information about the render delay.
-Deprecated: use gst_buffer_copy_metadata() instead, it provides more
-control.
</description>
<parameters>
-<parameter name="dest">
-<parameter_description> buffer to stamp
-</parameter_description>
-</parameter>
-<parameter name="src">
-<parameter_description> buffer to stamp from
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the render delay of @sink.
+
+</return>
</function>
-<function name="gst_buffer_straw_get_buffer">
+<function name="gst_base_sink_get_sync">
<description>
-Get one buffer from @pad. Implemented via buffer probes. This function will
-block until the pipeline passes a buffer over @pad, so for robust behavior
-in unit tests, you need to use check's timeout to fail out in the case that a
-buffer never arrives.
-
-You must have previously called gst_buffer_straw_start_pipeline() on
- pipeline and @pad.
+Checks if @sink is currently configured to synchronize against the
+clock.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> the pipeline previously started via gst_buffer_straw_start_pipeline()
-</parameter_description>
-</parameter>
-<parameter name="pad">
-<parameter_description> the pad previously passed to gst_buffer_straw_start_pipeline()
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return> the captured #GstBuffer.
+<return> TRUE if the sink is configured to synchronize against the clock.
+
</return>
</function>
-<function name="gst_buffer_straw_start_pipeline">
+<function name="gst_base_sink_get_throttle_time">
<description>
-Sets up a pipeline for buffer sucking. This will allow you to call
-gst_buffer_straw_get_buffer() to access buffers as they pass over @pad.
-
-This function is normally used in unit tests that want to verify that a
-particular element is outputting correct buffers. For example, you would make
-a pipeline via gst_parse_launch(), pull out the pad you want to monitor, then
-call gst_buffer_straw_get_buffer() to get the buffers that pass through @pad.
-The pipeline will block until you have sucked off the buffers.
-
-This function will set the state of @bin to PLAYING; to clean up, be sure to
-call gst_buffer_straw_stop_pipeline().
+Get the time that will be inserted between frames to control the
+maximum buffers per second.
-Note that you may not start two buffer straws at the same time. This function
-is intended for unit tests, not general API use. In fact it calls fail_if
-from libcheck, so you cannot use it outside unit tests.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> the pipeline to run
-</parameter_description>
-</parameter>
-<parameter name="pad">
-<parameter_description> a pad on an element in @bin
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the number of nanoseconds @sink will put between frames.
+
+</return>
</function>
-<function name="gst_buffer_straw_stop_pipeline">
+<function name="gst_base_sink_get_ts_offset">
<description>
-Set @bin to #GST_STATE_NULL and release resource allocated in
-gst_buffer_straw_start_pipeline().
+Get the synchronisation offset of @sink.
-You must have previously called gst_buffer_straw_start_pipeline() on
- pipeline and @pad.
</description>
<parameters>
-<parameter name="bin">
-<parameter_description> the pipeline previously started via gst_buffer_straw_start_pipeline()
-</parameter_description>
-</parameter>
-<parameter name="pad">
-<parameter_description> the pad previously passed to gst_buffer_straw_start_pipeline()
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> The synchronisation offset.
+
+</return>
</function>
-<function name="gst_buffer_try_new_and_alloc">
+<function name="gst_base_sink_is_async_enabled">
<description>
-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.
+Checks if @sink is currently configured to perform asynchronous state
+changes to PAUSED.
</description>
<parameters>
-<parameter name="size">
-<parameter_description> the size in bytes of the new buffer's data.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstBuffer, or NULL if the memory couldn't
-be allocated.
+<return> TRUE if the sink is configured to perform asynchronous state
+changes.
</return>
</function>
-<function name="gst_bus_add_signal_watch">
+<function name="gst_base_sink_is_last_buffer_enabled">
<description>
-Adds a bus signal watch to the default main context with the default priority
-(%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
-main context set up using g_main_context_push_thread_default() (before
-one had to create a bus watch source and attach it to the desired main
-context 'manually').
-
-After calling this statement, the bus will emit the "message" signal for each
-message posted on the bus.
-
-This function may be called multiple times. To clean up, the caller is
-responsible for calling gst_bus_remove_signal_watch() as many times as this
-function is called.
+Checks if @sink is currently configured to store the last received buffer in
+the last-buffer property.
-MT safe.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus on which you want to receive the "message" signal
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> TRUE if the sink is configured to store the last received buffer.
+
+</return>
</function>
-<function name="gst_bus_add_signal_watch_full">
+<function name="gst_base_sink_is_qos_enabled">
<description>
-Adds a bus signal watch to the default main context with the given @priority
-(e.g. %G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a
-non-default main context set up using g_main_context_push_thread_default()
-(before one had to create a bus watch source and attach it to the desired
-main context 'manually').
-
-After calling this statement, the bus will emit the "message" signal for each
-message posted on the bus when the main loop is running.
-
-This function may be called multiple times. To clean up, the caller is
-responsible for calling gst_bus_remove_signal_watch() as many times as this
-function is called.
-
-There can only be a single bus watch per bus, you most remove all signal watch
-before you can set another type of watch.
+Checks if @sink is currently configured to send Quality-of-Service events
+upstream.
-MT safe.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus on which you want to receive the "message" signal
-</parameter_description>
-</parameter>
-<parameter name="priority">
-<parameter_description> The priority of the watch.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> TRUE if the sink is configured to perform Quality-of-Service.
+
+</return>
</function>
-<function name="gst_bus_add_watch">
+<function name="gst_base_sink_query_latency">
<description>
-Adds a bus watch to the default main context with the default priority
-(%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
-main context set up using g_main_context_push_thread_default() (before
-one had to create a bus watch source and attach it to the desired main
-context 'manually').
+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.
-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.
+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
+ min_latency to a strictly possitive value.
-The watch can be removed using g_source_remove() or by returning FALSE
-from @func.
+This function is mostly used by subclasses.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to create the watch for
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
-<parameter name="func">
-<parameter_description> A function to call when a message is received.
+<parameter name="live">
+<parameter_description> if the sink is live
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data passed to @func.
+<parameter name="upstream_live">
+<parameter_description> if an upstream element is live
+</parameter_description>
+</parameter>
+<parameter name="min_latency">
+<parameter_description> the min latency of the upstream elements
+</parameter_description>
+</parameter>
+<parameter name="max_latency">
+<parameter_description> the max latency of the upstream elements
</parameter_description>
</parameter>
</parameters>
-<return> The event source id.
+<return> TRUE if the query succeeded.
-MT safe.
</return>
</function>
-<function name="gst_bus_add_watch_full">
+<function name="gst_base_sink_set_async_enabled">
<description>
-Adds a bus watch to the default main context with the given @priority (e.g.
-%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
-main context set up using g_main_context_push_thread_default() (before
-one had to create a bus watch source and attach it to the desired main
-context 'manually').
-
-This function is used to receive asynchronous messages in the main loop.
-There can only be a single bus watch per bus, you must remove it before you
-can set a new one.
-
-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.
+Configures @sink to perform all state changes asynchronusly. When async is
+disabled, the sink will immediately go to PAUSED instead of waiting for a
+preroll buffer. This feature is useful if the sink does not synchronize
+against the clock or when it is dealing with sparse streams.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to create the watch for.
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
-<parameter name="priority">
-<parameter_description> The priority of the watch.
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> A function to call when a message is received.
+<parameter name="enabled">
+<parameter_description> the new async value.
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data passed to @func.
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_base_sink_set_blocksize">
+<description>
+Set the number of bytes that the sink will pull when it is operating in pull
+mode.
+
+
+</description>
+<parameters>
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
</parameter_description>
</parameter>
-<parameter name="notify">
-<parameter_description> the function to call when the source is removed.
+<parameter name="blocksize">
+<parameter_description> the blocksize in bytes
</parameter_description>
</parameter>
</parameters>
-<return> The event source id.
-
-MT safe.
-</return>
+<return></return>
</function>
-<function name="gst_bus_async_signal_func">
+<function name="gst_base_sink_set_last_buffer_enabled">
<description>
-A helper #GstBusFunc that can be used to convert all asynchronous messages
-into signals.
+Configures @sink to store the last received buffer in the last-buffer
+property.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus
-</parameter_description>
-</parameter>
-<parameter name="message">
-<parameter_description> the #GstMessage received
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
-<parameter name="data">
-<parameter_description> user data
+<parameter name="enabled">
+<parameter_description> the new enable-last-buffer value.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE
-</return>
+<return></return>
</function>
-<function name="gst_bus_create_watch">
+<function name="gst_base_sink_set_max_lateness">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to create the watch for
+<parameter name="sink">
+<parameter_description> the sink
+</parameter_description>
+</parameter>
+<parameter name="max_lateness">
+<parameter_description> the new max lateness value.
</parameter_description>
</parameter>
</parameters>
-<return> a #GSource that can be added to a mainloop.
-</return>
+<return></return>
</function>
-<function name="gst_bus_disable_sync_message_emission">
+<function name="gst_base_sink_set_qos_enabled">
<description>
-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.
+Configures @sink to send Quality-of-Service events upstream.
-MT safe.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus on which you previously called
-gst_bus_enable_sync_message_emission()
+<parameter name="sink">
+<parameter_description> the sink
+</parameter_description>
+</parameter>
+<parameter name="enabled">
+<parameter_description> the new qos value.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bus_enable_sync_message_emission">
+<function name="gst_base_sink_set_render_delay">
<description>
-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.
+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.
-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.
+After calling this function, this sink will report additional latency and
+other sinks will adjust their latency to delay the rendering of their media.
-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.
+This function is usually called by subclasses.
-MT safe.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus on which you want to receive the "sync-message" signal
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
+</parameter_description>
+</parameter>
+<parameter name="delay">
+<parameter_description> the new delay
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_bus_have_pending">
+<function name="gst_base_sink_set_sync">
<description>
-Check if there are pending messages on the bus that
-should be handled.
+Configures @sink to synchronize on the clock or not. When
+ sync is FALSE, incoming samples will be played as fast as
+possible. If @sync is TRUE, the timestamps of the incomming
+buffers will be used to schedule the exact render time of its
+contents.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to check
+<parameter name="sink">
+<parameter_description> the sink
+</parameter_description>
+</parameter>
+<parameter name="sync">
+<parameter_description> the new sync value.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if there are messages on the bus to be handled, FALSE
-otherwise.
-
-MT safe.
-</return>
+<return></return>
</function>
-<function name="gst_bus_new">
+<function name="gst_base_sink_set_throttle_time">
<description>
-Creates a new #GstBus instance.
+Set the time that will be inserted between rendered buffers. This
+can be used to control the maximum buffers per second that the sink
+will render.
</description>
<parameters>
+<parameter name="sink">
+<parameter_description> a #GstBaseSink
+</parameter_description>
+</parameter>
+<parameter name="throttle">
+<parameter_description> the throttle time in nanoseconds
+</parameter_description>
+</parameter>
</parameters>
-<return> a new #GstBus instance
-</return>
+<return></return>
</function>
-<function name="gst_bus_peek">
+<function name="gst_base_sink_set_ts_offset">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus
+<parameter name="sink">
+<parameter_description> the sink
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the new offset
</parameter_description>
</parameter>
</parameters>
-<return> the #GstMessage that is on the bus, or NULL if the
-bus is empty.
-
-MT safe.
-</return>
+<return></return>
</function>
-<function name="gst_bus_poll">
+<function name="gst_base_sink_wait_clock">
<description>
-Poll the bus for messages. Will block while waiting for messages to come.
-You can specify a maximum time to poll with the @timeout parameter. If
- timeout is negative, this function will block indefinitely.
-
-All messages not in @events will be popped off the bus and will be ignored.
+This function will block until @time is reached. It is usually called by
+subclasses that use their own internal synchronisation.
-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.
+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 will run a main loop from the default main context when
-polling.
+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.
-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.
+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.
-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.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
-<parameter name="events">
-<parameter_description> a mask of #GstMessageType, representing the set of message types to
-poll for.
+<parameter name="time">
+<parameter_description> the running_time to be reached
</parameter_description>
</parameter>
-<parameter name="timeout">
-<parameter_description> the poll timeout, as a #GstClockTimeDiff, or -1 to poll
-indefinitely.
+<parameter name="jitter">
+<parameter_description> the jitter to be filled with time diff, or NULL
</parameter_description>
</parameter>
</parameters>
-<return> the message that was received, or NULL if the
-poll timed out. The message is taken from the bus and needs to be
-unreffed with gst_message_unref() after usage.
+<return> #GstClockReturn
</return>
</function>
-<function name="gst_bus_pop">
+<function name="gst_base_sink_wait_eos">
<description>
-Get a message from the bus.
+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.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to pop
+<parameter name="sink">
+<parameter_description> the sink
+</parameter_description>
+</parameter>
+<parameter name="time">
+<parameter_description> the running_time to be reached
+</parameter_description>
+</parameter>
+<parameter name="jitter">
+<parameter_description> the jitter to be filled with time diff, or NULL
</parameter_description>
</parameter>
</parameters>
-<return> the #GstMessage that is on the bus, or NULL if the
-bus is empty. The message is taken from the bus and needs to be unreffed
-with gst_message_unref() after usage.
+<return> #GstFlowReturn
-MT safe.
</return>
</function>
-<function name="gst_bus_pop_filtered">
+<function name="gst_base_sink_wait_preroll">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to pop
-</parameter_description>
-</parameter>
-<parameter name="types">
-<parameter_description> message types to take into account
+<parameter name="sink">
+<parameter_description> the sink
</parameter_description>
</parameter>
</parameters>
-<return> the next #GstMessage matching @type that is on
-the bus, or NULL if the bus is empty or there is no message matching
- type The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.
-
-MT safe.
+<return> #GST_FLOW_OK if the preroll completed and processing can
+continue. Any other return value should be returned from the render vmethod.
</return>
</function>
-<function name="gst_bus_post">
+<function name="gst_base_src_get_blocksize">
<description>
-Post a message on the given bus. Ownership of the message
-is taken by the bus.
+Get the number of bytes that @src will push out with each buffer.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to post on
-</parameter_description>
-</parameter>
-<parameter name="message">
-<parameter_description> the #GstMessage to post
+<parameter name="src">
+<parameter_description> the source
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the message could be posted, FALSE if the bus is flushing.
+<return> the number of bytes pushed with each buffer.
-MT safe.
</return>
</function>
-<function name="gst_bus_remove_signal_watch">
+<function name="gst_base_src_get_do_timestamp">
<description>
-Removes a signal watch previously added with gst_bus_add_signal_watch().
+Query if @src timestamps outgoing buffers based on the current running_time.
-MT safe.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus you previously added a signal watch to
+<parameter name="src">
+<parameter_description> the source
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if the base class will automatically timestamp outgoing buffers.
+
+</return>
</function>
-<function name="gst_bus_set_flushing">
+<function name="gst_base_src_is_live">
<description>
-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.
+Check if an element is in live mode.
-MT safe.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus
-</parameter_description>
-</parameter>
-<parameter name="flushing">
-<parameter_description> whether or not to flush the bus
+<parameter name="src">
+<parameter_description> base source instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if element is in live mode.
+</return>
</function>
-<function name="gst_bus_set_sync_handler">
+<function name="gst_base_src_new_seamless_segment">
<description>
-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.
+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()
-You cannot replace an existing sync_handler. You can pass NULL to this
-function, which will clear the existing handler.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to install the handler on
+<parameter name="src">
+<parameter_description> The source
</parameter_description>
</parameter>
-<parameter name="func">
-<parameter_description> The handler function to install
+<parameter name="start">
+<parameter_description> The new start value for the segment
</parameter_description>
</parameter>
-<parameter name="data">
-<parameter_description> User data that will be sent to the handler function.
+<parameter name="stop">
+<parameter_description> Stop value for the new segment
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> The position value for the new segent
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if preparation of the seamless segment succeeded.
+
+</return>
</function>
-<function name="gst_bus_sync_signal_handler">
+<function name="gst_base_src_query_latency">
<description>
-A helper GstBusSyncHandler that can be used to convert all synchronous
-messages into signals.
+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.
+ max_latency is always the undefined value of -1.
+
+This function is mostly used by subclasses.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus
+<parameter name="src">
+<parameter_description> the source
</parameter_description>
</parameter>
-<parameter name="message">
-<parameter_description> the #GstMessage received
+<parameter name="live">
+<parameter_description> if the source is live
</parameter_description>
</parameter>
-<parameter name="data">
-<parameter_description> user data
+<parameter name="min_latency">
+<parameter_description> the min latency of the source
+</parameter_description>
+</parameter>
+<parameter name="max_latency">
+<parameter_description> the max latency of the source
</parameter_description>
</parameter>
</parameters>
-<return> GST_BUS_PASS
+<return> TRUE if the query succeeded.
+
</return>
</function>
-<function name="gst_bus_timed_pop">
+<function name="gst_base_src_set_blocksize">
<description>
-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.
+Set the number of bytes that @src will push out with each buffer. When
+ blocksize is set to -1, a default length will be used.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to pop
+<parameter name="src">
+<parameter_description> the source
</parameter_description>
</parameter>
-<parameter name="timeout">
-<parameter_description> a timeout
+<parameter name="blocksize">
+<parameter_description> the new blocksize in bytes
</parameter_description>
</parameter>
</parameters>
-<return> the #GstMessage that is on the bus after the
-specified timeout or NULL if the bus is empty after the timeout expired.
-The message is taken from the bus and needs to be unreffed with
-gst_message_unref() after usage.
-
-MT safe.
-
-</return>
+<return></return>
</function>
-<function name="gst_bus_timed_pop_filtered">
+<function name="gst_base_src_set_do_timestamp">
<description>
-Get a message from the bus whose type matches the message type mask @types,
-waiting up to the specified timeout (and discarding any messages that do not
-match the mask provided).
-
-If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If
- timeout is #GST_CLOCK_TIME_NONE, this function will block forever until a
-matching message was posted on the bus.
+Configure @src to automatically timestamp outgoing buffers based on the
+current running_time of the pipeline. This property is mostly useful for live
+sources.
</description>
<parameters>
-<parameter name="bus">
-<parameter_description> a #GstBus to pop from
-</parameter_description>
-</parameter>
-<parameter name="timeout">
-<parameter_description> a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever
+<parameter name="src">
+<parameter_description> the source
</parameter_description>
</parameter>
-<parameter name="types">
-<parameter_description> message types to take into account, GST_MESSAGE_ANY for any type
+<parameter name="timestamp">
+<parameter_description> enable or disable timestamping
</parameter_description>
</parameter>
</parameters>
-<return> a #GstMessage matching the filter in @types,
-or NULL if no matching message was found on the bus until the timeout
-expired. The message is taken from the bus and needs to be unreffed
-with gst_message_unref() after usage.
-
-MT safe.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_dup_data">
+<function name="gst_base_src_set_dynamic_size">
<description>
-Free-function: g_free
+If not @dynamic, size is only updated when needed, such as when trying to
+read past current tracked size. Otherwise, size is checked for upon each
+read.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Size in bytes
+<parameter name="src">
+<parameter_description> base source instance
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> address of a
-#guint8 pointer variable in which to store the result
+<parameter name="dynamic">
+<parameter_description> new dynamic size mode
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_dup_string_utf16">
+<function name="gst_base_src_set_format">
<description>
-Free-function: g_free
+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 #GstBaseSrcClass.is_seekable() returns TRUE.
+
+This function must only be called in states < %GST_STATE_PAUSED.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="src">
+<parameter_description> base source instance
</parameter_description>
</parameter>
-<parameter name="str">
-<parameter_description> address of a
-#guint16 pointer varieble in which to store the result
+<parameter name="format">
+<parameter_description> the format to use
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be read, %FALSE otherwise. The
-string put into @str must be freed with g_free() when no longer needed.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_dup_string_utf32">
+<function name="gst_base_src_set_live">
<description>
-Free-function: g_free
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="src">
+<parameter_description> base source instance
</parameter_description>
</parameter>
-<parameter name="str">
-<parameter_description> address of a
-#guint32 pointer varieble in which to store the result
+<parameter name="live">
+<parameter_description> new live-mode
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be read, %FALSE otherwise. The
-string put into @str must be freed with g_free() when no longer needed.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_dup_string_utf8">
+<function name="gst_base_src_wait_playing">
<description>
-Free-function: g_free
+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.
-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 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 will fail if no NUL-terminator was found in in the data.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="str">
-<parameter_description> address of a
-#gchar pointer varieble in which to store the result
+<parameter name="src">
+<parameter_description> the src
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be read into @str, %FALSE otherwise. The
-string put into @str must be freed with g_free() when no longer needed.
-
+<return> #GST_FLOW_OK if @src is PLAYING and processing can
+continue. Any other return value should be returned from the create vmethod.
</return>
</function>
-<function name="gst_byte_reader_free">
+<function name="gst_base_transform_is_in_place">
<description>
-Frees a #GstByteReader instance, which was previously allocated by
-gst_byte_reader_new() or gst_byte_reader_new_from_buffer().
+See if @trans is configured as a in_place transform.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> the #GstBaseTransform to query
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> TRUE is the transform is configured in in_place mode.
+
+MT safe.
+</return>
</function>
-<function name="gst_byte_reader_get_data">
+<function name="gst_base_transform_is_passthrough">
<description>
-Returns a constant pointer to the current data
-position if at least @size bytes are left and
-updates the current position.
-
+See if @trans is configured as a passthrough transform.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Size in bytes
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> address of a
-#guint8 pointer variable in which to store the result
+<parameter name="trans">
+<parameter_description> the #GstBaseTransform to query
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> TRUE is the transform is configured in passthrough mode.
+MT safe.
</return>
</function>
-<function name="gst_byte_reader_get_float32_be">
+<function name="gst_base_transform_is_qos_enabled">
<description>
-Read a 32 bit big endian floating point value into @val
-and update the current position.
+Queries if the transform will handle QoS.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gfloat to store the result
+<parameter name="trans">
+<parameter_description> a #GstBaseTransform
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> TRUE if QoS is enabled.
+
+MT safe.
</return>
</function>
-<function name="gst_byte_reader_get_float32_le">
+<function name="gst_base_transform_reconfigure">
<description>
-Read a 32 bit little endian floating point value into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gfloat to store the result
+<parameter name="trans">
+<parameter_description> a #GstBaseTransform
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_float64_be">
+<function name="gst_base_transform_set_gap_aware">
<description>
-Read a 64 bit big endian floating point value into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> a #GstBaseTransform
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gdouble to store the result
+<parameter name="gap_aware">
+<parameter_description> New state
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_float64_le">
+<function name="gst_base_transform_set_in_place">
<description>
-Read a 64 bit little endian floating point value into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> the #GstBaseTransform to modify
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gdouble to store the result
+<parameter name="in_place">
+<parameter_description> Boolean value indicating that we would like to operate
+on in_place buffers.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_int16_be">
+<function name="gst_base_transform_set_passthrough">
<description>
-Read a signed 16 bit big endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> the #GstBaseTransform to set
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint16 to store the result
+<parameter name="passthrough">
+<parameter_description> boolean indicating passthrough mode.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_int16_le">
+<function name="gst_base_transform_set_qos_enabled">
<description>
-Read a signed 16 bit little endian integer into @val
-and update the current position.
+Enable or disable QoS handling in the transform.
+
+MT safe.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> a #GstBaseTransform
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint16 to store the result
+<parameter name="enabled">
+<parameter_description> new state
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_int24_be">
+<function name="gst_base_transform_suggest">
<description>
-Read a signed 24 bit big endian integer into @val
-and update the current position.
+Instructs @trans to suggest new @caps upstream. A copy of @caps will be
+taken.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> a #GstBaseTransform
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="caps">
+<parameter_description> caps to suggest
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> buffer size to suggest
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_int24_le">
+<function name="gst_base_transform_update_qos">
<description>
-Read a signed 24 bit little endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="trans">
+<parameter_description> a #GstBaseTransform
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="proportion">
+<parameter_description> the proportion
+</parameter_description>
+</parameter>
+<parameter name="diff">
+<parameter_description> the diff against the clock
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> the timestamp of the buffer generating the QoS expressed in
+running_time.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_int32_be">
+<function name="gst_basertppayload_is_filled">
<description>
-Read a signed 32 bit big endian integer into @val
-and update the current position.
+Check if the packet with @size and @duration would exceed the configured
+maximum size.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="payload">
+<parameter_description> a #GstBaseRTPPayload
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="size">
+<parameter_description> the size of the packet
+</parameter_description>
+</parameter>
+<parameter name="duration">
+<parameter_description> the duration of the packet
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> %TRUE if the packet of @size and @duration would exceed the
+configured MTU or max_ptime.
</return>
</function>
-<function name="gst_byte_reader_get_int32_le">
+<function name="gst_basertppayload_push">
<description>
-Read a signed 32 bit little endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="payload">
+<parameter_description> a #GstBaseRTPPayload
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstFlowReturn.
</return>
</function>
-<function name="gst_byte_reader_get_int64_be">
+<function name="gst_basertppayload_push_list">
<description>
-Read a signed 64 bit big endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="payload">
+<parameter_description> a #GstBaseRTPPayload
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint64 to store the result
+<parameter name="list">
+<parameter_description> a #GstBufferList
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> a #GstFlowReturn.
</return>
</function>
-<function name="gst_byte_reader_get_int64_le">
+<function name="gst_basertppayload_set_options">
<description>
-Read a signed 64 bit little endian integer into @val
-and update the current position.
-
+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().
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="payload">
+<parameter_description> a #GstBaseRTPPayload
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint64 to store the result
+<parameter name="media">
+<parameter_description> the media type (typically "audio" or "video")
+</parameter_description>
+</parameter>
+<parameter name="dynamic">
+<parameter_description> if the payload type is dynamic
+</parameter_description>
+</parameter>
+<parameter name="encoding_name">
+<parameter_description> the encoding name
+</parameter_description>
+</parameter>
+<parameter name="clock_rate">
+<parameter_description> the clock rate of the media
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_int8">
+<function name="gst_basertppayload_set_outcaps">
<description>
-Read a signed 8 bit integer into @val and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="payload">
+<parameter_description> a #GstBaseRTPPayload
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint8 to store the result
+<parameter name="fieldname">
+<parameter_description> the first field name or %NULL
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> field values
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> %TRUE if the caps could be set.
</return>
</function>
-<function name="gst_byte_reader_get_pos">
+<function name="gst_bin_add">
<description>
-Returns the current position of a #GstByteReader instance in bytes.
+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.
+
+<note>
+When you add an element to an already-running pipeline, you will have to
+take care to set the state of the newly-added element to the desired
+state (usually PLAYING or PAUSED, same you set the pipeline to originally)
+with gst_element_set_state(), or use gst_element_sync_state_with_parent().
+The bin or pipeline will not take care of this for you.
+</note>
+
+MT safe.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> a #GstBin
+</parameter_description>
+</parameter>
+<parameter name="element">
+<parameter_description> the #GstElement to add
</parameter_description>
</parameter>
</parameters>
-<return> The current position of @reader in bytes.
-
+<return> TRUE if the element could be added, FALSE if
+the bin does not want to accept the element.
</return>
</function>
-<function name="gst_byte_reader_get_remaining">
+<function name="gst_bin_add_many">
<description>
-Returns the remaining number of bytes of a #GstByteReader instance.
-
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> a #GstBin
+</parameter_description>
+</parameter>
+<parameter name="element_1">
+<parameter_description> the #GstElement element to add to the bin
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> additional elements to add to the bin
</parameter_description>
</parameter>
</parameters>
-<return> The remaining number of bytes of @reader instance.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_get_size">
+<function name="gst_bin_find_unconnected_pad">
<description>
-Returns the total number of bytes of a #GstByteReader instance.
+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.
+
+Deprecated: use gst_bin_find_unlinked_pad() instead.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> bin in which to look for elements with unlinked pads
+</parameter_description>
+</parameter>
+<parameter name="direction">
+<parameter_description> whether to look for an unlinked source or sink pad
</parameter_description>
</parameter>
</parameters>
-<return> The total number of bytes of @reader instance.
+<return> unlinked pad of the given direction, or NULL.
</return>
</function>
-<function name="gst_byte_reader_get_string_utf8">
+<function name="gst_bin_find_unlinked_pad">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> bin in which to look for elements with unlinked pads
</parameter_description>
</parameter>
-<parameter name="str">
-<parameter_description> address of a
-#gchar pointer varieble in which to store the result
+<parameter name="direction">
+<parameter_description> whether to look for an unlinked source or sink pad
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be found, %FALSE otherwise.
+<return> unlinked pad of the given direction, or NULL.
</return>
</function>
-<function name="gst_byte_reader_get_uint16_be">
+<function name="gst_bin_get_by_interface">
<description>
-Read an unsigned 16 bit big endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint16 to store the result
+<parameter name="iface">
+<parameter_description> the #GType of an interface
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> A #GstElement inside the bin implementing the interface
</return>
</function>
-<function name="gst_byte_reader_get_uint16_le">
+<function name="gst_bin_get_by_name">
<description>
-Read an unsigned 16 bit little endian integer into @val
-and update the current position.
+Gets the element with the given name from a bin. This
+function recurses into child bins.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint16 to store the result
+<parameter name="name">
+<parameter_description> the element name to search for
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> the #GstElement with the given name, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint24_be">
+<function name="gst_bin_get_by_name_recurse_up">
<description>
-Read an unsigned 24 bit big endian integer into @val
-and update the current position.
+Gets the element with the given name from this bin. If the
+element is not found, a recursion is performed on the parent bin.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="name">
+<parameter_description> the element name to search for
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> the #GstElement with the given name, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint24_le">
+<function name="gst_bin_iterate_all_by_interface">
<description>
-Read an unsigned 24 bit little endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="iface">
+<parameter_description> the #GType of an interface
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstIterator of #GstElement for all elements
+in the bin implementing the given interface, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint32_be">
+<function name="gst_bin_iterate_elements">
<description>
-Read an unsigned 32 bit big endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstIterator of #GstElement, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint32_le">
+<function name="gst_bin_iterate_recurse">
<description>
-Read an unsigned 32 bit little endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstIterator of #GstElement, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint64_be">
+<function name="gst_bin_iterate_sinks">
<description>
-Read an unsigned 64 bit big endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint64 to store the result
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstIterator of #GstElement, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint64_le">
+<function name="gst_bin_iterate_sorted">
<description>
-Read an unsigned 64 bit little endian integer into @val
-and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint64 to store the result
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstIterator of #GstElement, or NULL
</return>
</function>
-<function name="gst_byte_reader_get_uint8">
+<function name="gst_bin_iterate_sources">
<description>
-Read an unsigned 8 bit integer into @val and update the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint8 to store the result
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a #GstIterator of #GstElement, or NULL
</return>
</function>
-<function name="gst_byte_reader_init">
+<function name="gst_bin_new">
<description>
-Initializes a #GstByteReader instance to read from @data. This function
-can be called on already initialized instances.
+Creates a new bin with the given name.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> data from which
-the #GstByteReader should read
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
+<parameter name="name">
+<parameter_description> the name of the new bin
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a new #GstBin
+</return>
</function>
-<function name="gst_byte_reader_init_from_buffer">
+<function name="gst_bin_recalculate_latency">
<description>
-Initializes a #GstByteReader instance to read from @buffer. This function
-can be called on already initialized instances.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="buffer">
-<parameter_description> Buffer from which the #GstByteReader should read
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if the latency could be queried and reconfigured.
+
+</return>
</function>
-<function name="gst_byte_reader_masked_scan_uint32">
+<function name="gst_bin_remove">
<description>
-Scan for pattern @pattern with applied mask @mask in the byte reader data,
-starting from offset @offset relative to the current position.
+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.
-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.
+If the element's pads are linked to other pads, the pads will be unlinked
+before the element is removed from the bin.
-It is an error to call this function without making sure that there is
-enough data (offset+size bytes) in the byte reader.
+MT safe.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader
-</parameter_description>
-</parameter>
-<parameter name="mask">
-<parameter_description> mask to apply to data before matching against @pattern
-</parameter_description>
-</parameter>
-<parameter name="pattern">
-<parameter_description> pattern to match (after mask is applied)
-</parameter_description>
-</parameter>
-<parameter name="offset">
-<parameter_description> offset from which to start scanning, relative to the current
-position
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> number of bytes to scan from offset
+<parameter name="element">
+<parameter_description> the #GstElement to remove
</parameter_description>
</parameter>
</parameters>
-<return> offset of the first match, or -1 if no match was found.
-
-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>
-
+<return> TRUE if the element could be removed, FALSE if
+the bin does not want to remove the element.
</return>
</function>
-<function name="gst_byte_reader_new">
+<function name="gst_bin_remove_many">
<description>
-Create a new #GstByteReader instance, which will read from @data.
-
-Free-function: gst_byte_reader_free
-
+Remove a list of elements from a bin. This function is equivalent
+to calling gst_bin_remove() with each member of the list.
</description>
<parameters>
-<parameter name="data">
-<parameter_description> data from which the
-#GstByteReader should read
+<parameter name="bin">
+<parameter_description> a #GstBin
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
+<parameter name="element_1">
+<parameter_description> the first #GstElement to remove from the bin
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> NULL-terminated list of elements to remove from the bin
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstByteReader instance
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_new_from_buffer">
+<function name="gst_bit_reader_free">
<description>
-Create a new #GstByteReader instance, which will read from the
-#GstBuffer @buffer.
-
-Free-function: gst_byte_reader_free
+Frees a #GstBitReader instance, which was previously allocated by
+gst_bit_reader_new() or gst_bit_reader_new_from_buffer().
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> Buffer from which the #GstByteReader should read
+<parameter name="reader">
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstByteReader instance
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_peek_data">
+<function name="gst_bit_reader_get_bits_uint16">
<description>
-Returns a constant pointer to the current data
-position if at least @size bytes are left and
-keeps the current position.
-
+Read @nbits bits into @val and update the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> Size in bytes
+<parameter name="val">
+<parameter_description> Pointer to a #guint16 to store the result
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> address of a
-#guint8 pointer variable in which to store the result
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -6832,20 +6519,23 @@ keeps the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_float32_be">
+<function name="gst_bit_reader_get_bits_uint32">
<description>
-Read a 32 bit big endian floating point value into @val
-but keep the current position.
+Read @nbits bits into @val and update the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
<parameter name="val">
-<parameter_description> Pointer to a #gfloat to store the result
+<parameter_description> Pointer to a #guint32 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -6854,20 +6544,23 @@ but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_float32_le">
+<function name="gst_bit_reader_get_bits_uint64">
<description>
-Read a 32 bit little endian floating point value into @val
-but keep the current position.
+Read @nbits bits into @val and update the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
<parameter name="val">
-<parameter_description> Pointer to a #gfloat to store the result
+<parameter_description> Pointer to a #guint64 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -6876,20 +6569,23 @@ but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_float64_be">
+<function name="gst_bit_reader_get_bits_uint8">
<description>
-Read a 64 bit big endian floating point value into @val
-but keep the current position.
+Read @nbits bits into @val and update the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
<parameter name="val">
-<parameter_description> Pointer to a #gdouble to store the result
+<parameter_description> Pointer to a #guint8 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -6898,174 +6594,161 @@ but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_float64_le">
+<function name="gst_bit_reader_get_pos">
<description>
-Read a 64 bit little endian floating point value into @val
-but keep the current position.
+Returns the current position of a #GstBitReader instance in bits.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gdouble to store the result
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The current position of @reader in bits.
</return>
</function>
-<function name="gst_byte_reader_peek_int16_be">
+<function name="gst_bit_reader_get_remaining">
<description>
-Read a signed 16 bit big endian integer into @val
-but keep the current position.
+Returns the remaining number of bits of a #GstBitReader instance.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint16 to store the result
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The remaining number of bits of @reader instance.
</return>
</function>
-<function name="gst_byte_reader_peek_int16_le">
+<function name="gst_bit_reader_get_size">
<description>
-Read a signed 16 bit little endian integer into @val
-but keep the current position.
+Returns the total number of bits of a #GstBitReader instance.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint16 to store the result
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> The total number of bits of @reader instance.
</return>
</function>
-<function name="gst_byte_reader_peek_int24_be">
+<function name="gst_bit_reader_init">
<description>
-Read a signed 24 bit big endian integer into @val
-but keep the current position.
+Initializes a #GstBitReader instance to read from @data. This function
+can be called on already initialized instances.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="data">
+<parameter_description> data from which the bit reader should read
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Size of @data in bytes
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_peek_int24_le">
+<function name="gst_bit_reader_init_from_buffer">
<description>
-Read a signed 24 bit little endian integer into @val
-but keep the current position.
+Initializes a #GstBitReader instance to read from @buffer. This function
+can be called on already initialized instances.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="buffer">
+<parameter_description> Buffer from which the #GstBitReader should read
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_peek_int32_be">
+<function name="gst_bit_reader_new">
<description>
-Read a signed 32 bit big endian integer into @val
-but keep the current position.
+Create a new #GstBitReader instance, which will read from @data.
+
+Free-function: gst_bit_reader_free
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="data">
+<parameter_description> Data from which the #GstBitReader should read
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="size">
+<parameter_description> Size of @data in bytes
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> a new #GstBitReader instance
</return>
</function>
-<function name="gst_byte_reader_peek_int32_le">
+<function name="gst_bit_reader_new_from_buffer">
<description>
-Read a signed 32 bit little endian integer into @val
-but keep the current position.
+Create a new #GstBitReader instance, which will read from the
+#GstBuffer @buffer.
+
+Free-function: gst_bit_reader_free
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #gint32 to store the result
+<parameter name="buffer">
+<parameter_description> Buffer from which the #GstBitReader should read
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> a new #GstBitReader instance
</return>
</function>
-<function name="gst_byte_reader_peek_int64_be">
+<function name="gst_bit_reader_peek_bits_uint16">
<description>
-Read a signed 64 bit big endian integer into @val
-but keep the current position.
+Read @nbits bits into @val but keep the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
<parameter name="val">
-<parameter_description> Pointer to a #gint64 to store the result
+<parameter_description> Pointer to a #guint16 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -7074,20 +6757,23 @@ but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_int64_le">
+<function name="gst_bit_reader_peek_bits_uint32">
<description>
-Read a signed 64 bit little endian integer into @val
-but keep the current position.
+Read @nbits bits into @val but keep the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
<parameter name="val">
-<parameter_description> Pointer to a #gint64 to store the result
+<parameter_description> Pointer to a #guint32 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -7096,19 +6782,23 @@ but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_int8">
+<function name="gst_bit_reader_peek_bits_uint64">
<description>
-Read a signed 8 bit integer into @val but keep the current position.
+Read @nbits bits into @val but keep the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
<parameter name="val">
-<parameter_description> Pointer to a #gint8 to store the result
+<parameter_description> Pointer to a #guint64 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
@@ -7117,100 +6807,83 @@ Read a signed 8 bit integer into @val but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_string">
+<function name="gst_bit_reader_peek_bits_uint8">
<description>
-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.
-
-This function will fail if no NUL-terminator was found in in the data.
+Read @nbits bits into @val but keep the current position.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
-<parameter name="str">
-<parameter_description> address of a
-#gchar pointer varieble in which to store the result
+<parameter name="val">
+<parameter_description> Pointer to a #guint8 to store the result
+</parameter_description>
+</parameter>
+<parameter name="nbits">
+<parameter_description> number of bits to read
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be skipped, %FALSE otherwise.
+<return> %TRUE if successful, %FALSE otherwise.
</return>
</function>
-<function name="gst_byte_reader_peek_string_utf8">
+<function name="gst_bit_reader_set_pos">
<description>
-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.
+Sets the new position of a #GstBitReader instance to @pos in bits.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
-<parameter name="str">
-<parameter_description> address of a
-#gchar pointer varieble in which to store the result
+<parameter name="pos">
+<parameter_description> The new position in bits
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be skipped, %FALSE otherwise.
+<return> %TRUE if the position could be set successfully, %FALSE
+otherwise.
</return>
</function>
-<function name="gst_byte_reader_peek_uint16_be">
+<function name="gst_bit_reader_skip">
<description>
-Read an unsigned 16 bit big endian integer into @val
-but keep the current position.
+Skips @nbits bits of the #GstBitReader instance.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint16 to store the result
+<parameter name="nbits">
+<parameter_description> the number of bits to skip
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> %TRUE if @nbits bits could be skipped, %FALSE otherwise.
</return>
</function>
-<function name="gst_byte_reader_peek_uint16_le">
+<function name="gst_bit_reader_skip_to_byte">
<description>
-Read an unsigned 16 bit little endian integer into @val
-but keep the current position.
+Skips until the next byte.
</description>
<parameters>
<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint16 to store the result
+<parameter_description> a #GstBitReader instance
</parameter_description>
</parameter>
</parameters>
@@ -7219,3447 +6892,6928 @@ but keep the current position.
</return>
</function>
-<function name="gst_byte_reader_peek_uint24_be">
+<function name="gst_buffer_copy_metadata">
<description>
-Read an unsigned 24 bit big endian integer into @val
-but keep the current position.
+Copies the metadata from @src into @dest. The data, size and mallocdata
+fields are not copied.
+
+ flags indicate which fields will be copied. Use #GST_BUFFER_COPY_ALL to copy
+all the metadata fields.
+
+This function is typically called from a custom buffer copy function after
+creating @dest and setting the data, size, mallocdata.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="dest">
+<parameter_description> a destination #GstBuffer
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="src">
+<parameter_description> a source #GstBuffer
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags indicating what metadata fields should be copied.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_peek_uint24_le">
+<function name="gst_buffer_create_sub">
<description>
-Read an unsigned 24 bit little endian integer into @val
-but keep the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="parent">
+<parameter_description> a #GstBuffer.
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="offset">
+<parameter_description> the offset into parent #GstBuffer at which the new sub-buffer
+begins.
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the new #GstBuffer sub-buffer, in bytes.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> the new #GstBuffer or NULL if the arguments were
+invalid.
</return>
</function>
-<function name="gst_byte_reader_peek_uint32_be">
+<function name="gst_buffer_get_caps">
<description>
-Read an unsigned 32 bit big endian integer into @val
-but keep the current position.
+Gets the media type of the buffer. This can be NULL if there
+is no media type attached to this buffer.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="buffer">
+<parameter_description> a #GstBuffer.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> a reference to the #GstCaps. unref after usage.
+Returns NULL if there were no caps on this buffer.
</return>
</function>
-<function name="gst_byte_reader_peek_uint32_le">
+<function name="gst_buffer_get_qdata">
<description>
-Read an unsigned 32 bit little endian integer into @val
-but keep the current position.
+Get metadata structure for name quark @quark.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint32 to store the result
+<parameter name="quark">
+<parameter_description> name quark of data structure to find
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
+<return> a #GstStructure, or NULL if not found
</return>
</function>
-<function name="gst_byte_reader_peek_uint64_be">
+<function name="gst_buffer_is_metadata_writable">
<description>
-Read an unsigned 64 bit big endian integer into @val
-but keep the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint64 to store the result
+<parameter name="buf">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> TRUE if the metadata is writable.
</return>
</function>
-<function name="gst_byte_reader_peek_uint64_le">
+<function name="gst_buffer_is_span_fast">
<description>
-Read an unsigned 64 bit little endian integer into @val
-but keep the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="buf1">
+<parameter_description> the first #GstBuffer.
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint64 to store the result
+<parameter name="buf2">
+<parameter_description> the second #GstBuffer.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> TRUE if the buffers are contiguous,
+FALSE if a copy would be required.
</return>
</function>
-<function name="gst_byte_reader_peek_uint8">
+<function name="gst_buffer_join">
<description>
-Read an unsigned 8 bit integer into @val but keep the current position.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="buf1">
+<parameter_description> the first source #GstBuffer.
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Pointer to a #guint8 to store the result
+<parameter name="buf2">
+<parameter_description> the second source #GstBuffer.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if successful, %FALSE otherwise.
-
+<return> the new #GstBuffer which is the concatenation of
+the source buffers.
</return>
</function>
-<function name="gst_byte_reader_set_pos">
+<function name="gst_buffer_list_foreach">
<description>
-Sets the new position of a #GstByteReader instance to @pos in bytes.
+Call @func with @data for each buffer in @list.
+
+ func can modify the passed buffer pointer or its contents. The return value
+of @func define if this function returns or if the remaining buffers in a
+group should be skipped.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="list">
+<parameter_description> a #GstBufferList
</parameter_description>
</parameter>
-<parameter name="pos">
-<parameter_description> The new position in bytes
+<parameter name="func">
+<parameter_description> a #GstBufferListFunc to call
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the position could be set successfully, %FALSE
-otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_skip">
+<function name="gst_buffer_list_get">
<description>
-Skips @nbytes bytes of the #GstByteReader instance.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="list">
+<parameter_description> a #GstBufferList
</parameter_description>
</parameter>
-<parameter name="nbytes">
-<parameter_description> the number of bytes to skip
+<parameter name="group">
+<parameter_description> the group
</parameter_description>
</parameter>
-</parameters>
-<return> %TRUE if @nbytes bytes could be skipped, %FALSE otherwise.
-
-</return>
-</function>
-
-<function name="gst_byte_reader_skip_string">
-<description>
-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.
-
-This function will fail if no NUL-terminator was found in in the data.
-
-
-</description>
-<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="idx">
+<parameter_description> the index in @group
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be skipped, %FALSE otherwise.
+<return> the buffer at @idx in @group or NULL when there
+is no buffer. The buffer remains valid as long as @list is valid.
</return>
</function>
-<function name="gst_byte_reader_skip_string_utf16">
+<function name="gst_buffer_list_iterate">
<description>
-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.
+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.
-This function will fail if no NUL-terminator was found in in the data.
+Free-function: gst_buffer_list_iterator_free
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="list">
+<parameter_description> a #GstBufferList
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be skipped, %FALSE otherwise.
+<return> a new #GstBufferListIterator of the buffers in
+ list gst_buffer_list_iterator_free() after usage
</return>
</function>
-<function name="gst_byte_reader_skip_string_utf32">
+<function name="gst_buffer_list_iterator_add">
<description>
-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.
+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 will fail if no NUL-terminator was found in in the data.
+This function takes ownership of @buffer.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be skipped, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_reader_skip_string_utf8">
+<function name="gst_buffer_list_iterator_add_group">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="reader">
-<parameter_description> a #GstByteReader instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if a string could be skipped, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_ensure_free_space">
+<function name="gst_buffer_list_iterator_add_list">
<description>
-Checks if enough free space from the current write cursor is
-available and reallocates if necessary.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> Number of bytes that should be available
+<parameter name="list">
+<parameter_description> a #GList of buffers
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if at least @size bytes are still available
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_fill">
+<function name="gst_buffer_list_iterator_do">
<description>
-Writes @size bytes containing @value to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> Value to be writen
+<parameter name="do_func">
+<parameter_description> the function to be called
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> Number of bytes to be writen
+<parameter name="user_data">
+<parameter_description> the gpointer to optional user data.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> the return value from @do_func
</return>
</function>
-<function name="gst_byte_writer_free">
+<function name="gst_buffer_list_iterator_free">
<description>
-Frees @writer and all memory allocated by it.
+Free the iterator.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> the #GstBufferListIterator to free
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_byte_writer_free_and_get_buffer">
+<function name="gst_buffer_list_iterator_merge_group">
<description>
-Frees @writer and all memory allocated by it except
-the current data, which is returned as #GstBuffer.
+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.
-Free-function: gst_buffer_unref
+This function will not move the implicit cursor or in any other way affect
+the state of the iterator @it or the list.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
-<return> the current data as buffer. gst_buffer_unref()
-after usage.
+<return> a new #GstBuffer, gst_buffer_unref() after usage,
+or NULL
</return>
</function>
-<function name="gst_byte_writer_free_and_get_data">
+<function name="gst_buffer_list_iterator_n_buffers">
<description>
-Frees @writer and all memory allocated by it except
-the current data, which is returned.
+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.
-Free-function: g_free
+This function will not move the implicit cursor or in any other way affect
+the state of the iterator @it.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
-<return> the current data. g_free() after usage.
+<return> the number of buffers left to iterate in the current group
</return>
</function>
-<function name="gst_byte_writer_get_remaining">
+<function name="gst_buffer_list_iterator_next">
<description>
-Returns the remaining size of data that can still be written. If
--1 is returned the remaining size is only limited by system resources.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
-<return> the remaining size of data that can still be written
+<return> the next buffer in the current group of the
+buffer list, or NULL
</return>
</function>
-<function name="gst_byte_writer_init">
+<function name="gst_buffer_list_iterator_next_group">
<description>
-Initializes @writer to an empty instance
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> TRUE if the iterator could be advanced to the next group, FALSE if
+the iterator was already at the last group
+
+</return>
</function>
-<function name="gst_byte_writer_init_with_buffer">
+<function name="gst_buffer_list_iterator_remove">
<description>
-Initializes @writer with the given
-buffer. If @initialized is %TRUE it is possible to
-read the complete buffer from the #GstByteWriter from the beginning.
+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().
-<note>@buffer must be writable</note>
+The removed buffer is unreffed.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="buffer">
-<parameter_description> Buffer used for writing
-</parameter_description>
-</parameter>
-<parameter name="initialized">
-<parameter_description> If %TRUE the complete data can be read from the beginning
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_byte_writer_init_with_data">
+<function name="gst_buffer_list_iterator_steal">
<description>
-Initializes @writer with the given
-memory area. If @initialized is %TRUE it is possible to
-read @size bytes from the #GstByteWriter from the beginning.
+Returns the last buffer returned by gst_buffer_list_iterator_next() without
+modifying the refcount of the buffer.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> Memory
-area for writing
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
-</parameter_description>
-</parameter>
-<parameter name="initialized">
-<parameter_description> If %TRUE the complete data can be read from the beginning
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the last buffer returned by
+gst_buffer_list_iterator_next()
+
+</return>
</function>
-<function name="gst_byte_writer_init_with_size">
+<function name="gst_buffer_list_iterator_take">
<description>
-Initializes @writer with the given initial data size.
+Replaces the last buffer returned by gst_buffer_list_iterator_next() with
+ buffer in the #GstBufferList iterated with @it and takes ownership of
+ buffer gst_buffer_list_iterator_next() must have been called on @it before
+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).
+
+FIXME 0.11: this conditional taking-ownership is not good for bindings
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Initial size of data
+<parameter name="it">
+<parameter_description> a #GstBufferListIterator
</parameter_description>
</parameter>
-<parameter name="fixed">
-<parameter_description> If %TRUE the data can't be reallocated
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_byte_writer_new">
+<function name="gst_buffer_list_n_groups">
<description>
-Creates a new, empty #GstByteWriter instance
-
-Free-function: gst_byte_writer_free
+Returns the number of groups in @list.
</description>
<parameters>
+<parameter name="list">
+<parameter_description> a #GstBufferList
+</parameter_description>
+</parameter>
</parameters>
-<return> a new, empty #GstByteWriter instance
+<return> the number of groups in the buffer list
</return>
</function>
-<function name="gst_byte_writer_new_with_buffer">
+<function name="gst_buffer_list_new">
<description>
-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>
+Creates a new, empty #GstBufferList. The caller is responsible for unreffing
+the returned #GstBufferList.
-Free-function: gst_byte_writer_free
+Free-function: gst_buffer_list_unref
</description>
<parameters>
-<parameter name="buffer">
-<parameter_description> Buffer used for writing
-</parameter_description>
-</parameter>
-<parameter name="initialized">
-<parameter_description> If %TRUE the complete data can be read from the beginning
-</parameter_description>
-</parameter>
</parameters>
-<return> a new #GstByteWriter instance
+<return> the new #GstBufferList. gst_buffer_list_unref()
+after usage.
</return>
</function>
-<function name="gst_byte_writer_new_with_data">
+<function name="gst_buffer_make_metadata_writable">
<description>
-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.
+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.
-Free-function: gst_byte_writer_free
+After calling this function, @buf should not be referenced anymore. The
+result of this function has guaranteed writable metadata.
</description>
<parameters>
-<parameter name="data">
-<parameter_description> Memory area for writing
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
-</parameter_description>
-</parameter>
-<parameter name="initialized">
-<parameter_description> If %TRUE the complete data can be read from the beginning
+<parameter name="buf">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstByteWriter instance
-
+<return> a new #GstBuffer with writable metadata, which
+may or may not be the same as @buf.
</return>
</function>
-<function name="gst_byte_writer_new_with_size">
+<function name="gst_buffer_merge">
<description>
-Creates a new #GstByteWriter instance with the given
-initial data size.
+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.
-Free-function: gst_byte_writer_free
+If the buffers point to contiguous areas of memory, the buffer
+is created without copying the data.
+
+Free-function: gst_buffer_unref
</description>
<parameters>
-<parameter name="size">
-<parameter_description> Initial size of data
+<parameter name="buf1">
+<parameter_description> the first source #GstBuffer to merge.
</parameter_description>
</parameter>
-<parameter name="fixed">
-<parameter_description> If %TRUE the data can't be reallocated
+<parameter name="buf2">
+<parameter_description> the second source #GstBuffer to merge.
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstByteWriter instance
-
+<return> the new #GstBuffer which is the concatenation
+of the source buffers.
</return>
</function>
-<function name="gst_byte_writer_put_data">
+<function name="gst_buffer_new">
<description>
-Writes @size bytes of @data to @writer.
+Creates a newly allocated buffer without any data.
+
+MT safe.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> Data to write
-</parameter_description>
-</parameter>
-<parameter name="size">
-<parameter_description> Size of @data in bytes
-</parameter_description>
-</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> the new #GstBuffer.
</return>
</function>
-<function name="gst_byte_writer_put_float32_be">
+<function name="gst_buffer_new_and_alloc">
<description>
-Writes a big endian 32 bit float to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="size">
+<parameter_description> the size in bytes of the new buffer's data.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> the new #GstBuffer.
</return>
</function>
-<function name="gst_byte_writer_put_float32_le">
+<function name="gst_buffer_set_caps">
<description>
-Writes a little endian 32 bit float to @writer.
-
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="buffer">
+<parameter_description> a #GstBuffer.
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="caps">
+<parameter_description> a #GstCaps.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_float64_be">
+<function name="gst_buffer_set_qdata">
<description>
-Writes a big endian 64 bit float to @writer.
+Set metadata structure for name quark @quark to @data, or remove the
+existing metadata structure by that name in case @data is NULL.
+
+Takes ownership of @data.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="buffer">
+<parameter_description> a #GstBuffer
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="quark">
+<parameter_description> name quark of data structure to set or replace
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> a #GstStructure to store with the
+buffer, name must match @quark. Can be NULL to remove an existing
+structure. This function takes ownership of the structure passed.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_float64_le">
+<function name="gst_buffer_span">
<description>
-Writes a little endian 64 bit float to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="buf1">
+<parameter_description> the first source #GstBuffer to merge.
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="offset">
+<parameter_description> the offset in the first buffer from where the new
+buffer should start.
+</parameter_description>
+</parameter>
+<parameter name="buf2">
+<parameter_description> the second source #GstBuffer to merge.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the total length of the new buffer.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> the new #GstBuffer that spans the two source
+buffers, or NULL if the arguments are invalid.
</return>
</function>
-<function name="gst_byte_writer_put_int16_be">
+<function name="gst_buffer_stamp">
<description>
-Writes a signed big endian 16 bit integer to @writer.
+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).
+Deprecated: use gst_buffer_copy_metadata() instead, it provides more
+control.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="dest">
+<parameter_description> buffer to stamp
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="src">
+<parameter_description> buffer to stamp from
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_int16_le">
+<function name="gst_buffer_straw_get_buffer">
<description>
-Writes a signed little endian 16 bit integer to @writer.
+Get one buffer from @pad. Implemented via buffer probes. This function will
+block until the pipeline passes a buffer over @pad, so for robust behavior
+in unit tests, you need to use check's timeout to fail out in the case that a
+buffer never arrives.
+
+You must have previously called gst_buffer_straw_start_pipeline() on
+ pipeline and @pad.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bin">
+<parameter_description> the pipeline previously started via gst_buffer_straw_start_pipeline()
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="pad">
+<parameter_description> the pad previously passed to gst_buffer_straw_start_pipeline()
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> the captured #GstBuffer.
</return>
</function>
-<function name="gst_byte_writer_put_int24_be">
+<function name="gst_buffer_straw_start_pipeline">
<description>
-Writes a signed big endian 24 bit integer to @writer.
+Sets up a pipeline for buffer sucking. This will allow you to call
+gst_buffer_straw_get_buffer() to access buffers as they pass over @pad.
+
+This function is normally used in unit tests that want to verify that a
+particular element is outputting correct buffers. For example, you would make
+a pipeline via gst_parse_launch(), pull out the pad you want to monitor, then
+call gst_buffer_straw_get_buffer() to get the buffers that pass through @pad.
+The pipeline will block until you have sucked off the buffers.
+This function will set the state of @bin to PLAYING; to clean up, be sure to
+call gst_buffer_straw_stop_pipeline().
+
+Note that you may not start two buffer straws at the same time. This function
+is intended for unit tests, not general API use. In fact it calls fail_if
+from libcheck, so you cannot use it outside unit tests.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bin">
+<parameter_description> the pipeline to run
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="pad">
+<parameter_description> a pad on an element in @bin
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_int24_le">
+<function name="gst_buffer_straw_stop_pipeline">
<description>
-Writes a signed little endian 24 bit integer to @writer.
+Set @bin to #GST_STATE_NULL and release resource allocated in
+gst_buffer_straw_start_pipeline().
+You must have previously called gst_buffer_straw_start_pipeline() on
+ pipeline and @pad.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bin">
+<parameter_description> the pipeline previously started via gst_buffer_straw_start_pipeline()
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="pad">
+<parameter_description> the pad previously passed to gst_buffer_straw_start_pipeline()
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_int32_be">
+<function name="gst_buffer_try_new_and_alloc">
<description>
-Writes a signed big endian 32 bit integer to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="size">
+<parameter_description> the size in bytes of the new buffer's data.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> a new #GstBuffer, or NULL if the memory couldn't
+be allocated.
</return>
</function>
-<function name="gst_byte_writer_put_int32_le">
+<function name="gst_bus_add_signal_watch">
<description>
-Writes a signed little endian 32 bit integer to @writer.
+Adds a bus signal watch to the default main context with the default priority
+(%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
+main context set up using g_main_context_push_thread_default() (before
+one had to create a bus watch source and attach it to the desired main
+context 'manually').
+
+After calling this statement, the bus will emit the "message" signal for each
+message posted on the bus.
+
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_remove_signal_watch() as many times as this
+function is called.
+MT safe.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="bus">
+<parameter_description> a #GstBus on which you want to receive the "message" signal
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_int64_be">
+<function name="gst_bus_add_signal_watch_full">
<description>
-Writes a signed big endian 64 bit integer to @writer.
+Adds a bus signal watch to the default main context with the given @priority
+(e.g. %G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a
+non-default main context set up using g_main_context_push_thread_default()
+(before one had to create a bus watch source and attach it to the desired
+main context 'manually').
+
+After calling this statement, the bus will emit the "message" signal for each
+message posted on the bus when the main loop is running.
+
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_remove_signal_watch() as many times as this
+function is called.
+
+There can only be a single bus watch per bus, you must remove any signal
+watch before you can set another type of watch.
+MT safe.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus on which you want to receive the "message" signal
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="priority">
+<parameter_description> The priority of the watch.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_int64_le">
+<function name="gst_bus_add_watch">
<description>
-Writes a signed little endian 64 bit integer to @writer.
+Adds a bus watch to the default main context with the default priority
+(%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
+main context set up using g_main_context_push_thread_default() (before
+one had to create a bus watch source and attach it to the desired main
+context 'manually').
+
+This function is used to receive asynchronous messages in the main loop.
+There can only be a single bus watch per bus, you must remove it before you
+can set a new one.
+
+The watch can be removed using g_source_remove() or by returning FALSE
+from @func.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus to create the watch for
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="func">
+<parameter_description> A function to call when a message is received.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> The event source id.
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_int8">
+<function name="gst_bus_add_watch_full">
<description>
-Writes a signed 8 bit integer to @writer.
+Adds a bus watch to the default main context with the given @priority (e.g.
+%G_PRIORITY_DEFAULT). Since 0.10.33 it is also possible to use a non-default
+main context set up using g_main_context_push_thread_default() (before
+one had to create a bus watch source and attach it to the desired main
+context 'manually').
+
+This function is used to receive asynchronous messages in the main loop.
+There can only be a single bus watch per bus, you must remove it before you
+can set a new one.
+
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus to create the watch for.
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="priority">
+<parameter_description> The priority of the watch.
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> A function to call when a message is received.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @func.
+</parameter_description>
+</parameter>
+<parameter name="notify">
+<parameter_description> the function to call when the source is removed.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> The event source id.
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_string_utf16">
+<function name="gst_bus_async_signal_func">
<description>
-Writes a NUL-terminated UTF16 string to @writer (including the terminator).
+A helper #GstBusFunc that can be used to convert all asynchronous messages
+into signals.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus
+</parameter_description>
+</parameter>
+<parameter name="message">
+<parameter_description> the #GstMessage received
</parameter_description>
</parameter>
<parameter name="data">
-<parameter_description> UTF16 string to write
+<parameter_description> user data
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> TRUE
</return>
</function>
-<function name="gst_byte_writer_put_string_utf32">
+<function name="gst_bus_create_watch">
<description>
-Writes a NUL-terminated UTF32 string to @writer (including the terminator).
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> UTF32 string to write
+<parameter name="bus">
+<parameter_description> a #GstBus to create the watch for
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> a #GSource that can be added to a mainloop.
</return>
</function>
-<function name="gst_byte_writer_put_string_utf8">
+<function name="gst_bus_disable_sync_message_emission">
<description>
-Writes a NUL-terminated UTF8 string to @writer (including the terminator).
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> UTF8 string to
-write
+<parameter name="bus">
+<parameter_description> a #GstBus on which you previously called
+gst_bus_enable_sync_message_emission()
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_uint16_be">
+<function name="gst_bus_enable_sync_message_emission">
<description>
-Writes a unsigned big endian 16 bit integer to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus on which you want to receive the "sync-message" signal
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_bus_have_pending">
+<description>
+Check if there are pending messages on the bus that
+should be handled.
+
+
+</description>
+<parameters>
+<parameter name="bus">
+<parameter_description> a #GstBus to check
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> TRUE if there are messages on the bus to be handled, FALSE
+otherwise.
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_uint16_le">
+<function name="gst_bus_new">
<description>
-Writes a unsigned little endian 16 bit integer to @writer.
+Creates a new #GstBus instance.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
-</parameter_description>
-</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> a new #GstBus instance
</return>
</function>
-<function name="gst_byte_writer_put_uint24_be">
+<function name="gst_bus_peek">
<description>
-Writes a unsigned big endian 24 bit integer to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="bus">
+<parameter_description> a #GstBus
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> the #GstMessage that is on the bus, or NULL if the
+bus is empty.
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_uint24_le">
+<function name="gst_bus_poll">
<description>
-Writes a unsigned little endian 24 bit integer to @writer.
+Poll the bus for messages. Will block while waiting for messages to come.
+You can specify a maximum time to poll with the @timeout parameter. If
+ timeout is negative, this function will block indefinitely.
+
+All messages not in @events will be popped off the bus and will be ignored.
+
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="events">
+<parameter_description> a mask of #GstMessageType, representing the set of message types to
+poll for.
+</parameter_description>
+</parameter>
+<parameter name="timeout">
+<parameter_description> the poll timeout, as a #GstClockTimeDiff, or -1 to poll
+indefinitely.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
+<return> the message that was received, or NULL if the
+poll timed out. The message is taken from the bus and needs to be
+unreffed with gst_message_unref() after usage.
</return>
</function>
-<function name="gst_byte_writer_put_uint32_be">
+<function name="gst_bus_pop">
<description>
-Writes a unsigned big endian 32 bit integer to @writer.
+Get a message from the bus.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="bus">
+<parameter_description> a #GstBus to pop
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> the #GstMessage that is on the bus, or NULL if the
+bus is empty. The message is taken from the bus and needs to be unreffed
+with gst_message_unref() after usage.
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_uint32_le">
+<function name="gst_bus_pop_filtered">
<description>
-Writes a unsigned little endian 32 bit integer to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus to pop
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="types">
+<parameter_description> message types to take into account
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> the next #GstMessage matching @type that is on
+the bus, or NULL if the bus is empty or there is no message matching
+ type The message is taken from the bus and needs to be unreffed with
+gst_message_unref() after usage.
+
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_uint64_be">
+<function name="gst_bus_post">
<description>
-Writes a unsigned big endian 64 bit integer to @writer.
+Post a message on the given bus. Ownership of the message
+is taken by the bus.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus to post on
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="message">
+<parameter_description> the #GstMessage to post
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
+<return> TRUE if the message could be posted, FALSE if the bus is flushing.
+MT safe.
</return>
</function>
-<function name="gst_byte_writer_put_uint64_le">
+<function name="gst_bus_remove_signal_watch">
<description>
-Writes a unsigned little endian 64 bit integer to @writer.
+Removes a signal watch previously added with gst_bus_add_signal_watch().
+MT safe.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
-</parameter_description>
-</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="bus">
+<parameter_description> a #GstBus you previously added a signal watch to
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_put_uint8">
+<function name="gst_bus_set_flushing">
<description>
-Writes a unsigned 8 bit integer to @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus
</parameter_description>
</parameter>
-<parameter name="val">
-<parameter_description> Value to write
+<parameter name="flushing">
+<parameter_description> whether or not to flush the bus
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the value could be written
-
-</return>
+<return></return>
</function>
-<function name="gst_byte_writer_reset">
+<function name="gst_bus_set_sync_handler">
<description>
-Resets @writer and frees the data if it's
-owned by @writer.
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus to install the handler on
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> The handler function to install
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> User data that will be sent to the handler function.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_byte_writer_reset_and_get_buffer">
+<function name="gst_bus_sync_signal_handler">
<description>
-Resets @writer and returns the current data as buffer.
-
-Free-function: gst_buffer_unref
+A helper GstBusSyncHandler that can be used to convert all synchronous
+messages into signals.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus
+</parameter_description>
+</parameter>
+<parameter name="message">
+<parameter_description> the #GstMessage received
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> user data
</parameter_description>
</parameter>
</parameters>
-<return> the current data as buffer. gst_buffer_unref()
-after usage.
-
+<return> GST_BUS_PASS
</return>
</function>
-<function name="gst_byte_writer_reset_and_get_data">
+<function name="gst_bus_timed_pop">
<description>
-Resets @writer and returns the current data.
+Get a message from the bus, waiting up to the specified timeout.
-Free-function: g_free
+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.
</description>
<parameters>
-<parameter name="writer">
-<parameter_description> #GstByteWriter instance
+<parameter name="bus">
+<parameter_description> a #GstBus to pop
+</parameter_description>
+</parameter>
+<parameter name="timeout">
+<parameter_description> a timeout
</parameter_description>
</parameter>
</parameters>
-<return> the current data. g_free() after usage.
+<return> the #GstMessage that is on the bus after the
+specified timeout or NULL if the bus is empty after the timeout expired.
+The message is taken from the bus and needs to be unreffed with
+gst_message_unref() after usage.
+
+MT safe.
</return>
</function>
-<function name="gst_caps_append">
+<function name="gst_bus_timed_pop_filtered">
<description>
-Appends the structures contained in @caps2 to @caps1. The structures in
- caps2 are not copied -- they are transferred to @caps1, and then @caps2 is
-freed. If either caps is ANY, the resulting caps will be ANY.
+Get a message from the bus whose type matches the message type mask @types,
+waiting up to the specified timeout (and discarding any messages that do not
+match the mask provided).
+
+If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If
+ timeout is #GST_CLOCK_TIME_NONE, this function will block forever until a
+matching message was posted on the bus.
+
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> the #GstCaps that will be appended to
+<parameter name="bus">
+<parameter_description> a #GstBus to pop from
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> the #GstCaps to append
+<parameter name="timeout">
+<parameter_description> a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever
+</parameter_description>
+</parameter>
+<parameter name="types">
+<parameter_description> message types to take into account, GST_MESSAGE_ANY for any type
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GstMessage matching the filter in @types,
+or NULL if no matching message was found on the bus until the timeout
+expired. The message is taken from the bus and needs to be unreffed
+with gst_message_unref() after usage.
+
+MT safe.
+
+</return>
</function>
-<function name="gst_caps_append_structure">
+<function name="gst_byte_reader_dup_data">
<description>
-Appends @structure to @caps. The structure is not copied; @caps
-becomes the owner of @structure.
+Free-function: g_free
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps that will be appended to
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="structure">
-<parameter_description> the #GstStructure to append
+<parameter name="size">
+<parameter_description> Size in bytes
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> address of a
+#guint8 pointer variable in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_caps_can_intersect">
+<function name="gst_byte_reader_dup_string_utf16">
<description>
-Tries intersecting @caps1 and @caps2 and reports whether the result would not
-be empty
+Free-function: g_free
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> a #GstCaps to intersect
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> a #GstCaps to intersect
+<parameter name="str">
+<parameter_description> address of a
+#guint16 pointer varieble in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if intersection would be not empty
+<return> %TRUE if a string could be read, %FALSE otherwise. The
+string put into @str must be freed with g_free() when no longer needed.
</return>
</function>
-<function name="gst_caps_copy">
+<function name="gst_byte_reader_dup_string_utf32">
<description>
-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.
+Free-function: g_free
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to copy
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> address of a
+#guint32 pointer varieble in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if a string could be read, %FALSE otherwise. The
+string put into @str must be freed with g_free() when no longer needed.
+
</return>
</function>
-<function name="gst_caps_copy_nth">
+<function name="gst_byte_reader_dup_string_utf8">
<description>
-Creates a new #GstCaps and appends a copy of the nth structure
-contained in @caps.
+Free-function: g_free
+
+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.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to copy
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="nth">
-<parameter_description> the nth structure to copy
+<parameter name="str">
+<parameter_description> address of a
+#gchar pointer varieble in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if a string could be read into @str, %FALSE otherwise. The
+string put into @str must be freed with g_free() when no longer needed.
+
</return>
</function>
-<function name="gst_caps_do_simplify">
+<function name="gst_byte_reader_free">
<description>
-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.
+Frees a #GstByteReader instance, which was previously allocated by
+gst_byte_reader_new() or gst_byte_reader_new_from_buffer().
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a #GstCaps to simplify
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
</parameters>
-<return> TRUE, if the caps could be simplified
-</return>
+<return></return>
</function>
-<function name="gst_caps_from_string">
+<function name="gst_byte_reader_get_data">
<description>
-Converts @caps from a string representation.
+Returns a constant pointer to the current data
+position if at least @size bytes are left and
+updates the current position.
+
</description>
<parameters>
-<parameter name="string">
-<parameter_description> a string to convert to #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Size in bytes
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> address of a
+#guint8 pointer variable in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return> a newly allocated #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_get_size">
+<function name="gst_byte_reader_get_float32_be">
<description>
-Gets the number of structures contained in @caps.
+Read a 32 bit big endian floating point value into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gfloat to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the number of structures that @caps contains
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_get_structure">
+<function name="gst_byte_reader_get_float32_le">
<description>
-Finds the structure in @caps that has the index @index, and
-returns it.
-
-WARNING: This function takes a const GstCaps *, but returns a
-non-const GstStructure *. This is for programming convenience --
-the caller should be aware that structures inside a constant
-#GstCaps should not be modified. However, if you know the caps
-are writable, either because you have just copied them or made
-them writable with gst_caps_make_writable(), you may modify the
-structure returned in the usual way, e.g. with functions like
-gst_structure_set().
-
-You do not need to free or unref the structure returned, it
-belongs to the #GstCaps.
+Read a 32 bit little endian floating point value into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="index">
-<parameter_description> the index of the structure
+<parameter name="val">
+<parameter_description> Pointer to a #gfloat to store the result
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to the #GstStructure corresponding
-to @index
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_intersect">
+<function name="gst_byte_reader_get_float64_be">
<description>
-Creates a new #GstCaps that contains all the formats that are common
-to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode.
+Read a 64 bit big endian floating point value into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> a #GstCaps to intersect
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> a #GstCaps to intersect
+<parameter name="val">
+<parameter_description> Pointer to a #gdouble to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_intersect_first">
+<function name="gst_byte_reader_get_float64_le">
<description>
-Creates a new #GstCaps that contains all the formats that are common
-to both @caps1 and @caps2.
-
-Unlike @gst_caps_intersect, the returned caps will be ordered in a similar
-fashion as @caps1.
+Read a 64 bit little endian floating point value into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> a #GstCaps to intersect
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> a #GstCaps to intersect
+<parameter name="val">
+<parameter_description> Pointer to a #gdouble to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_intersect_full">
+<function name="gst_byte_reader_get_int16_be">
<description>
-Creates a new #GstCaps that contains all the formats that are common
-to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode
-used.
+Read a signed 16 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> a #GstCaps to intersect
-</parameter_description>
-</parameter>
-<parameter name="caps2">
-<parameter_description> a #GstCaps to intersect
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="mode">
-<parameter_description> The intersection algorithm/mode to use
+<parameter name="val">
+<parameter_description> Pointer to a #gint16 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_always_compatible">
+<function name="gst_byte_reader_get_int16_le">
<description>
-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.
+Read a signed 16 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> the #GstCaps to test
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> the #GstCaps to test
+<parameter name="val">
+<parameter_description> Pointer to a #gint16 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if @caps1 is a subset of @caps2.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_any">
+<function name="gst_byte_reader_get_int24_be">
<description>
-Determines if @caps represents any media format.
+Read a signed 24 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to test
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if @caps represents any format.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_empty">
+<function name="gst_byte_reader_get_int24_le">
<description>
-Determines if @caps represents no media formats.
+Read a signed 24 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to test
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if @caps represents no formats.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_equal">
+<function name="gst_byte_reader_get_int32_be">
<description>
-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.
+Read a signed 32 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> a #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> another #GstCaps
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if both caps are equal.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_equal_fixed">
+<function name="gst_byte_reader_get_int32_le">
<description>
-Tests if two #GstCaps are equal. This function only works on fixed
-#GstCaps.
+Read a signed 32 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> the #GstCaps to test
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> the #GstCaps to test
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the arguments represent the same format
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_fixed">
+<function name="gst_byte_reader_get_int64_be">
<description>
-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.
+Read a signed 64 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to test
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gint64 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if @caps is fixed
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_is_subset">
+<function name="gst_byte_reader_get_int64_le">
<description>
-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>
+Read a signed 64 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="subset">
-<parameter_description> a #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="superset">
-<parameter_description> a potentially greater #GstCaps
+<parameter name="val">
+<parameter_description> Pointer to a #gint64 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @subset is a subset of @superset
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_load_thyself">
+<function name="gst_byte_reader_get_int8">
<description>
-Creates a #GstCaps from its XML serialization.
+Read a signed 8 bit integer into @val and update the current position.
</description>
<parameters>
-<parameter name="parent">
-<parameter_description> a XML node
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gint8 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> a new #GstCaps structure
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_make_writable">
+<function name="gst_byte_reader_get_pos">
<description>
-Returns a writable copy of @caps.
-
-If there is only one reference count on @caps, the caller must be the owner,
-and so this function will return the caps object unchanged. If on the other
-hand there is more than one reference on the object, a new caps object will
-be returned. The caller's reference on @caps will be removed, and instead the
-caller will own a reference to the returned object.
-
-In short, this function unrefs the caps in the argument and refs the caps
-that it returns. Don't access the argument after calling this function. See
-also: gst_caps_ref().
+Returns the current position of a #GstByteReader instance in bytes.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to make writable
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
</parameters>
-<return> the same #GstCaps object.
+<return> The current position of @reader in bytes.
+
</return>
</function>
-<function name="gst_caps_merge">
+<function name="gst_byte_reader_get_remaining">
<description>
-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.
+Returns the remaining number of bytes of a #GstByteReader instance.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> the #GstCaps that will take the new entries
-</parameter_description>
-</parameter>
-<parameter name="caps2">
-<parameter_description> the #GstCaps to merge in
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> The remaining number of bytes of @reader instance.
+
+</return>
</function>
-<function name="gst_caps_merge_structure">
+<function name="gst_byte_reader_get_size">
<description>
-Appends @structure to @caps if its not already expressed by @caps. The
-structure is not copied; @caps becomes the owner of @structure.
+Returns the total number of bytes of a #GstByteReader instance.
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps that will the the new structure
-</parameter_description>
-</parameter>
-<parameter name="structure">
-<parameter_description> the #GstStructure to merge
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> The total number of bytes of @reader instance.
+
+</return>
</function>
-<function name="gst_caps_new_any">
+<function name="gst_byte_reader_get_string_utf8">
<description>
-Creates a new #GstCaps that indicates that it is compatible with
-any media format.
+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.
</description>
<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> address of a
+#gchar pointer varieble in which to store the result
+</parameter_description>
+</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if a string could be found, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_new_empty">
+<function name="gst_byte_reader_get_uint16_be">
<description>
-Creates a new #GstCaps that is empty. That is, the returned
-#GstCaps contains no media formats.
-Caller is responsible for unreffing the returned caps.
+Read an unsigned 16 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint16 to store the result
+</parameter_description>
+</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_new_full">
+<function name="gst_byte_reader_get_uint16_le">
<description>
-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.
+Read an unsigned 16 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="struct1">
-<parameter_description> the first structure to add
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> additional structures to add
+<parameter name="val">
+<parameter_description> Pointer to a #guint16 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_new_full_valist">
+<function name="gst_byte_reader_get_uint24_be">
<description>
-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.
+Read an unsigned 24 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="structure">
-<parameter_description> the first structure to add
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="var_args">
-<parameter_description> additional structures to add
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_new_simple">
+<function name="gst_byte_reader_get_uint24_le">
<description>
-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.
+Read an unsigned 24 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="media_type">
-<parameter_description> the media type of the structure
-</parameter_description>
-</parameter>
-<parameter name="fieldname">
-<parameter_description> first field to set
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> additional arguments
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_normalize">
+<function name="gst_byte_reader_get_uint32_be">
<description>
-Creates a new #GstCaps that represents the same set of formats as
- caps, but contains no lists. Each list is expanded into separate
- GstStructures
+Read an unsigned 32 bit big endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a #GstCaps to normalize
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_ref">
+<function name="gst_byte_reader_get_uint32_le">
<description>
-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.
+Read an unsigned 32 bit little endian integer into @val
+and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to reference
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the same #GstCaps object.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_remove_structure">
+<function name="gst_byte_reader_get_uint64_be">
<description>
-removes the stucture with the given index from the list of structures
-contained in @caps.
+Read an unsigned 64 bit big endian integer into @val
+and update the current position.
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to remove from
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="idx">
-<parameter_description> Index of the structure to remove
+<parameter name="val">
+<parameter_description> Pointer to a #guint64 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_caps_replace">
+<function name="gst_byte_reader_get_uint64_le">
<description>
-Replaces *caps with @newcaps. Unrefs the #GstCaps in the location
-pointed to by @caps, if applicable, then modifies @caps to point to
- newcaps An additional ref on @newcaps is taken.
+Read an unsigned 64 bit little endian integer into @val
+and update the current position.
-This function does not take any locks so you might want to lock
-the object owning @caps pointer.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a pointer to #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="newcaps">
-<parameter_description> a #GstCaps to replace *caps
+<parameter name="val">
+<parameter_description> Pointer to a #guint64 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_caps_save_thyself">
+<function name="gst_byte_reader_get_uint8">
<description>
-Serializes a #GstCaps to XML and adds it as a child node of @parent.
+Read an unsigned 8 bit integer into @val and update the current position.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a #GstCaps structure
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="parent">
-<parameter_description> a XML parent node
+<parameter name="val">
+<parameter_description> Pointer to a #guint8 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> a XML node pointer
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_set_simple">
+<function name="gst_byte_reader_init">
<description>
-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
- caps was not simple. If your code needs to work with those versions
-of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
-is %TRUE for @caps.</note>
+Initializes a #GstByteReader instance to read from @data. This function
+can be called on already initialized instances.
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to set
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="field">
-<parameter_description> first field to set
+<parameter name="data">
+<parameter_description> data from which
+the #GstByteReader should read
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> additional parameters
+<parameter name="size">
+<parameter_description> Size of @data in bytes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_caps_set_simple_valist">
+<function name="gst_byte_reader_init_from_buffer">
<description>
-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
- caps was not simple. If your code needs to work with those versions
-of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
-is %TRUE for @caps.</note>
+Initializes a #GstByteReader instance to read from @buffer. This function
+can be called on already initialized instances.
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to set
-</parameter_description>
-</parameter>
-<parameter name="field">
-<parameter_description> first field to set
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="varargs">
-<parameter_description> additional parameters
+<parameter name="buffer">
+<parameter_description> Buffer from which the #GstByteReader should read
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_caps_set_value">
+<function name="gst_byte_reader_masked_scan_uint32">
<description>
-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.
+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.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a writable caps
+<parameter name="reader">
+<parameter_description> a #GstByteReader
</parameter_description>
</parameter>
-<parameter name="field">
-<parameter_description> name of the field to set
+<parameter name="mask">
+<parameter_description> mask to apply to data before matching against @pattern
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> value to set the field to
+<parameter name="pattern">
+<parameter_description> pattern to match (after mask is applied)
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> offset from which to start scanning, relative to the current
+position
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> number of bytes to scan from offset
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> offset of the first match, or -1 if no match was found.
+
+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>
+
+</return>
</function>
-<function name="gst_caps_steal_structure">
+<function name="gst_byte_reader_new">
<description>
-Retrieves the stucture with the given index from the list of structures
-contained in @caps. The caller becomes the owner of the returned structure.
+Create a new #GstByteReader instance, which will read from @data.
+
+Free-function: gst_byte_reader_free
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to retrieve from
+<parameter name="data">
+<parameter_description> data from which the
+#GstByteReader should read
</parameter_description>
</parameter>
-<parameter name="index">
-<parameter_description> Index of the structure to retrieve
+<parameter name="size">
+<parameter_description> Size of @data in bytes
</parameter_description>
</parameter>
</parameters>
-<return> a pointer to the #GstStructure corresponding
-to @index.
+<return> a new #GstByteReader instance
</return>
</function>
-<function name="gst_caps_subtract">
+<function name="gst_byte_reader_new_from_buffer">
<description>
-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>
+Create a new #GstByteReader instance, which will read from the
+#GstBuffer @buffer.
+
+Free-function: gst_byte_reader_free
</description>
<parameters>
-<parameter name="minuend">
-<parameter_description> #GstCaps to substract from
-</parameter_description>
-</parameter>
-<parameter name="subtrahend">
-<parameter_description> #GstCaps to substract
+<parameter name="buffer">
+<parameter_description> Buffer from which the #GstByteReader should read
</parameter_description>
</parameter>
</parameters>
-<return> the resulting caps
+<return> a new #GstByteReader instance
+
</return>
</function>
-<function name="gst_caps_to_string">
+<function name="gst_byte_reader_peek_data">
<description>
-Converts @caps to a string representation. This string representation
-can be converted back to a #GstCaps by gst_caps_from_string().
+Returns a constant pointer to the current data
+position if at least @size bytes are left and
+keeps the current position.
-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.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> a #GstCaps
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Size in bytes
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> address of a
+#guint8 pointer variable in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return> a newly allocated string representing @caps.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_truncate">
+<function name="gst_byte_reader_peek_float32_be">
<description>
-Destructively discard all but the first structure from @caps. Useful when
-fixating. @caps must be writable.
+Read a 32 bit big endian floating point value into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to truncate
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gfloat to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_caps_union">
+<function name="gst_byte_reader_peek_float32_le">
<description>
-Creates a new #GstCaps that contains all the formats that are in
-either @caps1 and @caps2.
+Read a 32 bit little endian floating point value into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> a #GstCaps to union
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> a #GstCaps to union
+<parameter name="val">
+<parameter_description> Pointer to a #gfloat to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the new #GstCaps
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_caps_unref">
+<function name="gst_byte_reader_peek_float64_be">
<description>
-Unref a #GstCaps and and free all its structures and the
-structures' values when the refcount reaches 0.
+Read a 64 bit big endian floating point value into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to unref
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gdouble to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_cdda_base_src_add_track">
+<function name="gst_byte_reader_peek_float64_le">
<description>
-CDDA sources use this function from their start vfunc to announce the
-available data and audio tracks to the base source class. The caller
-should allocate @track on the stack, the base source will do a shallow
-copy of the structure (and take ownership of the taglist if there is one).
+Read a 64 bit little endian floating point value into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="src">
-<parameter_description> a #GstCddaBaseSrc
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="track">
-<parameter_description> address of #GstCddaBaseSrcTrack to add
+<parameter name="val">
+<parameter_description> Pointer to a #gdouble to store the result
</parameter_description>
</parameter>
</parameters>
-<return> FALSE on error, otherwise TRUE.
+<return> %TRUE if successful, %FALSE otherwise.
+
</return>
</function>
-<function name="gst_check_caps_equal">
+<function name="gst_byte_reader_peek_int16_be">
<description>
-Compare two caps with gst_caps_is_equal and fail unless they are
-equal.
+Read a signed 16 bit big endian integer into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="caps1">
-<parameter_description> first caps to compare
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="caps2">
-<parameter_description> second caps to compare
+<parameter name="val">
+<parameter_description> Pointer to a #gint16 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_check_drop_buffers">
+<function name="gst_byte_reader_peek_int16_le">
<description>
-Unref and remove all buffers that are in the global @buffers GList,
-emptying the list.
+Read a signed 16 bit little endian integer into @val
+but keep the current position.
</description>
<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #gint16 to store the result
+</parameter_description>
+</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_check_element_push_buffer">
+<function name="gst_byte_reader_peek_int24_be">
<description>
-Create an @element with the factory with the name and push the
- buffer_in to this element. The element should create one buffer
-and this will be compared with @buffer_out. We only check the caps
-and the data of the buffers. This function unrefs the buffers.
+Read a signed 24 bit big endian integer into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="element_name">
-<parameter_description> name of the element that needs to be created
-</parameter_description>
-</parameter>
-<parameter name="buffer_in">
-<parameter_description> push this buffer to the element
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="buffer_out">
-<parameter_description> compare the result with this buffer
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_check_element_push_buffer_list">
+<function name="gst_byte_reader_peek_int24_le">
<description>
-Create an @element with the factory with the name and push the buffers in
- buffer_in to this element. The element should create the buffers equal to
-the buffers in @buffer_out. We only check the caps, size and the data of the
-buffers. This function unrefs the buffers in the two lists.
-The last_flow_return parameter indicates the expected flow return value from
-pushing the final buffer in the list.
-This can be used to set up a test which pushes some buffers and then an
-invalid buffer, when the final buffer is expected to fail, for example.
+Read a signed 24 bit little endian integer into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="element_name">
-<parameter_description> name of the element that needs to be created
-</parameter_description>
-</parameter>
-<parameter name="buffer_in">
-<parameter_description> a list of buffers that needs to be puched to the element
-</parameter_description>
-</parameter>
-<parameter name="buffer_out">
-<parameter_description> a list of buffers that we expect from the element
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="last_flow_return">
-<parameter_description> the last buffer push needs to give this GstFlowReturn
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_child_proxy_child_added">
+<function name="gst_byte_reader_peek_int32_be">
<description>
-Emits the "child-added" signal.
+Read a signed 32 bit big endian integer into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the parent object
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="child">
-<parameter_description> the newly added child
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_child_proxy_child_removed">
+<function name="gst_byte_reader_peek_int32_le">
<description>
-Emits the "child-removed" signal.
+Read a signed 32 bit little endian integer into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the parent object
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="child">
-<parameter_description> the removed child
+<parameter name="val">
+<parameter_description> Pointer to a #gint32 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_child_proxy_get">
+<function name="gst_byte_reader_peek_int64_be">
<description>
-Gets properties of the parent object and its children.
+Read a signed 64 bit big endian integer into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the parent object
-</parameter_description>
-</parameter>
-<parameter name="first_property_name">
-<parameter_description> name of the first property to get
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> return location for the first property, followed optionally by more name/return location pairs, followed by NULL
+<parameter name="val">
+<parameter_description> Pointer to a #gint64 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_child_proxy_get_child_by_index">
+<function name="gst_byte_reader_peek_int64_le">
<description>
-Fetches a child by its number.
+Read a signed 64 bit little endian integer into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="parent">
-<parameter_description> the parent object to get the child from
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="index">
-<parameter_description> the childs position in the child list
+<parameter name="val">
+<parameter_description> Pointer to a #gint64 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the child object or %NULL if not found (index
-too high). Unref after usage.
+<return> %TRUE if successful, %FALSE otherwise.
-MT safe.
</return>
</function>
-<function name="gst_child_proxy_get_child_by_name">
+<function name="gst_byte_reader_peek_int8">
<description>
-Looks up a child element by the given name.
-
-Implementors can use #GstObject together with gst_object_get_name()
+Read a signed 8 bit integer into @val but keep the current position.
</description>
<parameters>
-<parameter name="parent">
-<parameter_description> the parent object to get the child from
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="name">
-<parameter_description> the childs name
+<parameter name="val">
+<parameter_description> Pointer to a #gint8 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the child object or %NULL if not found. Unref
-after usage.
+<return> %TRUE if successful, %FALSE otherwise.
-MT safe.
</return>
</function>
-<function name="gst_child_proxy_get_children_count">
+<function name="gst_byte_reader_peek_string">
<description>
-Gets the number of child objects this parent contains.
+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.
+
+This function will fail if no NUL-terminator was found in in the data.
</description>
<parameters>
-<parameter name="parent">
-<parameter_description> the parent object
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="str">
+<parameter_description> address of a
+#gchar pointer varieble in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return> the number of child objects
+<return> %TRUE if a string could be skipped, %FALSE otherwise.
-MT safe.
</return>
</function>
-<function name="gst_child_proxy_get_property">
+<function name="gst_byte_reader_peek_string_utf8">
<description>
-Gets a single property using the GstChildProxy mechanism.
-You are responsible for for freeing it by calling g_value_unset()
+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.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> object to query
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> name of the property
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> a #GValue that should take the result.
+<parameter name="str">
+<parameter_description> address of a
+#gchar pointer varieble in which to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if a string could be skipped, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_child_proxy_get_valist">
+<function name="gst_byte_reader_peek_uint16_be">
<description>
-Gets properties of the parent object and its children.
+Read an unsigned 16 bit big endian integer into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the object to query
-</parameter_description>
-</parameter>
-<parameter name="first_property_name">
-<parameter_description> name of the first property to get
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="var_args">
-<parameter_description> return location for the first property, followed optionally by more name/return location pairs, followed by NULL
+<parameter name="val">
+<parameter_description> Pointer to a #guint16 to store the result
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
</function>
-<function name="gst_child_proxy_lookup">
+<function name="gst_byte_reader_peek_uint16_le">
<description>
-Looks up which object and #GParamSpec would be effected by the given @name.
+Read an unsigned 16 bit little endian integer into @val
+but keep the current position.
</description>
<parameters>
-<parameter name="object">
-<parameter_description> object to lookup the property in
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> name of the property to look up
-</parameter_description>
-</parameter>
-<parameter name="target">
-<parameter_description> pointer to a #GstObject that
-takes the real object to set property on
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="pspec">
-<parameter_description> pointer to take the #GParamSpec
-describing the property
+<parameter name="val">
+<parameter_description> Pointer to a #guint16 to store the result
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if @target and @pspec could be found. FALSE otherwise. In that
-case the values for @pspec and @target are not modified. Unref @target after
-usage.
+<return> %TRUE if successful, %FALSE otherwise.
-MT safe.
</return>
</function>
-<function name="gst_child_proxy_set">
+<function name="gst_byte_reader_peek_uint24_be">
<description>
-Sets properties of the parent object and its children.
+Read an unsigned 24 bit big endian integer into @val
+but keep the current position.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the parent object
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
</parameter_description>
</parameter>
-<parameter name="first_property_name">
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_peek_uint24_le">
+<description>
+Read an unsigned 24 bit little endian integer into @val
+but keep the current position.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_peek_uint32_be">
+<description>
+Read an unsigned 32 bit big endian integer into @val
+but keep the current position.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_peek_uint32_le">
+<description>
+Read an unsigned 32 bit little endian integer into @val
+but keep the current position.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint32 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_peek_uint64_be">
+<description>
+Read an unsigned 64 bit big endian integer into @val
+but keep the current position.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint64 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_peek_uint64_le">
+<description>
+Read an unsigned 64 bit little endian integer into @val
+but keep the current position.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint64 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_peek_uint8">
+<description>
+Read an unsigned 8 bit integer into @val but keep the current position.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Pointer to a #guint8 to store the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if successful, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_set_pos">
+<description>
+Sets the new position of a #GstByteReader instance to @pos in bytes.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="pos">
+<parameter_description> The new position in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the position could be set successfully, %FALSE
+otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_skip">
+<description>
+Skips @nbytes bytes of the #GstByteReader instance.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+<parameter name="nbytes">
+<parameter_description> the number of bytes to skip
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @nbytes bytes could be skipped, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_skip_string">
+<description>
+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.
+
+This function will fail if no NUL-terminator was found in in the data.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a string could be skipped, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_skip_string_utf16">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a string could be skipped, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_skip_string_utf32">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a string could be skipped, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_reader_skip_string_utf8">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="reader">
+<parameter_description> a #GstByteReader instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a string could be skipped, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_byte_writer_ensure_free_space">
+<description>
+Checks if enough free space from the current write cursor is
+available and reallocates if necessary.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Number of bytes that should be available
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if at least @size bytes are still available
+
+</return>
+</function>
+
+<function name="gst_byte_writer_fill">
+<description>
+Writes @size bytes containing @value to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> Value to be writen
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Number of bytes to be writen
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_free">
+<description>
+Frees @writer and all memory allocated by it.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_byte_writer_free_and_get_buffer">
+<description>
+Frees @writer and all memory allocated by it except
+the current data, which is returned as #GstBuffer.
+
+Free-function: gst_buffer_unref
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current data as buffer. gst_buffer_unref()
+after usage.
+
+</return>
+</function>
+
+<function name="gst_byte_writer_free_and_get_data">
+<description>
+Frees @writer and all memory allocated by it except
+the current data, which is returned.
+
+Free-function: g_free
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current data. g_free() after usage.
+
+</return>
+</function>
+
+<function name="gst_byte_writer_get_remaining">
+<description>
+Returns the remaining size of data that can still be written. If
+-1 is returned the remaining size is only limited by system resources.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> the remaining size of data that can still be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_init">
+<description>
+Initializes @writer to an empty instance
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_byte_writer_init_with_buffer">
+<description>
+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>
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> Buffer used for writing
+</parameter_description>
+</parameter>
+<parameter name="initialized">
+<parameter_description> If %TRUE the complete data can be read from the beginning
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_byte_writer_init_with_data">
+<description>
+Initializes @writer with the given
+memory area. If @initialized is %TRUE it is possible to
+read @size bytes from the #GstByteWriter from the beginning.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> Memory
+area for writing
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Size of @data in bytes
+</parameter_description>
+</parameter>
+<parameter name="initialized">
+<parameter_description> If %TRUE the complete data can be read from the beginning
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_byte_writer_init_with_size">
+<description>
+Initializes @writer with the given initial data size.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Initial size of data
+</parameter_description>
+</parameter>
+<parameter name="fixed">
+<parameter_description> If %TRUE the data can't be reallocated
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_byte_writer_new">
+<description>
+Creates a new, empty #GstByteWriter instance
+
+Free-function: gst_byte_writer_free
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new, empty #GstByteWriter instance
+
+</return>
+</function>
+
+<function name="gst_byte_writer_new_with_buffer">
+<description>
+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>
+
+Free-function: gst_byte_writer_free
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> Buffer used for writing
+</parameter_description>
+</parameter>
+<parameter name="initialized">
+<parameter_description> If %TRUE the complete data can be read from the beginning
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstByteWriter instance
+
+</return>
+</function>
+
+<function name="gst_byte_writer_new_with_data">
+<description>
+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.
+
+Free-function: gst_byte_writer_free
+
+
+</description>
+<parameters>
+<parameter name="data">
+<parameter_description> Memory area for writing
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Size of @data in bytes
+</parameter_description>
+</parameter>
+<parameter name="initialized">
+<parameter_description> If %TRUE the complete data can be read from the beginning
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstByteWriter instance
+
+</return>
+</function>
+
+<function name="gst_byte_writer_new_with_size">
+<description>
+Creates a new #GstByteWriter instance with the given
+initial data size.
+
+Free-function: gst_byte_writer_free
+
+
+</description>
+<parameters>
+<parameter name="size">
+<parameter_description> Initial size of data
+</parameter_description>
+</parameter>
+<parameter name="fixed">
+<parameter_description> If %TRUE the data can't be reallocated
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstByteWriter instance
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_data">
+<description>
+Writes @size bytes of @data to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> Data to write
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> Size of @data in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_float32_be">
+<description>
+Writes a big endian 32 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_float32_le">
+<description>
+Writes a little endian 32 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_float64_be">
+<description>
+Writes a big endian 64 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_float64_le">
+<description>
+Writes a little endian 64 bit float to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int16_be">
+<description>
+Writes a signed big endian 16 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int16_le">
+<description>
+Writes a signed little endian 16 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int24_be">
+<description>
+Writes a signed big endian 24 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int24_le">
+<description>
+Writes a signed little endian 24 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int32_be">
+<description>
+Writes a signed big endian 32 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int32_le">
+<description>
+Writes a signed little endian 32 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int64_be">
+<description>
+Writes a signed big endian 64 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int64_le">
+<description>
+Writes a signed little endian 64 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_int8">
+<description>
+Writes a signed 8 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_string_utf16">
+<description>
+Writes a NUL-terminated UTF16 string to @writer (including the terminator).
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> UTF16 string to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_string_utf32">
+<description>
+Writes a NUL-terminated UTF32 string to @writer (including the terminator).
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> UTF32 string to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_string_utf8">
+<description>
+Writes a NUL-terminated UTF8 string to @writer (including the terminator).
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> UTF8 string to
+write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint16_be">
+<description>
+Writes a unsigned big endian 16 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint16_le">
+<description>
+Writes a unsigned little endian 16 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint24_be">
+<description>
+Writes a unsigned big endian 24 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint24_le">
+<description>
+Writes a unsigned little endian 24 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint32_be">
+<description>
+Writes a unsigned big endian 32 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint32_le">
+<description>
+Writes a unsigned little endian 32 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint64_be">
+<description>
+Writes a unsigned big endian 64 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint64_le">
+<description>
+Writes a unsigned little endian 64 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_put_uint8">
+<description>
+Writes a unsigned 8 bit integer to @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+<parameter name="val">
+<parameter_description> Value to write
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the value could be written
+
+</return>
+</function>
+
+<function name="gst_byte_writer_reset">
+<description>
+Resets @writer and frees the data if it's
+owned by @writer.
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_byte_writer_reset_and_get_buffer">
+<description>
+Resets @writer and returns the current data as buffer.
+
+Free-function: gst_buffer_unref
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current data as buffer. gst_buffer_unref()
+after usage.
+
+</return>
+</function>
+
+<function name="gst_byte_writer_reset_and_get_data">
+<description>
+Resets @writer and returns the current data.
+
+Free-function: g_free
+
+
+</description>
+<parameters>
+<parameter name="writer">
+<parameter_description> #GstByteWriter instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> the current data. g_free() after usage.
+
+</return>
+</function>
+
+<function name="gst_caps_append">
+<description>
+Appends the structures contained in @caps2 to @caps1. The structures in
+ caps2 are not copied -- they are transferred to @caps1, and then @caps2 is
+freed. If either caps is ANY, the resulting caps will be ANY.
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> the #GstCaps that will be appended to
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> the #GstCaps to append
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_append_structure">
+<description>
+Appends @structure to @caps. The structure is not copied; @caps
+becomes the owner of @structure.
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps that will be appended to
+</parameter_description>
+</parameter>
+<parameter name="structure">
+<parameter_description> the #GstStructure to append
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_can_intersect">
+<description>
+Tries intersecting @caps1 and @caps2 and reports whether the result would not
+be empty
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if intersection would be not empty
+
+</return>
+</function>
+
+<function name="gst_caps_copy">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_copy_nth">
+<description>
+Creates a new #GstCaps and appends a copy of the nth structure
+contained in @caps.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to copy
+</parameter_description>
+</parameter>
+<parameter name="nth">
+<parameter_description> the nth structure to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_do_simplify">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps to simplify
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE, if the caps could be simplified
+</return>
+</function>
+
+<function name="gst_caps_from_string">
+<description>
+Converts @caps from a string representation.
+
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a string to convert to #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_get_size">
+<description>
+Gets the number of structures contained in @caps.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of structures that @caps contains
+</return>
+</function>
+
+<function name="gst_caps_get_structure">
+<description>
+Finds the structure in @caps that has the index @index, and
+returns it.
+
+WARNING: This function takes a const GstCaps *, but returns a
+non-const GstStructure *. This is for programming convenience --
+the caller should be aware that structures inside a constant
+#GstCaps should not be modified. However, if you know the caps
+are writable, either because you have just copied them or made
+them writable with gst_caps_make_writable(), you may modify the
+structure returned in the usual way, e.g. with functions like
+gst_structure_set().
+
+You do not need to free or unref the structure returned, it
+belongs to the #GstCaps.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="index">
+<parameter_description> the index of the structure
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the #GstStructure corresponding
+to @index
+</return>
+</function>
+
+<function name="gst_caps_intersect">
+<description>
+Creates a new #GstCaps that contains all the formats that are common
+to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_intersect_first">
+<description>
+Creates a new #GstCaps that contains all the formats that are common
+to both @caps1 and @caps2.
+
+Unlike @gst_caps_intersect, the returned caps will be ordered in a similar
+fashion as @caps1.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_intersect_full">
+<description>
+Creates a new #GstCaps that contains all the formats that are common
+to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode
+used.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> a #GstCaps to intersect
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> The intersection algorithm/mode to use
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_is_always_compatible">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if @caps1 is a subset of @caps2.
+</return>
+</function>
+
+<function name="gst_caps_is_any">
+<description>
+Determines if @caps represents any media format.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if @caps represents any format.
+</return>
+</function>
+
+<function name="gst_caps_is_empty">
+<description>
+Determines if @caps represents no media formats.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if @caps represents no formats.
+</return>
+</function>
+
+<function name="gst_caps_is_equal">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> another #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if both caps are equal.
+</return>
+</function>
+
+<function name="gst_caps_is_equal_fixed">
+<description>
+Tests if two #GstCaps are equal. This function only works on fixed
+#GstCaps.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the arguments represent the same format
+</return>
+</function>
+
+<function name="gst_caps_is_fixed">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to test
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if @caps is fixed
+</return>
+</function>
+
+<function name="gst_caps_is_strictly_equal">
+<description>
+Checks if the given caps are exactly the same set of caps.
+
+This function deals correctly with passing NULL for any of the caps.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> another #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if both caps are strictly equal.
+
+</return>
+</function>
+
+<function name="gst_caps_is_subset">
+<description>
+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>
+
+
+</description>
+<parameters>
+<parameter name="subset">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="superset">
+<parameter_description> a potentially greater #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @subset is a subset of @superset
+</return>
+</function>
+
+<function name="gst_caps_is_subset_structure">
+<description>
+Checks if @structure is a subset of @caps. See gst_caps_is_subset()
+for more information.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="structure">
+<parameter_description> a potential #GstStructure subset of @caps
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @structure is a subset of @caps
+
+</return>
+</function>
+
+<function name="gst_caps_load_thyself">
+<description>
+Creates a #GstCaps from its XML serialization.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> a XML node
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstCaps structure
+</return>
+</function>
+
+<function name="gst_caps_make_writable">
+<description>
+Returns a writable copy of @caps.
+
+If there is only one reference count on @caps, the caller must be the owner,
+and so this function will return the caps object unchanged. If on the other
+hand there is more than one reference on the object, a new caps object will
+be returned. The caller's reference on @caps will be removed, and instead the
+caller will own a reference to the returned object.
+
+In short, this function unrefs the caps in the argument and refs the caps
+that it returns. Don't access the argument after calling this function. See
+also: gst_caps_ref().
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to make writable
+</parameter_description>
+</parameter>
+</parameters>
+<return> the same #GstCaps object.
+</return>
+</function>
+
+<function name="gst_caps_merge">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> the #GstCaps that will take the new entries
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> the #GstCaps to merge in
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_merge_structure">
+<description>
+Appends @structure to @caps if its not already expressed by @caps. The
+structure is not copied; @caps becomes the owner of @structure.
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps that will the new structure
+</parameter_description>
+</parameter>
+<parameter name="structure">
+<parameter_description> the #GstStructure to merge
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_new_any">
+<description>
+Creates a new #GstCaps that indicates that it is compatible with
+any media format.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_new_empty">
+<description>
+Creates a new #GstCaps that is empty. That is, the returned
+#GstCaps contains no media formats.
+Caller is responsible for unreffing the returned caps.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_new_full">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="struct1">
+<parameter_description> the first structure to add
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> additional structures to add
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_new_full_valist">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="structure">
+<parameter_description> the first structure to add
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> additional structures to add
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_new_simple">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="media_type">
+<parameter_description> the media type of the structure
+</parameter_description>
+</parameter>
+<parameter name="fieldname">
+<parameter_description> first field to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> additional arguments
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_normalize">
+<description>
+Creates a new #GstCaps that represents the same set of formats as
+ caps, but contains no lists. Each list is expanded into separate
+ GstStructures
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps to normalize
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_ref">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to reference
+</parameter_description>
+</parameter>
+</parameters>
+<return> the same #GstCaps object.
+</return>
+</function>
+
+<function name="gst_caps_remove_structure">
+<description>
+removes the stucture with the given index from the list of structures
+contained in @caps.
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to remove from
+</parameter_description>
+</parameter>
+<parameter name="idx">
+<parameter_description> Index of the structure to remove
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_replace">
+<description>
+Replaces *caps with @newcaps. Unrefs the #GstCaps in the location
+pointed to by @caps, if applicable, then modifies @caps to point to
+ newcaps An additional ref on @newcaps is taken.
+
+This function does not take any locks so you might want to lock
+the object owning @caps pointer.
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a pointer to #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="newcaps">
+<parameter_description> a #GstCaps to replace *caps
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_save_thyself">
+<description>
+Serializes a #GstCaps to XML and adds it as a child node of @parent.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps structure
+</parameter_description>
+</parameter>
+<parameter name="parent">
+<parameter_description> a XML parent node
+</parameter_description>
+</parameter>
+</parameters>
+<return> a XML node pointer
+</return>
+</function>
+
+<function name="gst_caps_set_simple">
+<description>
+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
+ caps was not simple. If your code needs to work with those versions
+of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
+is %TRUE for @caps.</note>
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to set
+</parameter_description>
+</parameter>
+<parameter name="field">
+<parameter_description> first field to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> additional parameters
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_set_simple_valist">
+<description>
+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
+ caps was not simple. If your code needs to work with those versions
+of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE()
+is %TRUE for @caps.</note>
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to set
+</parameter_description>
+</parameter>
+<parameter name="field">
+<parameter_description> first field to set
+</parameter_description>
+</parameter>
+<parameter name="varargs">
+<parameter_description> additional parameters
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_set_value">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a writable caps
+</parameter_description>
+</parameter>
+<parameter name="field">
+<parameter_description> name of the field to set
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> value to set the field to
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_steal_structure">
+<description>
+Retrieves the stucture with the given index from the list of structures
+contained in @caps. The caller becomes the owner of the returned structure.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to retrieve from
+</parameter_description>
+</parameter>
+<parameter name="index">
+<parameter_description> Index of the structure to retrieve
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the #GstStructure corresponding
+to @index.
+
+</return>
+</function>
+
+<function name="gst_caps_subtract">
+<description>
+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>
+
+
+</description>
+<parameters>
+<parameter name="minuend">
+<parameter_description> #GstCaps to subtract from
+</parameter_description>
+</parameter>
+<parameter name="subtrahend">
+<parameter_description> #GstCaps to subtract
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resulting caps
+</return>
+</function>
+
+<function name="gst_caps_to_string">
+<description>
+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.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GstCaps
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated string representing @caps.
+</return>
+</function>
+
+<function name="gst_caps_truncate">
+<description>
+Destructively discard all but the first structure from @caps. Useful when
+fixating. @caps must be writable.
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to truncate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_caps_union">
+<description>
+Creates a new #GstCaps that contains all the formats that are in
+either @caps1 and @caps2.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> a #GstCaps to union
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> a #GstCaps to union
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GstCaps
+</return>
+</function>
+
+<function name="gst_caps_unref">
+<description>
+Unref a #GstCaps and free all its structures and the
+structures' values when the refcount reaches 0.
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to unref
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_cdda_base_src_add_track">
+<description>
+CDDA sources use this function from their start vfunc to announce the
+available data and audio tracks to the base source class. The caller
+should allocate @track on the stack, the base source will do a shallow
+copy of the structure (and take ownership of the taglist if there is one).
+
+
+</description>
+<parameters>
+<parameter name="src">
+<parameter_description> a #GstCddaBaseSrc
+</parameter_description>
+</parameter>
+<parameter name="track">
+<parameter_description> address of #GstCddaBaseSrcTrack to add
+</parameter_description>
+</parameter>
+</parameters>
+<return> FALSE on error, otherwise TRUE.
+</return>
+</function>
+
+<function name="gst_check_caps_equal">
+<description>
+Compare two caps with gst_caps_is_equal and fail unless they are
+equal.
+
+
+</description>
+<parameters>
+<parameter name="caps1">
+<parameter_description> first caps to compare
+</parameter_description>
+</parameter>
+<parameter name="caps2">
+<parameter_description> second caps to compare
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_check_drop_buffers">
+<description>
+Unref and remove all buffers that are in the global @buffers GList,
+emptying the list.
+
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_check_element_push_buffer">
+<description>
+Create an @element with the factory with the name and push the
+ buffer_in to this element. The element should create one buffer
+and this will be compared with @buffer_out. We only check the caps
+and the data of the buffers. This function unrefs the buffers.
+
+
+</description>
+<parameters>
+<parameter name="element_name">
+<parameter_description> name of the element that needs to be created
+</parameter_description>
+</parameter>
+<parameter name="buffer_in">
+<parameter_description> push this buffer to the element
+</parameter_description>
+</parameter>
+<parameter name="buffer_out">
+<parameter_description> compare the result with this buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_check_element_push_buffer_list">
+<description>
+Create an @element with the factory with the name and push the buffers in
+ buffer_in to this element. The element should create the buffers equal to
+the buffers in @buffer_out. We only check the caps, size and the data of the
+buffers. This function unrefs the buffers in the two lists.
+The last_flow_return parameter indicates the expected flow return value from
+pushing the final buffer in the list.
+This can be used to set up a test which pushes some buffers and then an
+invalid buffer, when the final buffer is expected to fail, for example.
+
+
+</description>
+<parameters>
+<parameter name="element_name">
+<parameter_description> name of the element that needs to be created
+</parameter_description>
+</parameter>
+<parameter name="buffer_in">
+<parameter_description> a list of buffers that needs to be puched to the element
+</parameter_description>
+</parameter>
+<parameter name="buffer_out">
+<parameter_description> a list of buffers that we expect from the element
+</parameter_description>
+</parameter>
+<parameter name="last_flow_return">
+<parameter_description> the last buffer push needs to give this GstFlowReturn
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_child_added">
+<description>
+Emits the "child-added" signal.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the newly added child
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_child_removed">
+<description>
+Emits the "child-removed" signal.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> the removed child
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_get">
+<description>
+Gets properties of the parent object and its children.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> name of the first property to get
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> return location for the first property, followed optionally by more name/return location pairs, followed by NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_get_child_by_index">
+<description>
+Fetches a child by its number.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> the parent object to get the child from
+</parameter_description>
+</parameter>
+<parameter name="index">
+<parameter_description> the childs position in the child list
+</parameter_description>
+</parameter>
+</parameters>
+<return> the child object or %NULL if not found (index
+too high). Unref after usage.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_child_proxy_get_child_by_name">
+<description>
+Looks up a child element by the given name.
+
+Implementors can use #GstObject together with gst_object_get_name()
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> the parent object to get the child from
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the childs name
+</parameter_description>
+</parameter>
+</parameters>
+<return> the child object or %NULL if not found. Unref
+after usage.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_child_proxy_get_children_count">
+<description>
+Gets the number of child objects this parent contains.
+
+
+</description>
+<parameters>
+<parameter name="parent">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of child objects
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_child_proxy_get_property">
+<description>
+Gets a single property using the GstChildProxy mechanism.
+You are responsible for freeing it by calling g_value_unset()
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> object to query
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of the property
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue that should take the result.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_get_valist">
+<description>
+Gets properties of the parent object and its children.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the object to query
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> name of the first property to get
+</parameter_description>
+</parameter>
+<parameter name="var_args">
+<parameter_description> return location for the first property, followed optionally by more name/return location pairs, followed by NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_lookup">
+<description>
+Looks up which object and #GParamSpec would be effected by the given @name.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> object to lookup the property in
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of the property to look up
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> pointer to a #GstObject that
+takes the real object to set property on
+</parameter_description>
+</parameter>
+<parameter name="pspec">
+<parameter_description> pointer to take the #GParamSpec
+describing the property
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if @target and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @target are not modified. Unref @target after
+usage.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_child_proxy_set">
+<description>
+Sets properties of the parent object and its children.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
+<parameter_description> name of the first property to set
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> value for the first property, followed optionally by more name/value pairs, followed by NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_set_property">
+<description>
+Sets a single property using the GstChildProxy mechanism.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> name of the property to set
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> new #GValue for the property
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_child_proxy_set_valist">
+<description>
+Sets properties of the parent object and its children.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> the parent object
+</parameter_description>
+</parameter>
+<parameter name="first_property_name">
<parameter_description> name of the first property to set
</parameter_description>
</parameter>
-<parameter name="Varargs">
-<parameter_description> value for the first property, followed optionally by more name/value pairs, followed by NULL
+<parameter name="var_args">
+<parameter_description> value for the first property, followed optionally by more name/value pairs, followed by NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_class_signal_connect">
+<description>
+Connect to a class signal.
+
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> a #GstObjectClass to attach the signal to
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the signal to attach to
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the signal function
+</parameter_description>
+</parameter>
+<parameter name="func_data">
+<parameter_description> a pointer to user data
+</parameter_description>
+</parameter>
+</parameters>
+<return> the signal id.
+</return>
+</function>
+
+<function name="gst_class_signal_emit_by_name">
+<description>
+emits the named class signal.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> a #GstObject that emits the signal
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> the name of the signal to emit
+</parameter_description>
+</parameter>
+<parameter name="self">
+<parameter_description> data for the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_clock_add_observation">
+<description>
+The time @master of the master clock and the time @slave of the slave
+clock are added to the list of observations. If enough observations
+are available, a linear regression algorithm is run on the
+observations and @clock is recalibrated.
+
+If this functions returns %TRUE, @r_squared will contain the
+correlation coefficient of the interpolation. A value of 1.0
+means a perfect regression was performed. This value can
+be used to control the sampling frequency of the master and slave
+clocks.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+<parameter name="slave">
+<parameter_description> a time on the slave
+</parameter_description>
+</parameter>
+<parameter name="master">
+<parameter_description> a time on the master
+</parameter_description>
+</parameter>
+<parameter name="r_squared">
+<parameter_description> a pointer to hold the result
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if enough observations were added to run the
+regression algorithm.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_adjust_unlocked">
+<description>
+Converts the given @internal clock time to the external time, adjusting for the
+rate and reference time set with gst_clock_set_calibration() and making sure
+that the returned time is increasing. This function should be called with the
+clock's OBJECT_LOCK held and is mainly used by clock subclasses.
+
+This function is the reverse of gst_clock_unadjust_unlocked().
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock to use
+</parameter_description>
+</parameter>
+<parameter name="internal">
+<parameter_description> a clock time
+</parameter_description>
+</parameter>
+</parameters>
+<return> the converted time of the clock.
+</return>
+</function>
+
+<function name="gst_clock_get_calibration">
+<description>
+Gets the internal rate and reference time of @clock. See
+gst_clock_set_calibration() for more information.
+
+ internal, @external, @rate_num, and @rate_denom can be left %NULL if the
+caller is not interested in the values.
+
+MT safe.
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+<parameter name="internal">
+<parameter_description> a location to store the internal time
+</parameter_description>
+</parameter>
+<parameter name="external">
+<parameter_description> a location to store the external time
+</parameter_description>
+</parameter>
+<parameter name="rate_num">
+<parameter_description> a location to store the rate numerator
+</parameter_description>
+</parameter>
+<parameter name="rate_denom">
+<parameter_description> a location to store the rate denominator
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_clock_get_internal_time">
+<description>
+Gets the current internal time of the given clock. The time is returned
+unadjusted for the offset and the rate.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock to query
+</parameter_description>
+</parameter>
+</parameters>
+<return> the internal time of the clock. Or GST_CLOCK_TIME_NONE when
+given invalid input.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_get_master">
+<description>
+Get the master clock that @clock is slaved to or %NULL when the clock is
+not slaved to any master clock.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+</parameters>
+<return> a master #GstClock or %NULL when this clock is
+not slaved to a master clock. Unref after usage.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_get_resolution">
+<description>
+Get the accuracy of the clock. The accuracy of the clock is the granularity
+of the values returned by gst_clock_get_time().
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+</parameters>
+<return> the resolution of the clock in units of #GstClockTime.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_get_time">
+<description>
+Gets the current time of the given clock. The time is always
+monotonically increasing and adjusted according to the current
+offset and rate.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock to query
+</parameter_description>
+</parameter>
+</parameters>
+<return> the time of the clock. Or GST_CLOCK_TIME_NONE when
+given invalid input.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_id_compare_func">
+<description>
+Compares the two #GstClockID instances. This function can be used
+as a GCompareFunc when sorting ids.
+
+
+</description>
+<parameters>
+<parameter name="id1">
+<parameter_description> A #GstClockID
+</parameter_description>
+</parameter>
+<parameter name="id2">
+<parameter_description> A #GstClockID to compare with
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> negative value if a < b; zero if a = b; positive value if a > b
+
+MT safe.
+</return>
</function>
-<function name="gst_child_proxy_set_property">
+<function name="gst_clock_id_get_time">
<description>
-Sets a single property using the GstChildProxy mechanism.
+Get the time of the clock ID
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the parent object
+<parameter name="id">
+<parameter_description> The #GstClockID to query
</parameter_description>
</parameter>
-<parameter name="name">
-<parameter_description> name of the property to set
+</parameters>
+<return> the time of the given clock id.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_id_ref">
+<description>
+Increase the refcount of given @id.
+
+
+</description>
+<parameters>
+<parameter name="id">
+<parameter_description> The #GstClockID to ref
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> new #GValue for the property
+</parameters>
+<return> The same #GstClockID with increased refcount.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_id_unref">
+<description>
+Unref given @id. When the refcount reaches 0 the
+#GstClockID will be freed.
+
+MT safe.
+
+</description>
+<parameters>
+<parameter name="id">
+<parameter_description> The #GstClockID to unref
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="gst_child_proxy_set_valist">
+<function name="gst_clock_id_unschedule">
<description>
-Sets properties of the parent object and its children.
+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.
</description>
<parameters>
-<parameter name="object">
-<parameter_description> the parent object
+<parameter name="id">
+<parameter_description> The id to unschedule
</parameter_description>
</parameter>
-<parameter name="first_property_name">
-<parameter_description> name of the first property to set
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_clock_id_wait">
+<description>
+Perform a blocking wait on @id.
+ id should have been created with gst_clock_new_single_shot_id()
+or gst_clock_new_periodic_id() and should not have been unscheduled
+with a call to gst_clock_id_unschedule().
+
+If the @jitter argument is not %NULL and this function returns #GST_CLOCK_OK
+or #GST_CLOCK_EARLY, it will contain the difference
+against the clock and the time of @id when this method was
+called.
+Positive values indicate how late @id was relative to the clock
+(in which case this function will return #GST_CLOCK_EARLY).
+Negative values indicate how much time was spent waiting on the clock
+before this function returned.
+
+
+</description>
+<parameters>
+<parameter name="id">
+<parameter_description> The #GstClockID to wait on
</parameter_description>
</parameter>
-<parameter name="var_args">
-<parameter_description> value for the first property, followed optionally by more name/value pairs, followed by NULL
+<parameter name="jitter">
+<parameter_description> a pointer that will contain the jitter,
+can be %NULL.
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the result of the blocking wait. #GST_CLOCK_EARLY will be returned
+if the current clock time is past the time of @id, #GST_CLOCK_OK if
+ id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was
+unscheduled with gst_clock_id_unschedule().
+
+MT safe.
+</return>
</function>
-<function name="gst_class_signal_connect">
+<function name="gst_clock_id_wait_async">
<description>
-Connect to a class signal.
+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.
</description>
<parameters>
-<parameter name="klass">
-<parameter_description> a #GstObjectClass to attach the signal to
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> the name of the signal to attach to
+<parameter name="id">
+<parameter_description> a #GstClockID to wait on
</parameter_description>
</parameter>
<parameter name="func">
-<parameter_description> the signal function
+<parameter_description> The callback function
</parameter_description>
</parameter>
-<parameter name="func_data">
-<parameter_description> a pointer to user data
+<parameter name="user_data">
+<parameter_description> User data passed in the callback
</parameter_description>
</parameter>
</parameters>
-<return> the signal id.
+<return> the result of the non blocking wait.
+
+MT safe.
</return>
</function>
-<function name="gst_class_signal_emit_by_name">
+<function name="gst_clock_id_wait_async_full">
<description>
-emits the named class signal.
+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.
+
</description>
<parameters>
-<parameter name="object">
-<parameter_description> a #GstObject that emits the signal
+<parameter name="id">
+<parameter_description> a #GstClockID to wait on
</parameter_description>
</parameter>
-<parameter name="name">
-<parameter_description> the name of the signal to emit
+<parameter name="func">
+<parameter_description> The callback function
</parameter_description>
</parameter>
-<parameter name="self">
-<parameter_description> data for the signal
+<parameter name="user_data">
+<parameter_description> User data passed in the callback
+</parameter_description>
+</parameter>
+<parameter name="destroy_data">
+<parameter_description> #GDestroyNotify for user_data
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> the result of the non blocking wait.
+
+MT safe.
+
+</return>
</function>
-<function name="gst_clock_add_observation">
+<function name="gst_clock_new_periodic_id">
<description>
-The time @master of the master clock and the time @slave of the slave
-clock are added to the list of observations. If enough observations
-are available, a linear regression algorithm is run on the
-observations and @clock is recalibrated.
+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.
-If this functions returns %TRUE, @r_squared will contain the
-correlation coefficient of the interpolation. A value of 1.0
-means a perfect regression was performed. This value can
-be used to control the sampling frequency of the master and slave
-clocks.
+Free-function: gst_clock_id_unref
</description>
<parameters>
<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter_description> The #GstClockID to get a periodic notification id from
</parameter_description>
</parameter>
-<parameter name="slave">
-<parameter_description> a time on the slave
+<parameter name="start_time">
+<parameter_description> the requested start time
</parameter_description>
</parameter>
-<parameter name="master">
-<parameter_description> a time on the master
+<parameter name="interval">
+<parameter_description> the requested interval
</parameter_description>
</parameter>
-<parameter name="r_squared">
-<parameter_description> a pointer to hold the result
+</parameters>
+<return> a #GstClockID that can be used to request the
+time notification.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_new_single_shot_id">
+<description>
+Get a #GstClockID from @clock to trigger a single shot
+notification at the requested time. The single shot id should be
+unreffed after usage.
+
+Free-function: gst_clock_id_unref
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> The #GstClockID to get a single shot notification from
+</parameter_description>
+</parameter>
+<parameter name="time">
+<parameter_description> the requested time
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if enough observations were added to run the
-regression algorithm.
+<return> a #GstClockID that can be used to request the
+time notification.
MT safe.
</return>
</function>
-<function name="gst_clock_adjust_unlocked">
+<function name="gst_clock_periodic_id_reinit">
<description>
-Converts the given @internal clock time to the external time, adjusting for the
-rate and reference time set with gst_clock_set_calibration() and making sure
-that the returned time is increasing. This function should be called with the
-clock's OBJECT_LOCK held and is mainly used by clock subclasses.
+Reinitializes the provided periodic @id to the provided start time and
+interval. Does not modify the reference count.
-This function is the reverse of gst_clock_unadjust_unlocked().
</description>
<parameters>
<parameter name="clock">
-<parameter_description> a #GstClock to use
+<parameter_description> a #GstClock
</parameter_description>
</parameter>
-<parameter name="internal">
-<parameter_description> a clock time
+<parameter name="id">
+<parameter_description> a #GstClockID
+</parameter_description>
+</parameter>
+<parameter name="start_time">
+<parameter_description> the requested start time
+</parameter_description>
+</parameter>
+<parameter name="interval">
+<parameter_description> the requested interval
</parameter_description>
</parameter>
</parameters>
-<return> the converted time of the clock.
+<return> %TRUE if the GstClockID could be reinitialized to the provided
+ time, else %FALSE.
+
</return>
</function>
-<function name="gst_clock_get_calibration">
+<function name="gst_clock_set_calibration">
<description>
-Gets the internal rate and reference time of @clock. See
-gst_clock_set_calibration() for more information.
+Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of
+the clock. Values bigger than 1/1 make the clock go faster.
- internal, @external, @rate_num, and @rate_denom can be left %NULL if the
-caller is not interested in the values.
+ internal and @external are calibration parameters that arrange that
+gst_clock_get_time() should have been @external at internal time @internal.
+This internal time should not be in the future; that is, it should be less
+than the value of gst_clock_get_internal_time() when this function is called.
+
+Subsequent calls to gst_clock_get_time() will return clock times computed as
+follows:
+
+<programlisting>
+time = (internal_time - internal) * rate_num / rate_denom + external
+</programlisting>
+
+This formula is implemented in gst_clock_adjust_unlocked(). Of course, it
+tries to do the integer arithmetic as precisely as possible.
+
+Note that gst_clock_get_time() always returns increasing values so when you
+move the clock backwards, gst_clock_get_time() will report the previous value
+until the clock catches up.
MT safe.
</description>
<parameters>
<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter_description> a #GstClock to calibrate
</parameter_description>
</parameter>
<parameter name="internal">
-<parameter_description> a location to store the internal time
+<parameter_description> a reference internal time
</parameter_description>
</parameter>
<parameter name="external">
-<parameter_description> a location to store the external time
+<parameter_description> a reference external time
</parameter_description>
</parameter>
<parameter name="rate_num">
-<parameter_description> a location to store the rate numerator
+<parameter_description> the numerator of the rate of the clock relative to its
+internal time
+</parameter_description>
+</parameter>
+<parameter name="rate_denom">
+<parameter_description> the denominator of the rate of the clock
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_clock_set_master">
+<description>
+Set @master as the master clock for @clock. @clock will be automatically
+calibrated so that gst_clock_get_time() reports the same time as the
+master clock.
+
+A clock provider that slaves its clock to a master can get the current
+calibration values with gst_clock_get_calibration().
+
+ master can be %NULL in which case @clock will not be slaved anymore. It will
+however keep reporting its time adjusted with the last configured rate
+and time offsets.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+<parameter name="master">
+<parameter_description> a master #GstClock
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the clock is capable of being slaved to a master clock.
+Trying to set a master on a clock without the
+#GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE.
+
+MT safe.
+</return>
+</function>
+
+<function name="gst_clock_set_resolution">
+<description>
+Set the accuracy of the clock. Some clocks have the possibility to operate
+with different accuracy at the expense of more resource usage. There is
+normally no need to change the default resolution of a clock. The resolution
+of a clock can only be changed if the clock has the
+#GST_CLOCK_FLAG_CAN_SET_RESOLUTION flag set.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+<parameter name="resolution">
+<parameter_description> The resolution to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new resolution of the clock.
+</return>
+</function>
+
+<function name="gst_clock_single_shot_id_reinit">
+<description>
+Reinitializes the provided single shot @id to the provided time. Does not
+modify the reference count.
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock
+</parameter_description>
+</parameter>
+<parameter name="id">
+<parameter_description> a #GstClockID
+</parameter_description>
+</parameter>
+<parameter name="time">
+<parameter_description> The requested time.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the GstClockID could be reinitialized to the provided
+ time, else %FALSE.
+
+</return>
+</function>
+
+<function name="gst_clock_unadjust_unlocked">
+<description>
+Converts the given @external clock time to the internal time of @clock,
+using the rate and reference time set with gst_clock_set_calibration().
+This function should be called with the clock's OBJECT_LOCK held and
+is mainly used by clock subclasses.
+
+This function is the reverse of gst_clock_adjust_unlocked().
+
+
+</description>
+<parameters>
+<parameter name="clock">
+<parameter_description> a #GstClock to use
+</parameter_description>
+</parameter>
+<parameter name="external">
+<parameter_description> an external clock time
+</parameter_description>
+</parameter>
+</parameters>
+<return> the internal time of the clock corresponding to @external.
+
+</return>
+</function>
+
+<function name="gst_codec_utils_aac_caps_set_level_and_profile">
+<description>
+Sets the level and profile on @caps if it can be determined from
+ audio_config See gst_codec_utils_aac_get_level() and
+gst_codec_utils_aac_get_profile() for more details on the parameters.
+ caps must be audio/mpeg caps with an "mpegversion" field of either 2 or 4.
+If mpegversion is 4, the "base-profile" field is also set in @caps.
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> the #GstCaps to which level and profile fields are to be added
+</parameter_description>
+</parameter>
+<parameter name="audio_config">
+<parameter_description> a pointer to the AudioSpecificConfig as specified in the
+Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
+below for a more details).
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of @audio_config in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the level and profile could be set, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gst_codec_utils_aac_get_level">
+<description>
+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>
+
+
+</description>
+<parameters>
+<parameter name="audio_config">
+<parameter_description> a pointer to the AudioSpecificConfig as specified in the
+Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of @audio_config in bytes
+</parameter_description>
+</parameter>
+</parameters>
+<return> The level as a const string and %NULL if the level could not be
+determined.
+
+</return>
+</function>
+
+<function name="gst_codec_utils_aac_get_profile">
+<description>
+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
+ audio_config
+
+<note>
+HE-AAC support has not yet been implemented.
+</note>
+
+
+</description>
+<parameters>
+<parameter name="audio_config">
+<parameter_description> 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).
</parameter_description>
</parameter>
-<parameter name="rate_denom">
-<parameter_description> a location to store the rate denominator
+<parameter name="len">
+<parameter_description> Length of @audio_config in bytes
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> The profile as a const string and %NULL if the profile could not be
+determined.
+
+</return>
</function>
-<function name="gst_clock_get_internal_time">
+<function name="gst_codec_utils_aac_get_sample_rate_from_index">
<description>
-Gets the current internal time of the given clock. The time is returned
-unadjusted for the offset and the rate.
+Translates the sample rate index found in AAC headers to the actual sample
+rate.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock to query
+<parameter name="sr_idx">
+<parameter_description> Sample rate index as from the AudioSpecificConfig (MPEG-4
+container) or ADTS frame header
</parameter_description>
</parameter>
</parameters>
-<return> the internal time of the clock. Or GST_CLOCK_TIME_NONE when
-given invalid input.
+<return> The sample rate if @sr_idx is valid, 0 otherwise.
-MT safe.
</return>
</function>
-<function name="gst_clock_get_master">
+<function name="gst_codec_utils_h264_caps_set_level_and_profile">
<description>
-Get the master clock that @clock is slaved to or %NULL when the clock is
-not slaved to any master clock.
+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.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter name="caps">
+<parameter_description> the #GstCaps to which the level and profile are to be added
+</parameter_description>
+</parameter>
+<parameter name="sps">
+<parameter_description> Pointer to the sequence parameter set for the stream.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of the data available in @sps.
</parameter_description>
</parameter>
</parameters>
-<return> a master #GstClock or %NULL when this clock is
-not slaved to a master clock. Unref after usage.
+<return> %TRUE if the level and profile could be set, %FALSE otherwise.
-MT safe.
</return>
</function>
-<function name="gst_clock_get_resolution">
+<function name="gst_codec_utils_h264_get_level">
<description>
-Get the accuracy of the clock. The accuracy of the clock is the granularity
-of the values returned by gst_clock_get_time().
+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().
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter name="sps">
+<parameter_description> Pointer to the sequence parameter set for the stream.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of the data available in @sps.
</parameter_description>
</parameter>
</parameters>
-<return> the resolution of the clock in units of #GstClockTime.
+<return> The level as a const string, or %NULL if there is an error.
-MT safe.
</return>
</function>
-<function name="gst_clock_get_time">
+<function name="gst_codec_utils_h264_get_level_idc">
<description>
-Gets the current time of the given clock. The time is always
-monotonically increasing and adjusted according to the current
-offset and rate.
+Transform a level string from the caps into the level_idc
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock to query
+<parameter name="level">
+<parameter_description> A level string from caps
</parameter_description>
</parameter>
</parameters>
-<return> the time of the clock. Or GST_CLOCK_TIME_NONE when
-given invalid input.
+<return> the level_idc or 0 if the level is unknown
-MT safe.
</return>
</function>
-<function name="gst_clock_id_compare_func">
+<function name="gst_codec_utils_h264_get_profile">
<description>
-Compares the two #GstClockID instances. This function can be used
-as a GCompareFunc when sorting ids.
+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>
</description>
<parameters>
-<parameter name="id1">
-<parameter_description> A #GstClockID
+<parameter name="sps">
+<parameter_description> Pointer to the sequence parameter set for the stream.
</parameter_description>
</parameter>
-<parameter name="id2">
-<parameter_description> A #GstClockID to compare with
+<parameter name="len">
+<parameter_description> Length of the data available in @sps.
</parameter_description>
</parameter>
</parameters>
-<return> negative value if a < b; zero if a = b; positive value if a > b
+<return> The profile as a const string, or %NULL if there is an error.
-MT safe.
</return>
</function>
-<function name="gst_clock_id_get_time">
+<function name="gst_codec_utils_mpeg4video_caps_set_level_and_profile">
<description>
-Get the time of the clock ID
+Sets the level and profile in @caps if it can be determined from
+ vis_obj_seq See gst_codec_utils_mpeg4video_get_level() and
+gst_codec_utils_mpeg4video_get_profile() for more details on the
+parameters.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> The #GstClockID to query
+<parameter name="caps">
+<parameter_description> the #GstCaps to which the level and profile are to be added
+</parameter_description>
+</parameter>
+<parameter name="vis_obj_seq">
+<parameter_description> Pointer to the visual object sequence for the stream.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of the data available in @sps.
</parameter_description>
</parameter>
</parameters>
-<return> the time of the given clock id.
+<return> %TRUE if the level and profile could be set, %FALSE otherwise.
-MT safe.
</return>
</function>
-<function name="gst_clock_id_ref">
+<function name="gst_codec_utils_mpeg4video_get_level">
<description>
-Increase the refcount of given @id.
+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.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> The #GstClockID to ref
+<parameter name="vis_obj_seq">
+<parameter_description> Pointer to the visual object sequence for the stream.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of the data available in @sps.
</parameter_description>
</parameter>
</parameters>
-<return> The same #GstClockID with increased refcount.
+<return> The level as a const string, or NULL if there is an error.
-MT safe.
</return>
</function>
-<function name="gst_clock_id_unref">
+<function name="gst_codec_utils_mpeg4video_get_profile">
<description>
-Unref given @id. When the refcount reaches 0 the
-#GstClockID will be freed.
+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.
-MT safe.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> The #GstClockID to unref
+<parameter name="vis_obj_seq">
+<parameter_description> Pointer to the visual object sequence for the stream.
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> Length of the data available in @sps.
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> The profile as a const string, or NULL if there is an error.
+
+</return>
</function>
-<function name="gst_clock_id_unschedule">
+<function name="gst_collect_pads2_add_pad">
<description>
-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.
+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_pads2_remove_pad() to remove the pad from the collection
+again.
+
+You specify a size for the returned #GstCollectData2 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_pads2_add_pad() passing a value of NULL
+for destroy_notify and TRUE for locked.
-MT safe.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> The id to unschedule
+<parameter name="pads">
+<parameter_description> the collectspads to use
+</parameter_description>
+</parameter>
+<parameter name="pad">
+<parameter_description> the pad to add
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the returned #GstCollectData2 structure
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a new #GstCollectData2 to identify the new pad. Or NULL
+if wrong parameters are supplied.
+
+MT safe.
+
+</return>
</function>
-<function name="gst_clock_id_wait">
+<function name="gst_collect_pads2_add_pad_full">
<description>
-Perform a blocking wait on @id.
- id should have been created with gst_clock_new_single_shot_id()
-or gst_clock_new_periodic_id() and should not have been unscheduled
-with a call to gst_clock_id_unschedule().
+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_pads2_remove_pad() to remove the pad from the collection
+again.
+
+You specify a size for the returned #GstCollectData2 structure
+so that you can use it to store additional information.
+
+You can also specify a #GstCollectData2DestroyNotify that will be called
+just before the #GstCollectData2 structure is freed. It is passed the
+pointer to the structure and should free any custom memory and resources
+allocated for it.
+
+Keeping a pad locked in waiting state is only relevant when using
+the default collection algorithm (providing the oldest buffer).
+It ensures a buffer must be available on this pad for a collection
+to take place. This is of typical use to a muxer element where
+non-subtitle streams should always be in waiting state,
+e.g. to assure that caps information is available on all these streams
+when initial headers have to be written.
+
+The pad will be automatically activated in push mode when @pads is
+started.
-If the @jitter argument is not %NULL and this function returns #GST_CLOCK_OK
-or #GST_CLOCK_EARLY, it will contain the difference
-against the clock and the time of @id when this method was
-called.
-Positive values indicate how late @id was relative to the clock
-(in which case this function will return #GST_CLOCK_EARLY).
-Negative values indicate how much time was spent waiting on the clock
-before this function returned.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> The #GstClockID to wait on
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="jitter">
-<parameter_description> a pointer that will contain the jitter,
-can be %NULL.
+<parameter name="pad">
+<parameter_description> the pad to add
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the returned #GstCollectData2 structure
+</parameter_description>
+</parameter>
+<parameter name="destroy_notify">
+<parameter_description> function to be called before the returned #GstCollectData2
+structure is freed
+</parameter_description>
+</parameter>
+<parameter name="lock">
+<parameter_description> whether to lock this pad in usual waiting state
</parameter_description>
</parameter>
</parameters>
-<return> the result of the blocking wait. #GST_CLOCK_EARLY will be returned
-if the current clock time is past the time of @id, #GST_CLOCK_OK if
- id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was
-unscheduled with gst_clock_id_unschedule().
+<return> a new #GstCollectData2 to identify the new pad. Or NULL
+if wrong parameters are supplied.
MT safe.
</return>
</function>
-<function name="gst_clock_id_wait_async">
+<function name="gst_collect_pads2_available">
<description>
-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.
+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.
-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.
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> a #GstClockID to wait on
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> The callback function
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> User data passed in the callback
+<parameter name="pads">
+<parameter_description> the collectspads to query
</parameter_description>
</parameter>
</parameters>
-<return> the result of the non blocking wait.
+<return> The maximum number of bytes queued on all pads. This function
+returns 0 if a pad has no queued buffer.
MT safe.
+
</return>
</function>
-<function name="gst_clock_id_wait_async_full">
+<function name="gst_collect_pads2_collect">
<description>
-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.
+Collect data on all pads. This function is usually called
+from a #GstTask function in an element.
-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.
+This function is currently not implemented.
</description>
<parameters>
-<parameter name="id">
-<parameter_description> a #GstClockID to wait on
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> The callback function
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> User data passed in the callback
-</parameter_description>
-</parameter>
-<parameter name="destroy_data">
-<parameter_description> #GDestroyNotify for user_data
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
</parameters>
-<return> the result of the non blocking wait.
+<return> #GstFlowReturn of the operation.
MT safe.
</return>
</function>
-<function name="gst_clock_new_periodic_id">
+<function name="gst_collect_pads2_collect_range">
<description>
-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.
+Collect data with @offset and @length on all pads. This function
+is typically called in the getrange function of an element.
-Free-function: gst_clock_id_unref
+This function is currently not implemented.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> The #GstClockID to get a periodic notification id from
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="start_time">
-<parameter_description> the requested start time
+<parameter name="offset">
+<parameter_description> the offset to collect
</parameter_description>
</parameter>
-<parameter name="interval">
-<parameter_description> the requested interval
+<parameter name="length">
+<parameter_description> the length to collect
</parameter_description>
</parameter>
</parameters>
-<return> a #GstClockID that can be used to request the
-time notification.
+<return> #GstFlowReturn of the operation.
MT safe.
+
</return>
</function>
-<function name="gst_clock_new_single_shot_id">
+<function name="gst_collect_pads2_find_best_pad">
<description>
-Get a #GstClockID from @clock to trigger a single shot
-notification at the requested time. The single shot id should be
-unreffed after usage.
+Find the oldest/best pad, i.e. pad holding the oldest buffer and
+and return the corresponding #GstCollectData2 and buffertime.
-Free-function: gst_clock_id_unref
+This function should be called with STREAM_LOCK held,
+such as in the callback.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> The #GstClockID to get a single shot notification from
+<parameter name="pads">
+<parameter_description> the collectpads to use
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> returns the collectdata for earliest data
</parameter_description>
</parameter>
<parameter name="time">
-<parameter_description> the requested time
+<parameter_description> returns the earliest available buffertime
</parameter_description>
</parameter>
</parameters>
-<return> a #GstClockID that can be used to request the
-time notification.
-
-MT safe.
-</return>
+<return></return>
</function>
-<function name="gst_clock_periodic_id_reinit">
+<function name="gst_collect_pads2_flush">
<description>
-Reinitializes the provided periodic @id to the provided start time and
-interval. Does not modify the reference count.
+Flush @size bytes from the pad @data.
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock
-</parameter_description>
-</parameter>
-<parameter name="id">
-<parameter_description> a #GstClockID
+<parameter name="pads">
+<parameter_description> the collectspads to query
</parameter_description>
</parameter>
-<parameter name="start_time">
-<parameter_description> the requested start time
+<parameter name="data">
+<parameter_description> the data to use
</parameter_description>
</parameter>
-<parameter name="interval">
-<parameter_description> the requested interval
+<parameter name="size">
+<parameter_description> the number of bytes to flush
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the GstClockID could be reinitialized to the provided
- time, else %FALSE.
+<return> The number of bytes flushed This can be less than @size and
+is 0 if the pad was end-of-stream.
+
+MT safe.
</return>
</function>
-<function name="gst_clock_set_calibration">
+<function name="gst_collect_pads2_is_active">
<description>
-Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of
-the clock. Values bigger than 1/1 make the clock go faster.
-
- internal and @external are calibration parameters that arrange that
-gst_clock_get_time() should have been @external at internal time @internal.
-This internal time should not be in the future; that is, it should be less
-than the value of gst_clock_get_internal_time() when this function is called.
-
-Subsequent calls to gst_clock_get_time() will return clock times computed as
-follows:
-
-<programlisting>
-time = (internal_time - internal) * rate_num / rate_denom + external
-</programlisting>
-
-This formula is implemented in gst_clock_adjust_unlocked(). Of course, it
-tries to do the integer arithmetic as precisely as possible.
+Check if a pad is active.
-Note that gst_clock_get_time() always returns increasing values so when you
-move the clock backwards, gst_clock_get_time() will report the previous value
-until the clock catches up.
+This function is currently not implemented.
-MT safe.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock to calibrate
-</parameter_description>
-</parameter>
-<parameter name="internal">
-<parameter_description> a reference internal time
-</parameter_description>
-</parameter>
-<parameter name="external">
-<parameter_description> a reference external time
-</parameter_description>
-</parameter>
-<parameter name="rate_num">
-<parameter_description> the numerator of the rate of the clock relative to its
-internal time
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="rate_denom">
-<parameter_description> the denominator of the rate of the clock
+<parameter name="pad">
+<parameter_description> the pad to check
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if the pad is active.
+
+MT safe.
+
+</return>
</function>
-<function name="gst_clock_set_master">
+<function name="gst_collect_pads2_new">
<description>
-Set @master as the master clock for @clock. @clock will be automatically
-calibrated so that gst_clock_get_time() reports the same time as the
-master clock.
+Create a new instance of #GstCollectsPads.
-A clock provider that slaves its clock to a master can get the current
-calibration values with gst_clock_get_calibration().
- master can be %NULL in which case @clock will not be slaved anymore. It will
-however keep reporting its time adjusted with the last configured rate
-and time offsets.
+</description>
+<parameters>
+</parameters>
+<return> a new #GstCollectPads2, or NULL in case of an error.
+
+MT safe.
+
+</return>
+</function>
+
+<function name="gst_collect_pads2_peek">
+<description>
+Peek at the buffer currently queued in @data. This function
+should be called with the @pads STREAM_LOCK held, such as in the callback
+handler.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter name="pads">
+<parameter_description> the collectspads to peek
</parameter_description>
</parameter>
-<parameter name="master">
-<parameter_description> a master #GstClock
+<parameter name="data">
+<parameter_description> the data to use
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the clock is capable of being slaved to a master clock.
-Trying to set a master on a clock without the
-#GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE.
+<return> The buffer in @data or NULL if no buffer is queued.
+should unref the buffer after usage.
MT safe.
+
</return>
</function>
-<function name="gst_clock_set_resolution">
+<function name="gst_collect_pads2_pop">
<description>
-Set the accuracy of the clock. Some clocks have the possibility to operate
-with different accuracy at the expense of more resource usage. There is
-normally no need to change the default resolution of a clock. The resolution
-of a clock can only be changed if the clock has the
-#GST_CLOCK_FLAG_CAN_SET_RESOLUTION flag set.
+Pop the buffer currently queued in @data. This function
+should be called with the @pads STREAM_LOCK held, such as in the callback
+handler.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter name="pads">
+<parameter_description> the collectspads to pop
</parameter_description>
</parameter>
-<parameter name="resolution">
-<parameter_description> The resolution to set
+<parameter name="data">
+<parameter_description> the data to use
</parameter_description>
</parameter>
</parameters>
-<return> the new resolution of the clock.
+<return> The buffer in @data or NULL if no buffer was queued.
+You should unref the buffer after usage.
+
+MT safe.
+
</return>
</function>
-<function name="gst_clock_single_shot_id_reinit">
+<function name="gst_collect_pads2_read">
<description>
-Reinitializes the provided single shot @id to the provided time. Does not
-modify the reference count.
+Get a pointer in @bytes where @size bytes can be read from the
+given pad data.
+
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock
+<parameter name="pads">
+<parameter_description> the collectspads to query
</parameter_description>
</parameter>
-<parameter name="id">
-<parameter_description> a #GstClockID
+<parameter name="data">
+<parameter_description> the data to use
</parameter_description>
</parameter>
-<parameter name="time">
-<parameter_description> The requested time.
+<parameter name="bytes">
+<parameter_description> a pointer to a byte array
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the number of bytes to read
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the GstClockID could be reinitialized to the provided
- time, else %FALSE.
+<return> The number of bytes available for consumption in the
+memory pointed to by @bytes. This can be less than @size and
+is 0 if the pad is end-of-stream.
+
+MT safe.
</return>
</function>
-<function name="gst_clock_unadjust_unlocked">
+<function name="gst_collect_pads2_read_buffer">
<description>
-Converts the given @external clock time to the internal time of @clock,
-using the rate and reference time set with gst_clock_set_calibration().
-This function should be called with the clock's OBJECT_LOCK held and
-is mainly used by clock subclasses.
+Get a subbuffer of @size bytes from the given pad @data.
+
+This function should be called with @pads STREAM_LOCK held, such as in the
+callback.
-This function is the reverse of gst_clock_adjust_unlocked().
</description>
<parameters>
-<parameter name="clock">
-<parameter_description> a #GstClock to use
+<parameter name="pads">
+<parameter_description> the collectspads to query
</parameter_description>
</parameter>
-<parameter name="external">
-<parameter_description> an external clock time
+<parameter name="data">
+<parameter_description> the data to use
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the number of bytes to read
</parameter_description>
</parameter>
</parameters>
-<return> the internal time of the clock corresponding to @external.
+<return> A sub buffer. The size of the buffer can be less that requested.
+A return of NULL signals that the pad is end-of-stream.
+Unref the buffer after use.
+MT safe.
</return>
</function>
-<function name="gst_codec_utils_aac_caps_set_level_and_profile">
+<function name="gst_collect_pads2_remove_pad">
<description>
-Sets the level and profile on @caps if it can be determined from
- audio_config See gst_codec_utils_aac_get_level() and
-gst_codec_utils_aac_get_profile() for more details on the parameters.
- caps must be audio/mpeg caps with an "mpegversion" field of either 2 or 4.
-If mpegversion is 4, the "base-profile" field is also set in @caps.
+Remove a pad from the collection of collect pads. This function will also
+free the #GstCollectData2 and all the resources that were allocated with
+gst_collect_pads2_add_pad().
+
+The pad will be deactivated automatically when @pads is stopped.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to which level and profile fields are to be added
-</parameter_description>
-</parameter>
-<parameter name="audio_config">
-<parameter_description> a pointer to the AudioSpecificConfig as specified in the
-Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see
-below for a more details).
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of @audio_config in bytes
+<parameter name="pad">
+<parameter_description> the pad to remove
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the level and profile could be set, %FALSE otherwise.
+<return> %TRUE if the pad could be removed.
+
+MT safe.
</return>
</function>
-<function name="gst_codec_utils_aac_get_level">
+<function name="gst_collect_pads2_set_buffer_function">
<description>
-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>
+Set the callback function and user data that will be called with
+the oldest buffer when all pads have been collected.
-<note>
-HE-AAC support has not yet been implemented.
-</note>
+MT safe.
</description>
<parameters>
-<parameter name="audio_config">
-<parameter_description> a pointer to the AudioSpecificConfig as specified in the
-Elementary Stream Descriptor (esds) in ISO/IEC 14496-1.
+<parameter name="pads">
+<parameter_description> the collectpads to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of @audio_config in bytes
+<parameter name="func">
+<parameter_description> the function to set
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to the function
</parameter_description>
</parameter>
</parameters>
-<return> The level as a const string and %NULL if the level could not be
-determined.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_aac_get_profile">
+<function name="gst_collect_pads2_set_clip_function">
<description>
-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
- audio_config
-
-<note>
-HE-AAC support has not yet been implemented.
-</note>
+Install a clipping function that is called right after a buffer is received
+on a pad managed by @pads. See #GstCollectPad2ClipFunction for more info.
</description>
<parameters>
-<parameter name="audio_config">
-<parameter_description> 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).
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of @audio_config in bytes
+<parameter name="clipfunc">
+<parameter_description> clip function to install
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to @clip_func
</parameter_description>
</parameter>
</parameters>
-<return> The profile as a const string and %NULL if the profile could not be
-determined.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_aac_get_sample_rate_from_index">
+<function name="gst_collect_pads2_set_compare_function">
<description>
-Translates the sample rate index found in AAC headers to the actual sample
-rate.
+Set the timestamp comparison function.
+
+MT safe.
</description>
<parameters>
-<parameter name="sr_idx">
-<parameter_description> Sample rate index as from the AudioSpecificConfig (MPEG-4
-container) or ADTS frame header
+<parameter name="pads">
+<parameter_description> the pads to use
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to set
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to the function
</parameter_description>
</parameter>
</parameters>
-<return> The sample rate if @sr_idx is valid, 0 otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_h264_caps_set_level_and_profile">
+<function name="gst_collect_pads2_set_event_function">
<description>
-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.
+Set the event callback function and user data that will be called after
+collectpads has processed and event originating from one of the collected
+pads. If the event being processed is a serialized one, this callback is
+called with @pads STREAM_LOCK held, otherwise not. As this lock should be
+held when calling a number of CollectPads functions, it should be acquired
+if so (unusually) needed.
+
+MT safe.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to which the level and profile are to be added
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="sps">
-<parameter_description> Pointer to the sequence parameter set for the stream.
+<parameter name="func">
+<parameter_description> the function to set
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of the data available in @sps.
+<parameter name="user_data">
+<parameter_description> user data passed to the function
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the level and profile could be set, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_h264_get_level">
+<function name="gst_collect_pads2_set_flushing">
<description>
-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().
+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.
+Caller must ensure that downstream streaming (thread) is not blocked,
+e.g. by sending a FLUSH_START downstream.
+
+MT safe.
+
</description>
<parameters>
-<parameter name="sps">
-<parameter_description> Pointer to the sequence parameter set for the stream.
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of the data available in @sps.
+<parameter name="flushing">
+<parameter_description> desired state of the pads
</parameter_description>
</parameter>
</parameters>
-<return> The level as a const string, or %NULL if there is an error.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_h264_get_profile">
+<function name="gst_collect_pads2_set_function">
<description>
-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.
+CollectPads provides a default collection algorithm that will determine
+the oldest buffer available on all of its pads, and then delegate
+to a configured callback.
+However, if circumstances are more complicated and/or more control
+is desired, this sets a callback that will be invoked instead when
+all the pads added to the collection have buffers queued.
+Evidently, this callback is not compatible with
+gst_collect_pads2_set_buffer_function() callback.
+If this callback is set, the former will be unset.
-<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>
+MT safe.
</description>
<parameters>
-<parameter name="sps">
-<parameter_description> Pointer to the sequence parameter set for the stream.
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of the data available in @sps.
+<parameter name="func">
+<parameter_description> the function to set
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to the function
</parameter_description>
</parameter>
</parameters>
-<return> The profile as a const string, or %NULL if there is an error.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_mpeg4video_caps_set_level_and_profile">
+<function name="gst_collect_pads2_set_waiting">
<description>
-Sets the level and profile in @caps if it can be determined from
- vis_obj_seq See gst_codec_utils_mpeg4video_get_level() and
-gst_codec_utils_mpeg4video_get_profile() for more details on the
-parameters.
+Sets a pad to waiting or non-waiting mode, if at least this pad
+has not been created with locked waiting state,
+in which case nothing happens.
+
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
+
+MT safe.
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> the #GstCaps to which the level and profile are to be added
+<parameter name="pads">
+<parameter_description> the collectspads
</parameter_description>
</parameter>
-<parameter name="vis_obj_seq">
-<parameter_description> Pointer to the visual object sequence for the stream.
+<parameter name="data">
+<parameter_description> the data to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of the data available in @sps.
+<parameter name="waiting">
+<parameter_description> boolean indicating whether this pad should operate
+in waiting or non-waiting mode
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the level and profile could be set, %FALSE otherwise.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_mpeg4video_get_level">
+<function name="gst_collect_pads2_start">
<description>
-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.
+Starts the processing of data in the collect_pads2.
+
+MT safe.
</description>
<parameters>
-<parameter name="vis_obj_seq">
-<parameter_description> Pointer to the visual object sequence for the stream.
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of the data available in @sps.
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_collect_pads2_stop">
+<description>
+Stops the processing of data in the collect_pads2. this function
+will also unblock any blocking operations.
+
+MT safe.
+
+
+</description>
+<parameters>
+<parameter name="pads">
+<parameter_description> the collectspads to use
</parameter_description>
</parameter>
</parameters>
-<return> The level as a const string, or NULL if there is an error.
-
-</return>
+<return></return>
</function>
-<function name="gst_codec_utils_mpeg4video_get_profile">
+<function name="gst_collect_pads2_take_buffer">
<description>
-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.
+Get a subbuffer of @size bytes from the given pad @data. Flushes the amount
+of read bytes.
+
+This function should be called with @pads STREAM_LOCK held, such as in the
+callback.
+
</description>
<parameters>
-<parameter name="vis_obj_seq">
-<parameter_description> Pointer to the visual object sequence for the stream.
+<parameter name="pads">
+<parameter_description> the collectspads to query
</parameter_description>
</parameter>
-<parameter name="len">
-<parameter_description> Length of the data available in @sps.
+<parameter name="data">
+<parameter_description> the data to use
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the number of bytes to read
</parameter_description>
</parameter>
</parameters>
-<return> The profile as a const string, or NULL if there is an error.
+<return> A sub buffer. The size of the buffer can be less that requested.
+A return of NULL signals that the pad is end-of-stream.
+Unref the buffer after use.
+MT safe.
</return>
</function>
@@ -11203,8 +14357,8 @@ Get the #GstColorBalanceType of this implementation.
Retrieve the current value of the indicated channel, between min_value
and max_value.
-See Also: The #GstColorBalanceChannel::min_value and
-#GstColorBalanceChannel::max_value members of the
+See Also: The #GstColorBalanceChannel.min_value and
+#GstColorBalanceChannel.max_value members of the
#GstColorBalanceChannel object.
@@ -11246,8 +14400,8 @@ be freed.
Sets the current value of the channel to the passed value, which must
be between min_value and max_value.
-See Also: The #GstColorBalanceChannel::min_value and
-#GstColorBalanceChannel::max_value members of the
+See Also: The #GstColorBalanceChannel.min_value and
+#GstColorBalanceChannel.max_value members of the
#GstColorBalanceChannel object.
</description>
@@ -13156,6 +16310,21 @@ After this call GStreamer (including this method) should not be used anymore.
</return>
</function>
+<function name="gst_discoverer_audio_info_get_language">
+<description>
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GstDiscovererAudioInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the language of the stream, or NULL if unknown.
+
+</return>
+</function>
+
<function name="gst_discoverer_audio_info_get_max_bitrate">
<description>
@@ -13253,7 +16422,7 @@ afterwards.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the @uri was succesfully appended to the list of pending
+<return> %TRUE if the @uri was successfully appended to the list of pending
uris, else %FALSE
</return>
@@ -13354,7 +16523,7 @@ gst_discoverer_stream_info_list_free().
</parameter_description>
</parameter>
</parameters>
-<return> the wheter the URI is seekable.
+<return> the whether the URI is seekable.
</return>
</function>
@@ -13418,6 +16587,25 @@ gst_discoverer_stream_info_list_free().
</return>
</function>
+<function name="gst_discoverer_info_get_subtitle_streams">
+<description>
+Finds all the #GstDiscovererSubtitleInfo contained in @info
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GstDiscovererInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GList of
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().
+
+</return>
+</function>
+
<function name="gst_discoverer_info_get_tags">
<description>
@@ -13428,7 +16616,7 @@ gst_discoverer_stream_info_list_free().
</parameter_description>
</parameter>
</parameters>
-<return> all tags contained in the %URI. If you wish to use
+<return> all tags contained in the URI. If you wish to use
the tags after the life-time of @info, you will need to copy them.
</return>
@@ -13705,6 +16893,21 @@ Decrements the reference count of @info.
<return></return>
</function>
+<function name="gst_discoverer_subtitle_info_get_language">
+<description>
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GstDiscovererSubtitleInfo
+</parameter_description>
+</parameter>
+</parameters>
+<return> the language of the stream, or NULL if unknown.
+
+</return>
+</function>
+
<function name="gst_discoverer_video_info_get_bitrate">
<description>
@@ -14315,6 +17518,27 @@ functions of classes.
<return></return>
</function>
+<function name="gst_element_class_add_static_pad_template">
+<description>
+Adds a padtemplate to an element class. This is mainly used in the _base_init
+functions of classes.
+
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> the #GstElementClass to add the pad template to.
+</parameter_description>
+</parameter>
+<parameter name="templ">
+<parameter_description> a #GstStaticPadTemplate describing the pad
+to add to the element class.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="gst_element_class_get_pad_template">
<description>
Retrieves a padtemplate from @element_class with the given name.
@@ -14525,7 +17749,7 @@ MT safe.
<function name="gst_element_create_all_pads">
<description>
Creates a pad for each pad template that is always available.
-This function is only useful during object intialization of
+This function is only useful during object initialization of
subclasses of #GstElement.
</description>
@@ -14680,7 +17904,8 @@ their first argument.
</parameter_description>
</parameter>
<parameter name="name">
-<parameter_description> name of new element
+<parameter_description> name of new element, or NULL to automatically create
+a unique name
</parameter_description>
</parameter>
</parameters>
@@ -14977,7 +18202,7 @@ usage.
<function name="gst_element_factory_list_is_type">
<description>
-Check if @factory if of the given types.
+Check if @factory is of the given types.
</description>
@@ -15011,7 +18236,8 @@ If name is given, it will be given the name supplied.
</parameter_description>
</parameter>
<parameter name="name">
-<parameter_description> name of new element
+<parameter_description> name of new element, or NULL to automatically create
+a unique name
</parameter_description>
</parameter>
</parameters>
@@ -15289,8 +18515,8 @@ MT safe.
<function name="gst_element_get_request_pad">
<description>
-Retrieves a pad from the element by name. This version only retrieves
-request pads. The pad should be released with
+Retrieves a pad from the element by name (e.g. "src_\%d"). This version only
+retrieves request pads. The pad should be released with
gst_element_release_request_pad().
This method is slow and will be deprecated in the future. New code should
@@ -15478,8 +18704,9 @@ MT safe.
<function name="gst_element_iterate_pads">
<description>
-Retrieves an iterattor of @element's pads. The iterator should
-be freed after usage.
+Retrieves an iterator of @element's pads. The iterator should
+be freed after usage. Also more specialized iterators exists such as
+gst_element_iterate_src_pads() or gst_element_iterate_sink_pads().
</description>
@@ -15539,7 +18766,7 @@ MT safe.
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.
+Such pads need to be released manually when unlinking.
If multiple links are possible, only one is established.
Make sure you have added your elements to a bin or pipeline with
@@ -16170,6 +19397,8 @@ MT safe.
<function name="gst_element_request_pad">
<description>
Retrieves a request pad from the element according to the provided template.
+Pad templates can be looked up using
+gst_element_factory_get_static_pad_templates().
If the @caps are specified and the element implements thew new
request_new_pad_full virtual method, the element will use them to select
@@ -16833,6 +20062,25 @@ Find the #GstEncodingProfile with the specified name and category.
</return>
</function>
+<function name="gst_encoding_profile_from_discoverer">
+<description>
+Creates a #GstEncodingProfile matching the formats from the given
+#GstEncodingProfile. Streams other than audio or video (eg,
+subtitles), are currently ignored.
+
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> The #GstDiscovererInfo to read from
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new #GstEncodingProfile or %NULL.
+
+</return>
+</function>
+
<function name="gst_encoding_profile_get_description">
<description>
@@ -17443,7 +20691,7 @@ you may set it to 0 (the default value).
<function name="gst_encoding_video_profile_set_variableframerate">
<description>
-If set to %TRUE, then the incoming streamm will be allowed to have non-constant
+If set to %TRUE, then the incoming stream 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.
@@ -17496,7 +20744,7 @@ 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
+two events or messages will never have the same sequence number unless
that correspondence was made explicitly.
@@ -17561,7 +20809,7 @@ check the name of a custom event.
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.
+When the @async flag is set, a thread boundary is preferred.
</description>
@@ -18026,8 +21274,9 @@ 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.
+A rate of <= 0.0 is not allowed. Pause the pipeline, for the effect of rate
+= 0.0 or first reverse the direction of playback using a seek event to get
+the same effect as rate < 0.0.
The @flush flag will clear any pending data in the pipeline before starting
the step operation.
@@ -19187,6 +22436,48 @@ See if the given format is inside the format array.
</return>
</function>
+<function name="gst_ghost_pad_activate_pull_default">
+<description>
+Invoke the default activate pull function of a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to activate or deactivate.
+</parameter_description>
+</parameter>
+<parameter name="active">
+<parameter_description> whether the pad should be active or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation was successful.
+
+</return>
+</function>
+
+<function name="gst_ghost_pad_activate_push_default">
+<description>
+Invoke the default activate push function of a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to activate or deactivate.
+</parameter_description>
+</parameter>
+<parameter name="active">
+<parameter_description> whether the pad should be active or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation was successful.
+
+</return>
+</function>
+
<function name="gst_ghost_pad_construct">
<description>
Finish initialization of a newly allocated ghost pad.
@@ -19226,6 +22517,71 @@ has no target set. Unref target pad after usage.
</return>
</function>
+<function name="gst_ghost_pad_internal_activate_pull_default">
+<description>
+Invoke the default activate pull function of a proxy pad that is
+owned by a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to activate or deactivate.
+</parameter_description>
+</parameter>
+<parameter name="active">
+<parameter_description> whether the pad should be active or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation was successful.
+
+</return>
+</function>
+
+<function name="gst_ghost_pad_internal_activate_push_default">
+<description>
+Invoke the default activate push function of a proxy pad that is
+owned by a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to activate or deactivate.
+</parameter_description>
+</parameter>
+<parameter name="active">
+<parameter_description> whether the pad should be active or not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation was successful.
+
+</return>
+</function>
+
+<function name="gst_ghost_pad_link_default">
+<description>
+Invoke the default link function of a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to link.
+</parameter_description>
+</parameter>
+<parameter name="peer">
+<parameter_description> the #GstPad peer
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GstPadLinkReturn of the operation
+
+</return>
+</function>
+
<function name="gst_ghost_pad_new">
<description>
Create a new ghostpad with @target as the target. The direction will be taken
@@ -19366,6 +22722,42 @@ can return FALSE when the internal pads could not be linked.
</return>
</function>
+<function name="gst_ghost_pad_setcaps_default">
+<description>
+Invoke the default setcaps function of a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to link.
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> the #GstCaps to set
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the operation was successful
+
+</return>
+</function>
+
+<function name="gst_ghost_pad_unlink_default">
+<description>
+Invoke the default unlink function of a ghost pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to link.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="gst_implements_interface_cast">
<description>
cast a given object to an interface type, and check whether this
@@ -20943,7 +24335,7 @@ 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
+two events or messages will never have the same sequence number unless
that correspondence was made explicitly.
@@ -22892,7 +26284,7 @@ to stay alive).
</description>
<parameters>
-<parameter name="mini_object">
+<parameter name="object">
<parameter_description> #GstMiniObject to reference weakly
</parameter_description>
</parameter>
@@ -22915,7 +26307,7 @@ Removes a weak reference callback to a mini object.
</description>
<parameters>
-<parameter name="mini_object">
+<parameter name="object">
<parameter_description> #GstMiniObject to remove a weak reference from
</parameter_description>
</parameter>
@@ -23571,7 +26963,7 @@ 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
+should call gst_mixer_options_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
@@ -23879,7 +27271,7 @@ the #GstNavigationMessageType identifying the type of the message if so.
</parameter_description>
</parameter>
</parameters>
-<return> The type of the #GstNavigationMessage, or
+<return> The type of the #GstMessage, or
#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
notification.
@@ -24556,7 +27948,7 @@ Get the type of address stored in @naddr.
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
+convert it to network byte order. IP4 address bytes must also be
stored in network byte order.
@@ -25078,6 +28470,8 @@ function.
Make sure not to LOCK @oldobj because it might be unreffed
which could cause a deadlock when it is disposed.
+Since 0.10.36, this function operates atomically.
+
</description>
<parameters>
<parameter name="oldobj">
@@ -25781,7 +29175,7 @@ MT safe.
<function name="gst_pad_can_link">
<description>
Checks if the source pad and the sink pad are compatible so they can be
-linked.
+linked.
</description>
@@ -25947,7 +29341,7 @@ Multi-sinkpad elements should implement custom event handlers.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the event was sent succesfully.
+<return> TRUE if the event was sent successfully.
</return>
</function>
@@ -26104,7 +29498,7 @@ Not MT safe.
Deprecated: This function does not ref the pads in the list so that they
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
+this function is unable to know. Use the thread-safe
gst_pad_iterate_internal_links() instead.
</description>
@@ -26132,7 +29526,7 @@ The caller must free this list after use with g_list_free().
Deprecated: This function does not ref the pads in the list so that they
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
+this function is unable to know. Use the thread-safe
gst_pad_iterate_internal_links_default() instead.
</description>
@@ -26290,7 +29684,7 @@ query types function.
<function name="gst_pad_get_range">
<description>
When @pad is flushing this function returns #GST_FLOW_WRONG_STATE
-immediatly and @buffer is %NULL.
+immediately and @buffer is %NULL.
Calls the getrange function of @pad, see #GstPadGetRangeFunction for a
description of a getrange function. If @pad has no getrange function
@@ -26740,7 +30134,7 @@ the proxy setcaps fails. May be used only during negotiation.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if sucessful
+<return> TRUE if successful
</return>
</function>
@@ -26983,7 +30377,7 @@ Multi-sinkpad elements should implement custom query handlers.
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the query was performed succesfully.
+<return> TRUE if the query was performed successfully.
</return>
</function>
@@ -27471,7 +30865,7 @@ operation succeeds
</parameter_description>
</parameter>
</parameters>
-<return> TRUE if the pad could be blocked. This function can fail if the
+<return> %TRUE if the pad could be blocked. This function can fail if the
wrong parameters were passed or the pad was already in the requested state.
MT safe.
@@ -28832,7 +32226,7 @@ codec libraries are currently installed.
</parameter_description>
</parameter>
<parameter name="env_vars">
-<parameter_description> NULL-terminated array of environent variables affecting the
+<parameter_description> NULL-terminated array of environment variables affecting the
feature set of the plugin (e.g. an environment variable containing
paths where to look for additional modules/plugins of a library),
or NULL. Environment variable names may be followed by a path component
@@ -28884,7 +32278,7 @@ arguments separated by predefined delimiters (see above).
</parameter_description>
</parameter>
<parameter name="env_vars">
-<parameter_description> one or more environent variables (separated by ':', ';' or ','),
+<parameter_description> one or more environment variables (separated by ':', ';' or ','),
or NULL. Environment variable names may be followed by a path component
which will be added to the content of the environment variable, e.g.
"HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"
@@ -30171,6 +33565,20 @@ Delete the given preset.
</return>
</function>
+<function name="gst_preset_get_app_dir">
+<description>
+Gets the directory for application specific presets if set by the
+application.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the directory or %NULL, don't free or modify the string
+
+</return>
+</function>
+
<function name="gst_preset_get_meta">
<description>
Gets the @value for an existing meta data @tag. Meta data @tag names can be
@@ -30307,6 +33715,25 @@ is already a preset by this @name it will be overwritten.
</return>
</function>
+<function name="gst_preset_set_app_dir">
+<description>
+Sets an extra directory as an absolute path that should be considered when
+looking for presets. Any presets in the application dir will shadow the
+system presets.
+
+
+</description>
+<parameters>
+<parameter name="app_dir">
+<parameter_description> the application specific preset dir
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE for success, %FALSE if the dir already has been set
+
+</return>
+</function>
+
<function name="gst_preset_set_meta">
<description>
Sets a new @value for an existing meta data item or adds a new item. Meta
@@ -30396,8 +33823,8 @@ Get a list of properties for which probing is supported.
</parameter_description>
</parameter>
</parameters>
-<return> the list of properties for which probing is supported
-by this element.
+<return> the list of #GParamSpec * pointers representing
+properties for which probing is supported by this element.
</return>
</function>
@@ -30584,6 +34011,272 @@ Runs a probe on the property specified by @name.
<return></return>
</function>
+<function name="gst_proxy_pad_acceptcaps_default">
+<description>
+Invoke the default acceptcaps function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to check
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps to check on the pad
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the pad can accept the caps.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_bufferalloc_default">
+<description>
+Invoke the default bufferalloc function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a source #GstPad
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset of the new buffer in the stream
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the size of the new buffer
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> the caps of the new buffer
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> a newly allocated buffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> a result code indicating success of the operation. Any
+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.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_chain_default">
+<description>
+Invoke the default chain function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a sink #GstPad, returns GST_FLOW_ERROR if not.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> the #GstBuffer to send, return GST_FLOW_ERROR
+if not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn from the pad.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_chain_list_default">
+<description>
+Invoke the default chain list function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a sink #GstPad, returns GST_FLOW_ERROR if not.
+</parameter_description>
+</parameter>
+<parameter name="list">
+<parameter_description> the #GstBufferList to send, return GST_FLOW_ERROR
+if not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn from the pad.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_checkgetrange_default">
+<description>
+Invoke the default checkgetrange function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a src #GstPad, returns #GST_FLOW_ERROR if not.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #gboolean from the pad.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_event_default">
+<description>
+Invoke the default event of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to push the event to.
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the #GstEvent to send to the pad.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the event was handled.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_fixatecaps_default">
+<description>
+Invoke the default fixatecaps function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to fixate
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> the #GstCaps to fixate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_proxy_pad_get_internal">
+<description>
+Get the internal pad of @pad. Unref target pad after usage.
+
+The internal pad of a #GstGhostPad is the internally used
+pad of opposite direction, which is used to link to the target.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstProxyPad
+</parameter_description>
+</parameter>
+</parameters>
+<return> the target #GstProxyPad, can be NULL.
+Unref target pad after usage.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_get_range_default">
+<description>
+Invoke the default getrange function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a src #GstPad, returns #GST_FLOW_ERROR if not.
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> The start offset of the buffer
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> The length of the buffer
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a pointer to hold the #GstBuffer,
+returns #GST_FLOW_ERROR if %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstFlowReturn from the pad.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_getcaps_default">
+<description>
+Invoke the default getcaps function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to get the capabilities of.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the caps of the pad with incremented ref-count
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_query_default">
+<description>
+Invoke the default query function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to invoke the default query on.
+</parameter_description>
+</parameter>
+<parameter name="query">
+<parameter_description> the #GstQuery to perform.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the query could be performed.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_query_type_default">
+<description>
+Invoke the default query type handler of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a zero-terminated array
+of #GstQueryType.
+
+</return>
+</function>
+
<function name="gst_proxy_pad_save_thyself">
<description>
Saves the ghost pad into an xml representation.
@@ -30604,6 +34297,61 @@ Saves the ghost pad into an xml representation.
</return>
</function>
+<function name="gst_proxy_pad_setcaps_default">
+<description>
+Invoke the default setcaps function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to set the capabilities of.
+</parameter_description>
+</parameter>
+<parameter name="caps">
+<parameter_description> a #GstCaps to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the caps could be set. FALSE if the caps were not fixed
+or bad parameters were provided to this function.
+
+</return>
+</function>
+
+<function name="gst_proxy_pad_unlink_default">
+<description>
+Invoke the default unlink function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> a #GstPad to unlink
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_proyx_pad_iterate_internal_links_default">
+<description>
+Invoke the default iterate internal links function of the proxy pad.
+
+
+</description>
+<parameters>
+<parameter name="pad">
+<parameter_description> the #GstPad to get the internal links of.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each
+returned pad with gst_object_unref().
+
+</return>
+</function>
+
<function name="gst_query_add_buffering_range">
<description>
Set the buffering-ranges array field in @query. The current last
@@ -32330,7 +36078,7 @@ should be skipped on error, but it is not fatal.
<function name="gst_riff_parse_strf_iavs">
<description>
Parses a interleaved (also known as "complex") streamÂs strf
-structure plus optionally some extradata from input data. This
+structure plus optionally some extradata from input data. This
function takes ownership of @buf.
@@ -32613,7 +36361,7 @@ MT safe.
<description>
Commit @in_samples samples pointed to by @data to the ringbuffer @buf.
- in_samples and @out_samples define the rate conversion to perform on the the
+ in_samples and @out_samples define the rate conversion to perform on the
samples in @data. For negative rates, @out_samples must be negative and
@in_samples positive.
@@ -33970,7 +37718,7 @@ 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.
+gst_rtcp_packet_sdes_copy_entry() to get a null-terminated copy of the entry.
</description>
@@ -34135,7 +37883,7 @@ Parse the SR sender info and store the values.
</parameter_description>
</parameter>
<parameter name="octet_count">
-<parameter_description> result octect count
+<parameter_description> result octet count
</parameter_description>
</parameter>
</parameters>
@@ -34169,7 +37917,7 @@ Set the given values in the SR packet @packet.
</parameter_description>
</parameter>
<parameter name="octet_count">
-<parameter_description> the octect count
+<parameter_description> the octet count
</parameter_description>
</parameter>
</parameters>
@@ -35198,7 +38946,7 @@ Set the timestamp of each RTP packet in @list to @timestamp.
<function name="gst_rtp_buffer_list_validate">
<description>
-Check if all RTP packets in the @list are valid using validate_data().
+Check if all RTP packets in the @list are valid using gst_rtp_buffer_validate_data().
Use this function to validate an list before using the other functions in
this module.
@@ -35550,7 +39298,7 @@ Set the version of the RTP packet in @buffer to @version.
<function name="gst_rtp_buffer_validate">
<description>
Check if the data pointed to by @buffer is a valid RTP packet using
-validate_data().
+gst_rtp_buffer_validate_data().
Use this function to validate a packet before using the other functions in
this module.
@@ -37010,7 +40758,7 @@ Convert @options to a string.
<function name="gst_rtsp_range_free">
<description>
-Free the memory alocated by @range.
+Free the memory allocated by @range.
</description>
<parameters>
@@ -37127,8 +40875,7 @@ Free the memory used by @transport.
<function name="gst_rtsp_transport_get_manager">
<description>
-Get the #GStreamer element that can handle the buffers transported over
- trans
+Get the #GstElement that can handle the buffers transported over @trans.
It is possible that there are several managers available, use @option to
selected one.
@@ -37252,10 +40999,10 @@ Make a copy of @url.
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
+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
+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
@@ -38280,7 +42027,7 @@ Add @email to the list of emails in @msg.
<description>
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.
+gst_sdp_media_init() before it can be used again.
</description>
@@ -39774,6 +43521,28 @@ on the returned caps to modify it.
<return></return>
</function>
+<function name="gst_structure_can_intersect">
+<description>
+Tries intersecting @struct1 and @struct2 and reports whether the result
+would not be empty.
+
+
+</description>
+<parameters>
+<parameter name="struct1">
+<parameter_description> a #GstStructure
+</parameter_description>
+</parameter>
+<parameter name="struct2">
+<parameter_description> a #GstStructure
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if intersection would not be empty
+
+</return>
+</function>
+
<function name="gst_structure_copy">
<description>
Duplicates a #GstStructure and all its fields and values.
@@ -40016,10 +43785,10 @@ 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
+For refcounted (mini)objects you will receive a new reference which
you must release with a suitable _unref() when no longer needed. For
-strings and boxed types you will acquire a copy which you will need to
-release with either g_free() or the suiteable function for the boxed type.
+strings and boxed types you will receive a copy which you will need to
+release with either g_free() or the suitable function for the boxed type.
</description>
@@ -40566,10 +44335,10 @@ 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
+For refcounted (mini)objects you will receive a new reference which
you must release with a suitable _unref() when no longer needed. For
-strings and boxed types you will acquire a copy which you will need to
-release with either g_free() or the suiteable function for the boxed type.
+strings and boxed types you will receive a copy which you will need to
+release with either g_free() or the suitable function for the boxed type.
</description>
@@ -40819,6 +44588,71 @@ value is replaced and freed.
<return></return>
</function>
+<function name="gst_structure_intersect">
+<description>
+Interesects @struct1 and @struct2 and returns the intersection.
+
+
+</description>
+<parameters>
+<parameter name="struct1">
+<parameter_description> a #GstStructure
+</parameter_description>
+</parameter>
+<parameter name="struct2">
+<parameter_description> a #GstStructure
+</parameter_description>
+</parameter>
+</parameters>
+<return> Intersection of @struct1 and @struct2
+
+</return>
+</function>
+
+<function name="gst_structure_is_equal">
+<description>
+Tests if the two #GstStructure are equal.
+
+
+</description>
+<parameters>
+<parameter name="structure1">
+<parameter_description> a #GstStructure.
+</parameter_description>
+</parameter>
+<parameter name="structure2">
+<parameter_description> a #GstStructure.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the two structures have the same name and field.
+
+</return>
+</function>
+
+<function name="gst_structure_is_subset">
+<description>
+Checks if @subset is a subset of @superset, i.e. has the same
+structure name and for all fields that are existing in @superset,
+ subset has a value that is a subset of the value in @superset.
+
+
+</description>
+<parameters>
+<parameter name="subset">
+<parameter_description> a #GstStructure
+</parameter_description>
+</parameter>
+<parameter name="superset">
+<parameter_description> a potentially greater #GstStructure
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @subset is a subset of @superset
+
+</return>
+</function>
+
<function name="gst_structure_map_in_place">
<description>
Calls the provided function once for each field in the #GstStructure. In
@@ -41331,6 +45165,24 @@ Gets the flag of @tag.
</return>
</function>
+<function name="gst_tag_get_id3v2_tag_size">
+<description>
+Determines size of an ID3v2 tag on buffer containing at least ID3v2 header,
+i.e. at least #GST_TAG_ID3V2_HEADER_SIZE (10) bytes;
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> buffer holding ID3v2 tag (or at least the start of one)
+</parameter_description>
+</parameter>
+</parameters>
+<return> Size of tag, or 0 if header is invalid or too small.
+
+</return>
+</function>
+
<function name="gst_tag_get_language_code_iso_639_1">
<description>
Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2
@@ -41450,6 +45302,145 @@ application is terminated.
</return>
</function>
+<function name="gst_tag_get_license_description">
+<description>
+Get the description of a license, which is a translated description
+of the license's main features.
+
+
+</description>
+<parameters>
+<parameter name="license_ref">
+<parameter_description> a license reference string in form of a URI,
+e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"
+</parameter_description>
+</parameter>
+</parameters>
+<return> the description of the license, or NULL if the license is unknown
+or a description is not available.
+
+</return>
+</function>
+
+<function name="gst_tag_get_license_flags">
+<description>
+Get the flags of a license, which describe most of the features of
+a license in their most general form.
+
+
+</description>
+<parameters>
+<parameter name="license_ref">
+<parameter_description> a license reference string in form of a URI,
+e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"
+</parameter_description>
+</parameter>
+</parameters>
+<return> the flags of the license, or 0 if the license is unknown
+
+</return>
+</function>
+
+<function name="gst_tag_get_license_jurisdiction">
+<description>
+Get the jurisdiction code of a license. This is usually a two-letter
+ISO 3166-1 alpha-2 code, but there is also the special case of Scotland,
+for which no code exists and which is thus represented as "scotland".
+
+Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de,
+dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl,
+pt, scotland, se, si, tw, uk, us, za.
+
+
+</description>
+<parameters>
+<parameter name="license_ref">
+<parameter_description> a license reference string in form of a URI,
+e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"
+</parameter_description>
+</parameter>
+</parameters>
+<return> the jurisdiction code of the license, or NULL if the license is
+unknown or is not specific to a particular jurisdiction.
+
+</return>
+</function>
+
+<function name="gst_tag_get_license_nick">
+<description>
+Get the nick name of a license, which is a short (untranslated) string
+such as e.g. "CC BY-NC-ND 2.0 UK".
+
+
+</description>
+<parameters>
+<parameter name="license_ref">
+<parameter_description> a license reference string in form of a URI,
+e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"
+</parameter_description>
+</parameter>
+</parameters>
+<return> the nick name of the license, or NULL if the license is unknown
+
+</return>
+</function>
+
+<function name="gst_tag_get_license_title">
+<description>
+Get the title of a license, which is a short translated description
+of the license's features (generally not very pretty though).
+
+
+</description>
+<parameters>
+<parameter name="license_ref">
+<parameter_description> a license reference string in form of a URI,
+e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"
+</parameter_description>
+</parameter>
+</parameters>
+<return> the title of the license, or NULL if the license is unknown or
+no title is available.
+
+</return>
+</function>
+
+<function name="gst_tag_get_license_version">
+<description>
+Get the version of a license.
+
+
+</description>
+<parameters>
+<parameter name="license_ref">
+<parameter_description> a license reference string in form of a URI,
+e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"
+</parameter_description>
+</parameter>
+</parameters>
+<return> the version of the license, or NULL if the license is not known or
+has no version
+
+</return>
+</function>
+
+<function name="gst_tag_get_licenses">
+<description>
+Returns a list of known license references (in form of URIs). This is
+useful for UIs to build a list of available licenses for tagging purposes
+(e.g. to tag an audio track appropriately in a video or audio editor, or
+an image in a camera application).
+
+
+</description>
+<parameters>
+</parameters>
+<return> NULL-terminated array of license strings. Free with g_strfreev()
+when no longer needed.
+
+</return>
+</function>
+
<function name="gst_tag_get_nick">
<description>
Returns the human-readable name of this tag, You must not change or free
@@ -41868,6 +45859,25 @@ Parses the exif tags starting with a tiff header structure.
</return>
</function>
+<function name="gst_tag_list_from_id3v2_tag">
+<description>
+Creates a new tag list that contains the information parsed out of a
+ID3 tag.
+
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> buffer to convert
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GstTagList with all tags that could be extracted from the
+given vorbiscomment buffer or NULL on error.
+
+</return>
+</function>
+
<function name="gst_tag_list_from_vorbiscomment_buffer">
<description>
Creates a new tag list that contains the information parsed out of a
@@ -42938,6 +46948,27 @@ Checks if the given taglist is empty.
</return>
</function>
+<function name="gst_tag_list_is_equal">
+<description>
+Checks if the two given taglists are equal.
+
+
+</description>
+<parameters>
+<parameter name="list1">
+<parameter_description> a #GstTagList.
+</parameter_description>
+</parameter>
+<parameter name="list2">
+<parameter_description> a #GstTagList.
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if the taglists are equal, otherwise FALSE
+
+</return>
+</function>
+
<function name="gst_tag_list_merge">
<description>
Merges the two given lists into a new list. If one of the lists is NULL, a
@@ -42996,6 +47027,23 @@ parsed data.
</return>
</function>
+<function name="gst_tag_list_new_from_string">
+<description>
+Deserializes a tag list.
+
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string created with gst_tag_list_to_string()
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstTagList, or NULL in case of an error.
+
+</return>
+</function>
+
<function name="gst_tag_list_new_full">
<description>
Creates a new taglist and appends the values for the given tags. It expects
@@ -43143,6 +47191,24 @@ is put in the beginning of the buffer.
</return>
</function>
+<function name="gst_tag_list_to_string">
+<description>
+Serializes a tag list to a string.
+
+
+</description>
+<parameters>
+<parameter name="list">
+<parameter_description> a #GstTagList
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated string, or NULL in case of an error. The
+string must be freed with g_free() when no longer needed.
+
+</return>
+</function>
+
<function name="gst_tag_list_to_vorbiscomment_buffer">
<description>
Creates a new vorbiscomment buffer from a tag list.
@@ -43627,7 +47693,7 @@ vorbiscomment packet.
</parameter_description>
</parameter>
</parameters>
-<return> A #GList of newly-allowcated key=value strings. Free with
+<return> A #GList of newly-allocated key=value strings. Free with
g_list_foreach (list, (GFunc) g_free, NULL) plus g_list_free (list)
</return>
</function>
@@ -45032,7 +49098,7 @@ derive from
</parameter>
<parameter name="class_init">
<parameter_description> Location of the class initialization function for class types
-Location of the default vtable inititalization function for interface
+Location of the default vtable initialization function for interface
types. (optional)
</parameter_description>
</parameter>
@@ -45561,7 +49627,7 @@ Transforms a fraction to a #gdouble.
<function name="gst_util_get_timestamp">
<description>
-Get a timestamp as GstClockTime to be used for interval meassurements.
+Get a timestamp as GstClockTime to be used for interval measurements.
The timestamp should not be interpreted in any other way.
@@ -46425,15 +50491,15 @@ the contents from source to target.
<description>
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.
+is placed in @dest, unless NULL. If the intersection is non-empty,
+ dest is not modified.
</description>
<parameters>
<parameter name="dest">
<parameter_description> a uninitialized #GValue that will hold the calculated
-intersection value
+intersection value. May be NULL if the resulting set if not needed.
</parameter_description>
</parameter>
<parameter name="value1">
@@ -46683,7 +50749,7 @@ be used at the same time as gst_value_union() or gst_value_can_union().
</parameter_description>
</parameter>
<parameter name="func">
-<parameter_description> a function that implments creating a union between the two types
+<parameter_description> a function that implements creating a union between the two types
</parameter_description>
</parameter>
</parameters>
@@ -46730,7 +50796,7 @@ provided @caps will be taken by the @value.
<function name="gst_value_set_date">
<description>
-Sets the contents of @value to coorespond to @date. The actual
+Sets the contents of @value to correspond to @date. The actual
#GDate structure is copied before it is used.
</description>
@@ -46958,7 +51024,8 @@ Note that this means subtraction as in sets, not as in mathematics.
<parameters>
<parameter name="dest">
<parameter_description> the destination value for the result if the
-subtraction is not empty
+subtraction is not empty. May be NULL, in which case the resulting set
+will not be computed, which can give a fair speedup.
</parameter_description>
</parameter>
<parameter name="minuend">
@@ -47059,10 +51126,54 @@ of GStreamer.
</return>
</function>
+<function name="gst_video_buffer_get_overlay_composition">
+<description>
+Get the overlay composition that has previously been attached to a buffer
+with gst_video_buffer_get_overlay_composition(), usually by another element
+upstream.
+
+
+</description>
+<parameters>
+<parameter name="buf">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GstVideoOverlayComposition attached to
+this buffer, or NULL. Does not return a reference to the composition,
+caller must obtain her own ref via gst_video_overlay_composition_ref()
+if needed.
+
+</return>
+</function>
+
+<function name="gst_video_buffer_set_overlay_composition">
+<description>
+Sets an overlay composition on a buffer. The buffer will obtain its own
+reference to the composition, meaning this function does not take ownership
+of @comp.
+
+
+</description>
+<parameters>
+<parameter name="buf">
+<parameter_description> a #GstBuffer
+</parameter_description>
+</parameter>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition, or NULL to clear a
+previously-set composition
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="gst_video_calculate_display_ratio">
<description>
-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
+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.
@@ -47101,9 +51212,9 @@ display ratio the video will be rendered with.
</parameter_description>
</parameter>
</parameters>
-<return> A boolean indicating success and a calculated Display Ratio in the
-dar_n and dar_d parameters.
-The return value is FALSE in the case of integer overflow or other error.
+<return> A boolean indicating success and a calculated Display Ratio in the
+dar_n and dar_d parameters.
+The return value is FALSE in the case of integer overflow or other error.
</return>
</function>
@@ -47132,7 +51243,7 @@ The width, height and pixel-aspect-ratio can also be specified in the output cap
<parameter_description> the maximum amount of time allowed for the processing.
</parameter_description>
</parameter>
-<parameter name="err">
+<parameter name="error">
<parameter_description> pointer to a #GError. Can be %NULL.
</parameter_description>
</parameter>
@@ -47179,6 +51290,10 @@ anymore.
<parameter_description> %GstVideoConvertFrameCallback that will be called after conversion.
</parameter_description>
</parameter>
+<parameter name="user_data">
+<parameter_description> extra data that will be passed to the @callback
+</parameter_description>
+</parameter>
<parameter name="destroy_notify">
<parameter_description> %GDestroyNotify to be called after @user_data is not needed anymore
</parameter_description>
@@ -47187,6 +51302,62 @@ anymore.
<return></return>
</function>
+<function name="gst_video_event_is_force_key_unit">
+<description>
+Checks if an event is a force key unit event. Returns true for both upstream
+and downstream force key unit events.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> A #GstEvent to check
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event is a valid force key unit event
+</return>
+</function>
+
+<function name="gst_video_event_new_downstream_force_key_unit">
+<description>
+Creates a new downstream force key unit event. A downstream force key unit
+event can be sent down the pipeline to request downstream elements to produce
+a key unit. A downstream force key unit event must also be sent when handling
+an upstream force key unit event to notify downstream that the latter has been
+handled.
+
+To parse an event created by gst_video_event_new_downstream_force_key_unit() use
+gst_video_event_parse_downstream_force_key_unit().
+
+
+</description>
+<parameters>
+<parameter name="timestamp">
+<parameter_description> the timestamp of the buffer that starts a new key unit
+</parameter_description>
+</parameter>
+<parameter name="stream_time">
+<parameter_description> the stream_time of the buffer that starts a new key unit
+</parameter_description>
+</parameter>
+<parameter name="running_time">
+<parameter_description> the running_time of the buffer that starts a new key unit
+</parameter_description>
+</parameter>
+<parameter name="all_headers">
+<parameter_description> %TRUE to produce headers when starting a new key unit
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> integer that can be used to number key units
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new GstEvent
+</return>
+</function>
+
<function name="gst_video_event_new_still_frame">
<description>
Creates a new Still Frame event. If @in_still is %TRUE, then the event
@@ -47208,6 +51379,76 @@ gst_video_event_parse_still_frame().
</return>
</function>
+<function name="gst_video_event_new_upstream_force_key_unit">
+<description>
+Creates a new upstream force key unit event. An upstream force key unit event
+can be sent to request upstream elements to produce a key unit.
+
+ running_time can be set to request a new key unit at a specific
+running_time. If set to GST_CLOCK_TIME_NONE, upstream elements will produce a
+new key unit as soon as possible.
+
+To parse an event created by gst_video_event_new_downstream_force_key_unit() use
+gst_video_event_parse_downstream_force_key_unit().
+
+
+</description>
+<parameters>
+<parameter name="running_time">
+<parameter_description> the running_time at which a new key unit should be produced
+</parameter_description>
+</parameter>
+<parameter name="all_headers">
+<parameter_description> %TRUE to produce headers when starting a new key unit
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> integer that can be used to number key units
+</parameter_description>
+</parameter>
+</parameters>
+<return> The new GstEvent
+</return>
+</function>
+
+<function name="gst_video_event_parse_downstream_force_key_unit">
+<description>
+Get timestamp, stream-time, running-time, all-headers and count in the force
+key unit event. See gst_video_event_new_downstream_force_key_unit() for a
+full description of the downstream force key unit event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> A #GstEvent to parse
+</parameter_description>
+</parameter>
+<parameter name="timestamp">
+<parameter_description> A pointer to the timestamp in the event
+</parameter_description>
+</parameter>
+<parameter name="stream_time">
+<parameter_description> A pointer to the stream-time in the event
+</parameter_description>
+</parameter>
+<parameter name="running_time">
+<parameter_description> A pointer to the running-time in the event
+</parameter_description>
+</parameter>
+<parameter name="all_headers">
+<parameter_description> A pointer to the all_headers flag in the event
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> A pointer to the count field of the event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event is a valid downstream force key unit event.
+</return>
+</function>
+
<function name="gst_video_event_parse_still_frame">
<description>
Parse a #GstEvent, identify if it is a Still Frame event, and
@@ -47235,6 +51476,38 @@ Create a still frame event using gst_video_event_new_still_frame()
</return>
</function>
+<function name="gst_video_event_parse_upstream_force_key_unit">
+<description>
+Get running-time, all-headers and count in the force key unit event. See
+gst_video_event_new_upstream_force_key_unit() for a full description of the
+upstream force key unit event.
+
+Create an upstream force key unit event using gst_video_event_new_upstream_force_key_unit()
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> A #GstEvent to parse
+</parameter_description>
+</parameter>
+<parameter name="running_time">
+<parameter_description> A pointer to the running_time in the event
+</parameter_description>
+</parameter>
+<parameter name="all_headers">
+<parameter_description> A pointer to the all_headers flag in the event
+</parameter_description>
+</parameter>
+<parameter name="count">
+<parameter_description> A pointer to the count field in the event
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the event is a valid upstream force-key-unit event. %FALSE if not
+</return>
+</function>
+
<function name="gst_video_format_convert">
<description>
Converts among various #GstFormat types. This function handles
@@ -47309,7 +51582,7 @@ If the FOURCC cannot be represented by #GstVideoFormat,
<function name="gst_video_format_get_component_depth">
<description>
Returns the number of bits used to encode an individual pixel of
-a given component. Typically this is 8, although higher and lower
+a given @component. Typically this is 8, although higher and lower
values are possible for some formats.
@@ -47320,6 +51593,10 @@ values are possible for some formats.
<parameter_description> a #GstVideoFormat
</parameter_description>
</parameter>
+<parameter name="component">
+<parameter_description> the video component (e.g. 0 for 'R' in RGB)
+</parameter_description>
+</parameter>
</parameters>
<return> depth of component
</return>
@@ -47673,8 +51950,10 @@ range.
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.
+represent a video format or does not contain height and width, the
+function will fail and return FALSE. If @caps does not represent a raw
+video format listed in #GstVideoFormat, but still contains video caps,
+this function will return TRUE and set @format to #GST_VIDEO_FORMAT_UNKNOWN.
@@ -47791,6 +52070,28 @@ The pad needs to have negotiated caps containing width and height properties.
</return>
</function>
+<function name="gst_video_get_size_from_caps">
+<description>
+Calculates the total number of bytes in the raw video format for the given
+caps. This number should be used when allocating a buffer for raw video.
+
+
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a pointer to #GstCaps
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> a pointer to a gint that will be assigned the size (in bytes) of a video frame with the given caps
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the size could be calculated from the caps
+</return>
+</function>
+
<function name="gst_video_orientation_get_hcenter">
<description>
Get the horizontal centering offset from the given object.
@@ -47951,6 +52252,418 @@ Set the vertical flipping state (%TRUE for flipped) for the given object.
</return>
</function>
+<function name="gst_video_overlay_composition_add_rectangle">
+<description>
+Adds an overlay rectangle to an existing overlay composition object. This
+must be done right after creating the overlay composition.
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition
+</parameter_description>
+</parameter>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle to add to the
+composition
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_video_overlay_composition_blend">
+<description>
+Blends the overlay rectangles in @comp on top of the raw video data
+contained in @video_buf. The data in @video_buf must be writable. If
+needed, use gst_buffer_make_writable() before calling this function to
+ensure a buffer is writable. @video_buf must also have valid raw video
+caps set on it.
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition
+</parameter_description>
+</parameter>
+<parameter name="video_buf">
+<parameter_description> a #GstBuffer containing raw video data in a supported format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gst_video_overlay_composition_copy">
+<description>
+Makes a copy of @comp and all contained rectangles, so that it is possible
+to modify the composition and contained rectangles (e.g. add additional
+rectangles or change the render co-ordinates or render dimension). The
+actual overlay pixel data buffers contained in the rectangles are not
+copied.
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstVideoOverlayComposition equivalent
+to @comp.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_composition_get_rectangle">
+<description>
+Returns the @n-th #GstVideoOverlayRectangle contained in @comp.
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition
+</parameter_description>
+</parameter>
+<parameter name="n">
+<parameter_description> number of the rectangle to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> the @n-th rectangle, or NULL if @n is out of
+bounds. Will not return a new reference, the caller will need to
+obtain her own reference using gst_video_overlay_rectangle_ref()
+if needed.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_composition_get_seqnum">
+<description>
+Returns the sequence number of this composition. Sequence numbers are
+monotonically increasing and unique for overlay compositions and rectangles
+(meaning there will never be a rectangle with the same sequence number as
+a composition).
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition
+</parameter_description>
+</parameter>
+</parameters>
+<return> the sequence number of @comp
+
+</return>
+</function>
+
+<function name="gst_video_overlay_composition_make_writable">
+<description>
+Takes ownership of @comp and returns a version of @comp that is writable
+(i.e. can be modified). Will either return @comp right away, or create a
+new writable copy of @comp and unref @comp itself. All the contained
+rectangles will also be copied, but the actual overlay pixel data buffers
+contained in the rectangles are not copied.
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> a writable #GstVideoOverlayComposition
+equivalent to @comp.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_composition_n_rectangles">
+<description>
+Returns the number of #GstVideoOverlayRectangle<!-- -->s contained in @comp.
+
+
+</description>
+<parameters>
+<parameter name="comp">
+<parameter_description> a #GstVideoOverlayComposition
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of rectangles
+
+</return>
+</function>
+
+<function name="gst_video_overlay_composition_new">
+<description>
+Creates a new video overlay composition object to hold one or more
+overlay rectangles.
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle to add to the
+composition
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstVideoOverlayComposition. Unref with
+gst_video_overlay_composition_unref() when no longer needed.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_copy">
+<description>
+Makes a copy of @rectangle, so that it is possible to modify it
+(e.g. to change the render co-ordinates or render dimension). The
+actual overlay pixel data buffers contained in the rectangle are not
+copied.
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstVideoOverlayRectangle equivalent
+to @rectangle.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_get_pixels_argb">
+<description>
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle
+</parameter_description>
+</parameter>
+<parameter name="stride">
+<parameter_description> address of guint variable where to store the
+row stride of the ARGB pixel data in the buffer
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags (unused)
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBuffer holding the ARGB pixel data with
+row stride @stride and width and height of the render dimensions as per
+gst_video_overlay_rectangle_get_render_rectangle(). This function does
+not return a reference, the caller should obtain a reference of her own
+with gst_buffer_ref() if needed.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_get_pixels_unscaled_argb">
+<description>
+Retrieves the pixel data as it is. This is useful if the caller can
+do the scaling itself when handling the overlaying. The rectangle will
+need to be scaled to the render dimensions, which can be retrieved using
+gst_video_overlay_rectangle_get_render_rectangle().
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> address where to store the width of the unscaled
+rectangle in pixels
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> address where to store the height of the unscaled
+rectangle in pixels
+</parameter_description>
+</parameter>
+<parameter name="stride">
+<parameter_description> address of guint variable where to store the row
+stride of the ARGB pixel data in the buffer
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags for future use (unused)
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GstBuffer holding the ARGB pixel data with
+row stride @stride. This function does not return a reference, the caller
+should obtain a reference of her own with gst_buffer_ref() if needed.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_get_render_rectangle">
+<description>
+Retrieves the render position and render dimension of the overlay
+rectangle on the video.
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle
+</parameter_description>
+</parameter>
+<parameter name="render_x">
+<parameter_description> address where to store the X render offset
+</parameter_description>
+</parameter>
+<parameter name="render_y">
+<parameter_description> address where to store the Y render offset
+</parameter_description>
+</parameter>
+<parameter name="render_width">
+<parameter_description> address where to store the render width
+</parameter_description>
+</parameter>
+<parameter name="render_height">
+<parameter_description> address where to store the render height
+</parameter_description>
+</parameter>
+</parameters>
+<return> TRUE if valid render dimensions were retrieved.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_get_seqnum">
+<description>
+Returns the sequence number of this rectangle. Sequence numbers are
+monotonically increasing and unique for overlay compositions and rectangles
+(meaning there will never be a rectangle with the same sequence number as
+a composition).
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return> the sequence number of @rectangle
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_new_argb">
+<description>
+Creates a new video overlay rectangle with ARGB pixel data. The layout
+of the components in memory is B-G-R-A on little-endian platforms
+(corresponding to #GST_VIDEO_FORMAT_BGRA) and A-R-G-B on big-endian
+platforms (corresponding to #GST_VIDEO_FORMAT_ARGB). In other words,
+pixels are treated as 32-bit words and the lowest 8 bits then contain
+the blue component value and the highest 8 bits contain the alpha
+component value. The RGB values are non-premultiplied. This is the
+format that is used by most hardware, and also many rendering libraries
+such as Cairo, for example.
+
+
+</description>
+<parameters>
+<parameter name="pixels">
+<parameter_description> a #GstBuffer pointing to the pixel memory
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the width of the rectangle in @pixels
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the rectangle in @pixels
+</parameter_description>
+</parameter>
+<parameter name="stride">
+<parameter_description> the stride of the rectangle in @pixels in bytes (>= 4*width)
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the X co-ordinate on the video where the top-left corner of this
+overlay rectangle should be rendered to
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the Y co-ordinate on the video where the top-left corner of this
+overlay rectangle should be rendered to
+</parameter_description>
+</parameter>
+<parameter name="render_width">
+<parameter_description> the render width of this rectangle on the video
+</parameter_description>
+</parameter>
+<parameter name="render_height">
+<parameter_description> the render height of this rectangle on the video
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags (currently unused)
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GstVideoOverlayRectangle. Unref with
+gst_video_overlay_rectangle_unref() when no longer needed.
+
+</return>
+</function>
+
+<function name="gst_video_overlay_rectangle_set_render_rectangle">
+<description>
+Sets the render position and dimensions of the rectangle on the video.
+This function is mainly for elements that modify the size of the video
+in some way (e.g. through scaling or cropping) and need to adjust the
+details of any overlays to match the operation that changed the size.
+
+ rectangle must be writable, meaning its refcount must be 1. You can
+make the rectangles inside a #GstVideoOverlayComposition writable using
+gst_video_overlay_composition_make_writable() or
+gst_video_overlay_composition_copy().
+
+
+</description>
+<parameters>
+<parameter name="rectangle">
+<parameter_description> a #GstVideoOverlayRectangle
+</parameter_description>
+</parameter>
+<parameter name="render_x">
+<parameter_description> render X position of rectangle on video
+</parameter_description>
+</parameter>
+<parameter name="render_y">
+<parameter_description> render Y position of rectangle on video
+</parameter_description>
+</parameter>
+<parameter name="render_width">
+<parameter_description> render width of rectangle
+</parameter_description>
+</parameter>
+<parameter name="render_height">
+<parameter_description> render height of rectangle
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="gst_video_parse_caps_chroma_site">
<description>
Extracts the chroma site used by the caps. Possible values are
@@ -48180,7 +52893,7 @@ Deprecated: Use gst_x_overlay_got_window_handle() instead.
</parameter_description>
</parameter>
<parameter name="xwindow_id">
-<parameter_description> a #XID referencing the XWindow.
+<parameter_description> a XID referencing the XWindow.
</parameter_description>
</parameter>
</parameters>
@@ -48190,7 +52903,7 @@ Deprecated: Use gst_x_overlay_got_window_handle() instead.
<function name="gst_x_overlay_handle_events">
<description>
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 forwarded 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.
@@ -48213,7 +52926,7 @@ from the XOverlay.
<function name="gst_x_overlay_prepare_xwindow_id">
<description>
This will post a "prepare-xwindow-id" element message on the bus
-to give applications an opportunity to call
+to give applications an opportunity to call
gst_x_overlay_set_xwindow_id() before a plugin creates its own
window.
@@ -48275,18 +52988,18 @@ do not support subwindows.
<description>
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.
+specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
+tell the overlay to stop using that window and create an internal one.
</description>
<parameters>
<parameter name="overlay">
-<parameter_description> a #GstXOverlay to set the XWindow on.
+<parameter_description> a #GstXOverlay to set the window on.
</parameter_description>
</parameter>
-<parameter name="xwindow_id">
-<parameter_description> a #XID referencing the XWindow.
+<parameter name="handle">
+<parameter_description> a handle referencing the window.
</parameter_description>
</parameter>
</parameters>
@@ -48297,7 +53010,7 @@ stop using that window and create an internal one.
<description>
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
+specific XWindow. Passing 0 as the @xwindow_id will tell the overlay to
stop using that window and create an internal one.
Deprecated: Use gst_x_overlay_set_window_handle() instead.
@@ -48305,11 +53018,11 @@ Deprecated: Use gst_x_overlay_set_window_handle() instead.
</description>
<parameters>
<parameter name="overlay">
-<parameter_description> a #GstXOverlay to set the XWindow on.
+<parameter_description> a #GstXOverlay to set the window on.
</parameter_description>
</parameter>
<parameter name="xwindow_id">
-<parameter_description> a #XID referencing the XWindow.
+<parameter_description> a XID referencing the XWindow.
</parameter_description>
</parameter>
</parameters>
@@ -48592,32 +53305,4 @@ Hashes @key in a case-insensitive manner.
</return>
</function>
-<function name="validate_data">
-<description>
-Checks if @data is a valid RTP packet.
-
-
-</description>
-<parameters>
-<parameter name="data">
-<parameter_description> the data to validate
-</parameter_description>
-</parameter>
-<parameter name="len">
-<parameter_description> the length of @data to validate
-</parameter_description>
-</parameter>
-<parameter name="payload">
-<parameter_description> the payload if @data represents the header only
-</parameter_description>
-</parameter>
-<parameter name="payload_len">
-<parameter_description> the len of the payload
-</parameter_description>
-</parameter>
-</parameters>
-<return> TRUE if @data is a valid RTP packet
-</return>
-</function>
-
</root>
diff --git a/gstreamer/src/index.hg b/gstreamer/src/index.hg
index c185e62..2b6206b 100644
--- a/gstreamer/src/index.hg
+++ b/gstreamer/src/index.hg
@@ -156,8 +156,6 @@ public:
#m4 _CONVERSION(`GstIndexEntry*',`const Gst::IndexEntry&',`Glib::wrap($3, true)')
#m4 _CONVERSION(`const Gst::IndexEntry&',`GstIndexEntry*',`const_cast<GstIndexEntry*>(($3).gobj())')
- /** Emitted when a new entry is added to the index.
- */
_WRAP_SIGNAL(void entry_added(const Gst::IndexEntry& entry), "entry-added")
_WRAP_VFUNC(bool get_writer_id(int& writer_id, const Glib::ustring& writer_string) const, "get_writer_id")
diff --git a/gstreamer/src/object.hg b/gstreamer/src/object.hg
index 14a8aef..ed6dd2c 100644
--- a/gstreamer/src/object.hg
+++ b/gstreamer/src/object.hg
@@ -106,28 +106,16 @@ public:
_WRAP_PROPERTY("name", Glib::ustring)
#m4 _CONVERSION(`GstObject*', `const Glib::RefPtr<Object>&', `Glib::wrap($3, true)')
- /** 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.
- */
//TODO: Maybe GParamSpec should be wrapped in glibmm?
_WRAP_SIGNAL(void deep_notify(const Glib::RefPtr<Object>& prop_object, GParamSpec* prop), "deep-notify")
- /** Trigered whenever a new object is saved to XML. You can connect to this
- * signal to insert custom XML tags into the core XML.
- */
//TODO: Use xmlpp::Node for parameter?
_WRAP_SIGNAL(void object_saved(GstXmlNodePtr xml_node), "object-saved")
#m4 _CONVERSION(`GstObject*', `const Glib::RefPtr<Object>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`const Glib::RefPtr<Object>&', `GstObject*', `Glib::unwrap($3)')
- /** Emitted when the parent of an object is set.
- */
_WRAP_SIGNAL(void parent_set(const Glib::RefPtr<Object>& parent), "parent-set")
-
- /** Emitted when the parent of an object is unset.
- */
_WRAP_SIGNAL(void parent_unset(const Glib::RefPtr<Object>& parent), "parent-unset")
virtual xmlpp::Node* save_vfunc(xmlpp::Node* parent);
diff --git a/gstreamer/src/pad.hg b/gstreamer/src/pad.hg
index 3665f9b..1dd1b7a 100644
--- a/gstreamer/src/pad.hg
+++ b/gstreamer/src/pad.hg
@@ -519,16 +519,10 @@ public:
_IGNORE_SIGNAL(have_data)
#m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Gst::Pad>&',`Glib::wrap($3, true)')
- /** Signals that a pad has been linked to the peer pad.
- */
+
_WRAP_SIGNAL(void linked(const Glib::RefPtr<Gst::Pad>& peer_pad), "linked")
- /** Signals that a pad connection has been requested.
- */
_WRAP_SIGNAL(void request_link(), "request-link")
-
- /** Signals that a pad has been unlinked from the peer pad.
- */
_WRAP_SIGNAL(void unlinked(const Glib::RefPtr<Gst::Pad>& peer_pad), "unlinked")
_WRAP_PROPERTY("caps", Glib::RefPtr<Gst::Caps>)
diff --git a/gstreamer/src/padtemplate.hg b/gstreamer/src/padtemplate.hg
index 10ba667..929d589 100644
--- a/gstreamer/src/padtemplate.hg
+++ b/gstreamer/src/padtemplate.hg
@@ -99,9 +99,6 @@ public:
_WRAP_PROPERTY("presence", Gst::PadPresence)
#m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Gst::Pad>&',`Glib::wrap($3, true)')
-
- /** This signal is fired when an element creates a pad from this template.
- */
_WRAP_SIGNAL(void pad_created(const Glib::RefPtr<Gst::Pad>& pad), "pad-created")
//gst_pad_template_pad_created emits the "pad-created" signal. It seems
diff --git a/gstreamer/src/registry.hg b/gstreamer/src/registry.hg
index 15a5243..e2bd478 100644
--- a/gstreamer/src/registry.hg
+++ b/gstreamer/src/registry.hg
@@ -213,17 +213,9 @@ public:
_WRAP_METHOD(static bool check_feature_version(const Glib::ustring& feature_name, guint min_major, guint min_minor, guint min_micro), gst_default_registry_check_feature_version)
#m4 _CONVERSION(`GstPluginFeature*',`const Glib::RefPtr<Gst::PluginFeature>&',`Glib::wrap($3, true)')
-
- /** Signals that a feature has been added to the registry (possibly replacing
- * a previously-added one by the same name)
- */
_WRAP_SIGNAL(void feature_added(const Glib::RefPtr<Gst::PluginFeature>& feature), "feature-added")
#m4 _CONVERSION(`GstPlugin*',`const Glib::RefPtr<Gst::Plugin>&',`Glib::wrap($3, true)')
-
- /** Signals that a plugin has been added to the registry (possibly replacing
- * a previously-added one by the same name)
- */
_WRAP_SIGNAL(void plugin_added(const Glib::RefPtr<Gst::Plugin>& plugin), "plugin-added")
};
diff --git a/gstreamer/src/tuner.hg b/gstreamer/src/tuner.hg
index e48039e..ddd656f 100644
--- a/gstreamer/src/tuner.hg
+++ b/gstreamer/src/tuner.hg
@@ -69,27 +69,12 @@ public:
#m4 _CONVERSION(`GstTunerChannel*', `const Glib::RefPtr<Gst::TunerChannel>&', `Glib::wrap($3, true)')
- /** Reports that the current Gst::TunerChannel has changed.
- * @param channel The Gst::TunerChannel that has changed.
- */
_WRAP_SIGNAL(void channel_changed(const Glib::RefPtr<Gst::TunerChannel>& channel), "channel-changed")
-
- /** Reports that the current frequency has changed.
- * @param channel The Gst::TunerChannel who's frequency has changed.
- * @param frequency The new frequency.
- */
_WRAP_SIGNAL(void frequency_changed(const Glib::RefPtr<Gst::TunerChannel>& channel, gulong frequency), "frequency-changed")
#m4 _CONVERSION(`GstTunerNorm*', `const Glib::RefPtr<Gst::TunerNorm>&', `Glib::wrap($3, true)')
- /** Reports that the current Gst::TunerNorm has changed.
- * @param norm The Gst::TunerNorm that has changed.
- */
_WRAP_SIGNAL(void norm_changed(const Glib::RefPtr<Gst::TunerNorm>& norm), "norm-changed")
- /** Reports that the signal strength has changed.
- * @param channel The Gst::TunerChannel who's signal has changed.
- * @param signal The new signal.
- */
_WRAP_SIGNAL(void signal_changed(const Glib::RefPtr<Gst::TunerChannel>& channel, int signal), "signal-changed")
virtual Glib::ListHandle< Glib::RefPtr<Gst::TunerChannel> > list_channels_vfunc() const;
diff --git a/gstreamer/src/tunerchannel.hg b/gstreamer/src/tunerchannel.hg
index 28d13a2..f6b1834 100644
--- a/gstreamer/src/tunerchannel.hg
+++ b/gstreamer/src/tunerchannel.hg
@@ -68,14 +68,7 @@ public:
*/
_MEMBER_GET(max_signal, max_signal, int, gint)
- /** Reports that the current frequency has changed.
- * @param frequency The new frequency.
- */
_WRAP_SIGNAL(void frequency_changed(gulong frequency), "frequency-changed")
-
- /** Reports that the signal strength has changed.
- * @param signal The new signal value.
- */
_WRAP_SIGNAL(void signal_changed(int signal), "signal-changed")
};
diff --git a/gstreamer/src/urihandler.hg b/gstreamer/src/urihandler.hg
index 6d1315a..5bcb928 100644
--- a/gstreamer/src/urihandler.hg
+++ b/gstreamer/src/urihandler.hg
@@ -66,8 +66,6 @@ public:
_WRAP_METHOD(bool set_uri(const Glib::ustring& uri), gst_uri_handler_set_uri)
_WRAP_METHOD(void new_uri(const Glib::ustring& uri), gst_uri_handler_new_uri)
- /** This signal is emitted when the URI of the uri handler has changed.
- */
_WRAP_SIGNAL(void new_uri(const Glib::ustring& uri), "new-uri")
#m4 _CONVERSION(`Glib::ustring', `const gchar*', `($3).c_str()')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]