diff options
Diffstat (limited to 'docs/gst/html/gstreamer-GstQuery.html')
-rw-r--r-- | docs/gst/html/gstreamer-GstQuery.html | 1396 |
1 files changed, 1015 insertions, 381 deletions
diff --git a/docs/gst/html/gstreamer-GstQuery.html b/docs/gst/html/gstreamer-GstQuery.html index 5d06b4f..9d9b816 100644 --- a/docs/gst/html/gstreamer-GstQuery.html +++ b/docs/gst/html/gstreamer-GstQuery.html @@ -3,8 +3,8 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>GstQuery</title> -<meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> -<link rel="home" href="index.html" title="GStreamer 0.11 Core Reference Manual"> +<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual"> <link rel="up" href="libgstreamer.html" title="GStreamer Core Library"> <link rel="prev" href="GstPreset.html" title="GstPreset"> <link rel="next" href="GstRegistry.html" title="GstRegistry"> @@ -17,7 +17,7 @@ <td><a accesskey="p" href="GstPreset.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> -<th width="100%" align="center">GStreamer 0.11 Core Reference Manual</th> +<th width="100%" align="center">GStreamer 1.0 Core Reference Manual</th> <td><a accesskey="n" href="GstRegistry.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> </tr> <tr><td colspan="5" class="shortcuts"> @@ -31,8 +31,8 @@ <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="gstreamer-GstQuery.top_of_page"></a>GstQuery</span></h2> -<p>GstQuery — Dynamically register new query types. Provide functions - to create queries, and to set and parse values in them.</p> +<p>GstQuery — Provide functions to create queries, and to set and parse + values in them.</p> </td> <td valign="top" align="right"></td> </tr></table></div> @@ -42,57 +42,57 @@ #include <gst/gst.h> struct <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery">GstQuery</a>; +enum <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags">GstQueryTypeFlags</a>; +#define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-TYPE-BOTH:CAPS" title="GST_QUERY_TYPE_BOTH">GST_QUERY_TYPE_BOTH</a> +#define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-MAKE-TYPE:CAPS" title="GST_QUERY_MAKE_TYPE()">GST_QUERY_MAKE_TYPE</a> (num, + flags) enum <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType">GstQueryType</a>; +#define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-TYPE:CAPS" title="GST_QUERY_TYPE()">GST_QUERY_TYPE</a> (query) #define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-TYPE-NAME:CAPS" title="GST_QUERY_TYPE_NAME()">GST_QUERY_TYPE_NAME</a> (query) -struct <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeDefinition" title="struct GstQueryTypeDefinition">GstQueryTypeDefinition</a>; -const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-name" title="gst_query_type_get_name ()">gst_query_type_get_name</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> query</code></em>); -<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-type-to-quark" title="gst_query_type_to_quark ()">gst_query_type_to_quark</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> query</code></em>); -<a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="returnvalue">GstQueryType</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-type-register" title="gst_query_type_register ()">gst_query_type_register</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *nick</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>); -<a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="returnvalue">GstQueryType</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-by-nick" title="gst_query_type_get_by_nick ()">gst_query_type_get_by_nick</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *nick</code></em>); -<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-types-contains" title="gst_query_types_contains ()">gst_query_types_contains</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> *types</code></em>, - <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>); -const <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeDefinition" title="struct GstQueryTypeDefinition"><span class="returnvalue">GstQueryTypeDefinition</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-details" title="gst_query_type_get_details ()">gst_query_type_get_details</a> - (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>); -<a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="returnvalue">GstIterator</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-type-iterate-definitions" title="gst_query_type_iterate_definitions ()">gst_query_type_iterate_definitions</a> (<em class="parameter"><code><span class="type">void</span></code></em>); +#define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-IS-UPSTREAM:CAPS" title="GST_QUERY_IS_UPSTREAM()">GST_QUERY_IS_UPSTREAM</a> (ev) +#define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-IS-DOWNSTREAM:CAPS" title="GST_QUERY_IS_DOWNSTREAM()">GST_QUERY_IS_DOWNSTREAM</a> (ev) +#define <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-IS-SERIALIZED:CAPS" title="GST_QUERY_IS_SERIALIZED()">GST_QUERY_IS_SERIALIZED</a> (ev) +<a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="returnvalue">GstQueryTypeFlags</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-flags" title="gst_query_type_get_flags ()">gst_query_type_get_flags</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>); +const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-name" title="gst_query_type_get_name ()">gst_query_type_get_name</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-type-to-quark" title="gst_query_type_to_quark ()">gst_query_type_to_quark</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-ref" title="gst_query_ref ()">gst_query_ref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *q</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-unref" title="gst_query_unref ()">gst_query_unref</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *q</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-copy" title="gst_query_copy ()">gst_query_copy</a> (<em class="parameter"><code>const <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *q</code></em>); #define <a class="link" href="gstreamer-GstQuery.html#gst-query-make-writable" title="gst_query_make_writable()">gst_query_make_writable</a> (q) #define <a class="link" href="gstreamer-GstQuery.html#gst-query-is-writable" title="gst_query_is_writable()">gst_query_is_writable</a> (q) -#define <a class="link" href="gstreamer-GstQuery.html#gst-query-replace" title="gst_query_replace()">gst_query_replace</a> (old_query, - new_query) +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-replace" title="gst_query_replace ()">gst_query_replace</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> **old_query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *new_query</code></em>); <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-writable-structure" title="gst_query_writable_structure ()">gst_query_writable_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-custom" title="gst_query_new_custom ()">gst_query_new_custom</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>); const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-get-structure" title="gst_query_get_structure ()">gst_query_get_structure</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-convert" title="gst_query_new_convert ()">gst_query_new_convert</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> value</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-convert" title="gst_query_set_convert ()">gst_query_set_convert</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> src_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> src_value</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> dest_value</code></em>); + <em class="parameter"><code><span class="type">gint64</span> dest_value</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-convert" title="gst_query_parse_convert ()">gst_query_parse_convert</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *src_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *src_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *src_value</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *dest_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *dest_value</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-position" title="gst_query_new_position ()">gst_query_new_position</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-position" title="gst_query_set_position ()">gst_query_set_position</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> cur</code></em>); + <em class="parameter"><code><span class="type">gint64</span> cur</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-position" title="gst_query_parse_position ()">gst_query_parse_position</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *cur</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *cur</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-duration" title="gst_query_new_duration ()">gst_query_new_duration</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-duration" title="gst_query_set_duration ()">gst_query_set_duration</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> duration</code></em>); + <em class="parameter"><code><span class="type">gint64</span> duration</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-duration" title="gst_query_parse_duration ()">gst_query_parse_duration</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *duration</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *duration</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-latency" title="gst_query_new_latency ()">gst_query_new_latency</a> (<em class="parameter"><code><span class="type">void</span></code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-latency" title="gst_query_parse_latency ()">gst_query_parse_latency</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>, @@ -106,13 +106,13 @@ const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="str <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-seeking" title="gst_query_set_seeking ()">gst_query_set_seeking</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> seekable</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> segment_start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> segment_end</code></em>); + <em class="parameter"><code><span class="type">gint64</span> segment_start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> segment_end</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-seeking" title="gst_query_parse_seeking ()">gst_query_parse_seeking</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *seekable</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *segment_start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *segment_end</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *segment_start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *segment_end</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-formats" title="gst_query_new_formats ()">gst_query_new_formats</a> (<em class="parameter"><code><span class="type">void</span></code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-formats" title="gst_query_set_formats ()">gst_query_set_formats</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_formats</code></em>, @@ -129,13 +129,30 @@ const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="str <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-segment" title="gst_query_set_segment ()">gst_query_set_segment</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> start_value</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> stop_value</code></em>); + <em class="parameter"><code><span class="type">gint64</span> start_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> stop_value</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-segment" title="gst_query_parse_segment ()">gst_query_parse_segment</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *start_value</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *stop_value</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *start_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *stop_value</code></em>); +<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-caps" title="gst_query_new_caps ()">gst_query_new_caps</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-caps" title="gst_query_parse_caps ()">gst_query_parse_caps</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **filter</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-caps-result" title="gst_query_set_caps_result ()">gst_query_set_caps_result</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-caps-result" title="gst_query_parse_caps_result ()">gst_query_parse_caps_result</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-intersect-caps-result" title="gst_query_intersect_caps_result ()">gst_query_intersect_caps_result</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCapsIntersectMode" title="enum GstCapsIntersectMode"><span class="type">GstCapsIntersectMode</span></a> mode</code></em>); +<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-accept-caps" title="gst_query_new_accept_caps ()">gst_query_new_accept_caps</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-accept-caps" title="gst_query_parse_accept_caps ()">gst_query_parse_accept_caps</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-accept-caps-result" title="gst_query_set_accept_caps_result ()">gst_query_set_accept_caps_result</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> result</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-accept-caps-result" title="gst_query_parse_accept_caps_result ()">gst_query_parse_accept_caps_result</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *result</code></em>); enum <a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode">GstBufferingMode</a>; <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-buffering" title="gst_query_new_buffering ()">gst_query_new_buffering</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-buffering-percent" title="gst_query_set_buffering_percent ()">gst_query_set_buffering_percent</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, @@ -148,30 +165,30 @@ enum <a class="link" href="gstreamer-GstQuery.html#GstBufferingMo <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> mode</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_in</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_out</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> buffering_left</code></em>); + <em class="parameter"><code><span class="type">gint64</span> buffering_left</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-buffering-stats" title="gst_query_parse_buffering_stats ()">gst_query_parse_buffering_stats</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> *mode</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_in</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_out</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *buffering_left</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *buffering_left</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-buffering-range" title="gst_query_set_buffering_range ()">gst_query_set_buffering_range</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> stop</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> estimated_total</code></em>); + <em class="parameter"><code><span class="type">gint64</span> start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> stop</code></em>, + <em class="parameter"><code><span class="type">gint64</span> estimated_total</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-buffering-range" title="gst_query_parse_buffering_range ()">gst_query_parse_buffering_range</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *stop</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *estimated_total</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *estimated_total</code></em>); <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-buffering-range" title="gst_query_add_buffering_range ()">gst_query_add_buffering_range</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> stop</code></em>); + <em class="parameter"><code><span class="type">gint64</span> start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> stop</code></em>); <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-buffering-ranges" title="gst_query_get_n_buffering_ranges ()">gst_query_get_n_buffering_ranges</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-buffering-range" title="gst_query_parse_nth_buffering_range ()">gst_query_parse_nth_buffering_range</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *stop</code></em>); + <em class="parameter"><code><span class="type">gint64</span> *start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>); <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-uri" title="gst_query_new_uri ()">gst_query_new_uri</a> (<em class="parameter"><code><span class="type">void</span></code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-uri" title="gst_query_parse_uri ()">gst_query_parse_uri</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **uri</code></em>); @@ -182,55 +199,79 @@ enum <a class="link" href="gstreamer-GstQuery.html#GstBufferingMo <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-allocation" title="gst_query_parse_allocation ()">gst_query_parse_allocation</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *need_pool</code></em>); -<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-allocation-params" title="gst_query_parse_allocation_params ()">gst_query_parse_allocation_params</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-pool" title="gst_query_add_allocation_pool ()">gst_query_add_allocation_pool</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> min_buffers</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-allocation-pools" title="gst_query_get_n_allocation_pools ()">gst_query_get_n_allocation_pools</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-pool" title="gst_query_parse_nth_allocation_pool ()">gst_query_parse_nth_allocation_pool</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> **pool</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *min_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *max_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *prefix</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *alignment</code></em>, - <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> **pool</code></em>); -const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-memory" title="gst_query_parse_nth_allocation_memory ()">gst_query_parse_nth_allocation_memory</a> - (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>); -const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta" title="gst_query_parse_nth_allocation_meta ()">gst_query_parse_nth_allocation_meta</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>); -<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-allocation-params" title="gst_query_set_allocation_params ()">gst_query_set_allocation_params</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *max_buffers</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-nth-allocation-pool" title="gst_query_set_nth_allocation_pool ()">gst_query_set_nth_allocation_pool</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> min_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> prefix</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> alignment</code></em>, - <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>); -<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-memory" title="gst_query_add_allocation_memory ()">gst_query_add_allocation_memory</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *alloc</code></em>); + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-param" title="gst_query_add_allocation_param ()">gst_query_add_allocation_param</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>, + <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-allocation-params" title="gst_query_get_n_allocation_params ()">gst_query_get_n_allocation_params</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-param" title="gst_query_parse_nth_allocation_param ()">gst_query_parse_nth_allocation_param</a> + (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-nth-allocation-param" title="gst_query_set_nth_allocation_param ()">gst_query_set_nth_allocation_param</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>, + <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-allocation-meta" title="gst_query_add_allocation_meta ()">gst_query_add_allocation_meta</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *api</code></em>); -<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-has-allocation-meta" title="gst_query_has_allocation_meta ()">gst_query_has_allocation_meta</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *api</code></em>); -<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-allocation-memories" title="gst_query_get_n_allocation_memories ()">gst_query_get_n_allocation_memories</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); + <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>); <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-allocation-metas" title="gst_query_get_n_allocation_metas ()">gst_query_get_n_allocation_metas</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); +<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-allocation-meta" title="gst_query_parse_nth_allocation_meta ()">gst_query_parse_nth_allocation_meta</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-remove-nth-allocation-meta" title="gst_query_remove_nth_allocation_meta ()">gst_query_remove_nth_allocation_meta</a> + (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-has-allocation-meta" title="gst_query_has_allocation_meta ()">gst_query_has_allocation_meta</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>); +enum <a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags">GstSchedulingFlags</a>; <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-scheduling" title="gst_query_new_scheduling ()">gst_query_new_scheduling</a> (<em class="parameter"><code><span class="type">void</span></code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-scheduling" title="gst_query_parse_scheduling ()">gst_query_parse_scheduling</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *pull_mode</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *random_access</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *sequential</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> *flags</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *maxsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *align</code></em>); <span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-scheduling" title="gst_query_set_scheduling ()">gst_query_set_scheduling</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> pull_mode</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> random_access</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> sequential</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> flags</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> minsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> maxsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> align</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-add-scheduling-mode" title="gst_query_add_scheduling_mode ()">gst_query_add_scheduling_mode</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-get-n-scheduling-modes" title="gst_query_get_n_scheduling_modes ()">gst_query_get_n_scheduling_modes</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>); +<a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="returnvalue">GstPadMode</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-nth-scheduling-mode" title="gst_query_parse_nth_scheduling_mode ()">gst_query_parse_nth_scheduling_mode</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gstreamer-GstQuery.html#gst-query-has-scheduling-mode" title="gst_query_has_scheduling_mode ()">gst_query_has_scheduling_mode</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>); +<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-drain" title="gst_query_new_drain ()">gst_query_new_drain</a> (<em class="parameter"><code><span class="type">void</span></code></em>); +<a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * <a class="link" href="gstreamer-GstQuery.html#gst-query-new-toc" title="gst_query_new_toc ()">gst_query_new_toc</a> (<em class="parameter"><code><span class="type">void</span></code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-parse-toc" title="gst_query_parse_toc ()">gst_query_parse_toc</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> **toc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **extend_uid</code></em>); +<span class="returnvalue">void</span> <a class="link" href="gstreamer-GstQuery.html#gst-query-set-toc" title="gst_query_set_toc ()">gst_query_set_toc</a> (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>, + <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extend_uid</code></em>); </pre> </div> <div class="refsect1"> <a name="gstreamer-GstQuery.description"></a><h2>Description</h2> <p> -GstQuery functions are used to register new query types to the gstreamer -core and use them. Queries can be performed on pads (<a class="link" href="GstPad.html#gst-pad-query" title="gst_pad_query ()"><code class="function">gst_pad_query()</code></a>) and elements (<a class="link" href="GstElement.html#gst-element-query" title="gst_element_query ()"><code class="function">gst_element_query()</code></a>). Please note that some queries might need a running pipeline to work. @@ -246,27 +287,47 @@ The following example shows how to query the duration of a pipeline: <p> </p> <div class="example"> -<a name="id639451"></a><p class="title"><b>Example 13. Query duration on a pipeline</b></p> -<div class="example-contents"><pre class="programlisting"> - GstQuery *query; - gboolean res; - query = gst_query_new_duration (GST_FORMAT_TIME); - res = gst_element_query (pipeline, query); - if (res) { - gint64 duration; - gst_query_parse_duration (query, NULL, &duration); - g_print ("duration = %"GST_TIME_FORMAT, GST_TIME_ARGS (duration)); - } - else { - g_print ("duration query failed..."); - } - gst_query_unref (query); - </pre></div> +<a name="idp37816176"></a><p class="title"><b>Example 12. Query duration on a pipeline</b></p> +<div class="example-contents"> + <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> + <tbody> + <tr> + <td class="listing_lines" align="right"><pre>1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13</pre></td> + <td class="listing_code"><pre class="programlisting">GstQuery <span class="gtkdoc opt">*</span>query<span class="gtkdoc opt">;</span> +gboolean res<span class="gtkdoc opt">;</span> +query <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-new-duration">gst_query_new_duration</a></span> <span class="gtkdoc opt">(</span>GST_FORMAT_TIME<span class="gtkdoc opt">);</span> +res <span class="gtkdoc opt">=</span> <span class="function"><a href="../gstreamer-1.0/GstElement.html#gst-element-query">gst_element_query</a></span> <span class="gtkdoc opt">(</span>pipeline<span class="gtkdoc opt">,</span> query<span class="gtkdoc opt">);</span> +<span class="keyword">if</span> <span class="gtkdoc opt">(</span>res<span class="gtkdoc opt">) {</span> + gint64 duration<span class="gtkdoc opt">;</span> + <span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-parse-duration">gst_query_parse_duration</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">, &</span>duration<span class="gtkdoc opt">);</span> + <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">"duration = %"</span>GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="../gstreamer-1.0/gstreamer-GstInfo.html#GST-TIME-ARGS:CAPS">GST_TIME_ARGS</a></span> <span class="gtkdoc opt">(</span>duration<span class="gtkdoc opt">));</span> +<span class="gtkdoc opt">}</span> +<span class="keyword">else</span> <span class="gtkdoc opt">{</span> + <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">"duration query failed..."</span><span class="gtkdoc opt">);</span> +<span class="gtkdoc opt">}</span> +<span class="function"><a href="../gstreamer-1.0/gstreamer-GstQuery.html#gst-query-unref">gst_query_unref</a></span> <span class="gtkdoc opt">(</span>query<span class="gtkdoc opt">);</span></pre></td> + </tr> + </tbody> + </table> +</div> + </div> <p><br class="example-break"> </p> <p> -Last reviewed on 2006-02-14 (0.10.4) +Last reviewed on 2012-03-29 (0.11.3) </p> </div> <div class="refsect1"> @@ -299,23 +360,93 @@ The <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQue </div> <hr> <div class="refsect2"> +<a name="GstQueryTypeFlags"></a><h3>enum GstQueryTypeFlags</h3> +<pre class="programlisting">typedef enum { + GST_QUERY_TYPE_UPSTREAM = 1 << 0, + GST_QUERY_TYPE_DOWNSTREAM = 1 << 1, + GST_QUERY_TYPE_SERIALIZED = 1 << 2 +} GstQueryTypeFlags; +</pre> +<p> +<a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a> indicate the aspects of the different <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> +values. You can get the type flags of a <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> with the +<a class="link" href="gstreamer-GstQuery.html#gst-query-type-get-flags" title="gst_query_type_get_flags ()"><code class="function">gst_query_type_get_flags()</code></a> function. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><a name="GST-QUERY-TYPE-UPSTREAM:CAPS"></a><span class="term"><code class="literal">GST_QUERY_TYPE_UPSTREAM</code></span></p></td> +<td>Set if the query can travel upstream. +</td> +</tr> +<tr> +<td><p><a name="GST-QUERY-TYPE-DOWNSTREAM:CAPS"></a><span class="term"><code class="literal">GST_QUERY_TYPE_DOWNSTREAM</code></span></p></td> +<td>Set if the query can travel downstream. +</td> +</tr> +<tr> +<td><p><a name="GST-QUERY-TYPE-SERIALIZED:CAPS"></a><span class="term"><code class="literal">GST_QUERY_TYPE_SERIALIZED</code></span></p></td> +<td>Set if the query should be serialized with data + flow. +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="GST-QUERY-TYPE-BOTH:CAPS"></a><h3>GST_QUERY_TYPE_BOTH</h3> +<pre class="programlisting">#define GST_QUERY_TYPE_BOTH</pre> +<p> +The same thing as <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-TYPE-UPSTREAM:CAPS"><span class="type">GST_QUERY_TYPE_UPSTREAM</span></a> | <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-TYPE-DOWNSTREAM:CAPS"><span class="type">GST_QUERY_TYPE_DOWNSTREAM</span></a>. +</p> +</div> +<hr> +<div class="refsect2"> +<a name="GST-QUERY-MAKE-TYPE:CAPS"></a><h3>GST_QUERY_MAKE_TYPE()</h3> +<pre class="programlisting">#define GST_QUERY_MAKE_TYPE(num,flags)</pre> +<p> +when making custom query types, use this macro with the num and +the given flags +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td> +<td>the query number to create</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> +<td>the query flags</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> <a name="GstQueryType"></a><h3>enum GstQueryType</h3> <pre class="programlisting">typedef enum { - GST_QUERY_NONE = 0, - GST_QUERY_POSITION, - GST_QUERY_DURATION, - GST_QUERY_LATENCY, - GST_QUERY_JITTER, /* not in draft-query, necessary? */ - GST_QUERY_RATE, - GST_QUERY_SEEKING, - GST_QUERY_SEGMENT, - GST_QUERY_CONVERT, - GST_QUERY_FORMATS, - GST_QUERY_BUFFERING, - GST_QUERY_CUSTOM, - GST_QUERY_URI, - GST_QUERY_ALLOCATION, - GST_QUERY_SCHEDULING + GST_QUERY_UNKNOWN = GST_QUERY_MAKE_TYPE (0, 0), + GST_QUERY_POSITION = GST_QUERY_MAKE_TYPE (10, FLAG(BOTH)), + GST_QUERY_DURATION = GST_QUERY_MAKE_TYPE (20, FLAG(BOTH)), + GST_QUERY_LATENCY = GST_QUERY_MAKE_TYPE (30, FLAG(BOTH)), + GST_QUERY_JITTER = GST_QUERY_MAKE_TYPE (40, FLAG(BOTH)), + GST_QUERY_RATE = GST_QUERY_MAKE_TYPE (50, FLAG(BOTH)), + GST_QUERY_SEEKING = GST_QUERY_MAKE_TYPE (60, FLAG(BOTH)), + GST_QUERY_SEGMENT = GST_QUERY_MAKE_TYPE (70, FLAG(BOTH)), + GST_QUERY_CONVERT = GST_QUERY_MAKE_TYPE (80, FLAG(BOTH)), + GST_QUERY_FORMATS = GST_QUERY_MAKE_TYPE (90, FLAG(BOTH)), + GST_QUERY_BUFFERING = GST_QUERY_MAKE_TYPE (110, FLAG(BOTH)), + GST_QUERY_CUSTOM = GST_QUERY_MAKE_TYPE (120, FLAG(BOTH)), + GST_QUERY_URI = GST_QUERY_MAKE_TYPE (130, FLAG(BOTH)), + GST_QUERY_ALLOCATION = GST_QUERY_MAKE_TYPE (140, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_QUERY_SCHEDULING = GST_QUERY_MAKE_TYPE (150, FLAG(UPSTREAM)), + GST_QUERY_ACCEPT_CAPS = GST_QUERY_MAKE_TYPE (160, FLAG(BOTH)), + GST_QUERY_CAPS = GST_QUERY_MAKE_TYPE (170, FLAG(BOTH)), + GST_QUERY_DRAIN = GST_QUERY_MAKE_TYPE (180, FLAG(DOWNSTREAM) | FLAG(SERIALIZED)), + GST_QUERY_TOC = GST_QUERY_MAKE_TYPE (190, FLAG(BOTH)) } GstQueryType; </pre> <p> @@ -325,8 +456,8 @@ Standard predefined Query types <col align="left" valign="top"> <tbody> <tr> -<td><p><a name="GST-QUERY-NONE:CAPS"></a><span class="term"><code class="literal">GST_QUERY_NONE</code></span></p></td> -<td>invalid query type +<td><p><a name="GST-QUERY-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_QUERY_UNKNOWN</code></span></p></td> +<td>unknown query type </td> </tr> <tr> @@ -401,16 +532,37 @@ Standard predefined Query types <td>the scheduling properties </td> </tr> +<tr> +<td><p><a name="GST-QUERY-ACCEPT-CAPS"></a><span class="term"><code class="literal">GST_QUERY_ACCEPT_CAPS</code></span></p></td> +<td>the accept caps query +</td> +</tr> +<tr> +<td><p><a name="GST-QUERY-CAPS"></a><span class="term"><code class="literal">GST_QUERY_CAPS</code></span></p></td> +<td>the caps query +</td> +</tr> +<tr> +<td><p><a name="GST-QUERY-DRAIN:CAPS"></a><span class="term"><code class="literal">GST_QUERY_DRAIN</code></span></p></td> +<td>wait till all serialized data is consumed downstream +</td> +</tr> +<tr> +<td><p><a name="GST-QUERY-TOC:CAPS"></a><span class="term"><code class="literal">GST_QUERY_TOC</code></span></p></td> +<td>query the full table of contents (TOC) with the marker +for an entry which can be used to extend received TOC. Since 0.10.37. +</td> +</tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="GST-QUERY-TYPE-NAME:CAPS"></a><h3>GST_QUERY_TYPE_NAME()</h3> -<pre class="programlisting">#define GST_QUERY_TYPE_NAME(query) (gst_query_type_get_name(GST_QUERY_TYPE(query))) +<a name="GST-QUERY-TYPE:CAPS"></a><h3>GST_QUERY_TYPE()</h3> +<pre class="programlisting">#define GST_QUERY_TYPE(query) (((GstQuery*)(query))->type) </pre> <p> -Get a constant string representation of the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query. +Get the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -419,206 +571,138 @@ Get a constant string representation of the <a class="link" href="gstreamer-GstQ <td>the query to query</td> </tr></tbody> </table></div> -<p class="since">Since 0.10.4</p> </div> <hr> <div class="refsect2"> -<a name="GstQueryTypeDefinition"></a><h3>struct GstQueryTypeDefinition</h3> -<pre class="programlisting">struct GstQueryTypeDefinition { - GstQueryType value; - const gchar *nick; - const gchar *description; - GQuark quark; -}; +<a name="GST-QUERY-TYPE-NAME:CAPS"></a><h3>GST_QUERY_TYPE_NAME()</h3> +<pre class="programlisting">#define GST_QUERY_TYPE_NAME(query) (gst_query_type_get_name(GST_QUERY_TYPE(query))) </pre> <p> -A Query Type definition +Get a constant string representation of the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> <em class="structfield"><code><a name="GstQueryTypeDefinition.value"></a>value</code></em>;</span></p></td> -<td>the unique id of the Query type</td> -</tr> -<tr> -<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstQueryTypeDefinition.nick"></a>nick</code></em>;</span></p></td> -<td>a short nick</td> -</tr> -<tr> -<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstQueryTypeDefinition.description"></a>description</code></em>;</span></p></td> -<td>a longer description of the query type</td> -</tr> -<tr> -<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> <em class="structfield"><code><a name="GstQueryTypeDefinition.quark"></a>quark</code></em>;</span></p></td> -<td>the quark for the nick</td> -</tr> -</tbody> +<tbody><tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>the query to query</td> +</tr></tbody> </table></div> +<p class="since">Since 0.10.4</p> </div> <hr> <div class="refsect2"> -<a name="gst-query-type-get-name"></a><h3>gst_query_type_get_name ()</h3> -<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_query_type_get_name (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> query</code></em>);</pre> +<a name="GST-QUERY-IS-UPSTREAM:CAPS"></a><h3>GST_QUERY_IS_UPSTREAM()</h3> +<pre class="programlisting">#define GST_QUERY_IS_UPSTREAM(ev) !!(GST_QUERY_TYPE (ev) & GST_QUERY_TYPE_UPSTREAM) +</pre> <p> -Get a printable name for the given query type. Do not modify or free. +Check if an query can travel upstream. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> -<td>the query type</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a reference to the static name of the query.</td> -</tr> -</tbody> +<tbody><tr> +<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> +<td>the query to query</td> +</tr></tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-type-to-quark"></a><h3>gst_query_type_to_quark ()</h3> -<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> gst_query_type_to_quark (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> query</code></em>);</pre> +<a name="GST-QUERY-IS-DOWNSTREAM:CAPS"></a><h3>GST_QUERY_IS_DOWNSTREAM()</h3> +<pre class="programlisting">#define GST_QUERY_IS_DOWNSTREAM(ev) !!(GST_QUERY_TYPE (ev) & GST_QUERY_TYPE_DOWNSTREAM) +</pre> <p> -Get the unique quark for the given query type. +Check if an query can travel downstream. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> -<td>the query type</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the quark associated with the query type</td> -</tr> -</tbody> +<tbody><tr> +<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> +<td>the query to query</td> +</tr></tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-type-register"></a><h3>gst_query_type_register ()</h3> -<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="returnvalue">GstQueryType</span></a> gst_query_type_register (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *nick</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>);</pre> +<a name="GST-QUERY-IS-SERIALIZED:CAPS"></a><h3>GST_QUERY_IS_SERIALIZED()</h3> +<pre class="programlisting">#define GST_QUERY_IS_SERIALIZED(ev) !!(GST_QUERY_TYPE (ev) & GST_QUERY_TYPE_SERIALIZED) +</pre> <p> -Create a new GstQueryType based on the nick or return an -already registered query with that nick +Check if an query is serialized with the data stream. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>nick</code></em> :</span></p></td> -<td>The nick of the new query</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>description</code></em> :</span></p></td> -<td>The description of the new query</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A new GstQueryType or an already registered query -with the same nick.</td> -</tr> -</tbody> +<tbody><tr> +<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td> +<td>the query to query</td> +</tr></tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-type-get-by-nick"></a><h3>gst_query_type_get_by_nick ()</h3> -<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="returnvalue">GstQueryType</span></a> gst_query_type_get_by_nick (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *nick</code></em>);</pre> +<a name="gst-query-type-get-flags"></a><h3>gst_query_type_get_flags ()</h3> +<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="returnvalue">GstQueryTypeFlags</span></a> gst_query_type_get_flags (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre> <p> -Get the query type registered with <em class="parameter"><code>nick</code></em>. +Gets the <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a> associated with <em class="parameter"><code>type</code></em>. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> -<td><p><span class="term"><em class="parameter"><code>nick</code></em> :</span></p></td> -<td>The nick of the query</td> +<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> +<td>a <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> +</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>The query registered with <em class="parameter"><code>nick</code></em> or <a class="link" href="gstreamer-GstQuery.html#GST-QUERY-NONE:CAPS"><span class="type">GST_QUERY_NONE</span></a> -if the query was not registered.</td> +<td>a <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a>.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-types-contains"></a><h3>gst_query_types_contains ()</h3> -<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_types_contains (<em class="parameter"><code>const <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> *types</code></em>, - <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre> +<a name="gst-query-type-get-name"></a><h3>gst_query_type_get_name ()</h3> +<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_query_type_get_name (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre> <p> -See if the given <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> is inside the <em class="parameter"><code>types</code></em> query types array. +Get a printable name for the given query type. Do not modify or free. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> -<td><p><span class="term"><em class="parameter"><code>types</code></em> :</span></p></td> -<td>The query array to search</td> -</tr> -<tr> <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> -<td>the <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> to find</td> +<td>the query type</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>TRUE if the type is found inside the array</td> +<td>a reference to the static name of the query.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-type-get-details"></a><h3>gst_query_type_get_details ()</h3> -<pre class="programlisting">const <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeDefinition" title="struct GstQueryTypeDefinition"><span class="returnvalue">GstQueryTypeDefinition</span></a> * gst_query_type_get_details - (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre> +<a name="gst-query-type-to-quark"></a><h3>gst_query_type_to_quark ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a> gst_query_type_to_quark (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre> <p> -Get details about the given <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a>. +Get the unique quark for the given query type. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> -<td>a <a class="link" href="gstreamer-GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> -</td> +<td>the query type</td> </tr> <tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>The <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeDefinition" title="struct GstQueryTypeDefinition"><span class="type">GstQueryTypeDefinition</span></a> for <em class="parameter"><code>type</code></em> or NULL on failure.</td> +<td>the quark associated with the query type</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-type-iterate-definitions"></a><h3>gst_query_type_iterate_definitions ()</h3> -<pre class="programlisting"><a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="returnvalue">GstIterator</span></a> * gst_query_type_iterate_definitions (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> -<p> -Get a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of all the registered query types. The definitions -iterated over are read only. -</p> -<p> -Free-function: gst_iterator_free -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a <a class="link" href="gstreamer-GstIterator.html#GstIterator" title="struct GstIterator"><span class="type">GstIterator</span></a> of <a class="link" href="gstreamer-GstQuery.html#GstQueryTypeDefinition" title="struct GstQueryTypeDefinition"><span class="type">GstQueryTypeDefinition</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> <a name="gst-query-ref"></a><h3>gst_query_ref ()</h3> <pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_ref (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *q</code></em>);</pre> <p> @@ -722,8 +806,9 @@ Tests if you can safely write data into a query's structure. </div> <hr> <div class="refsect2"> -<a name="gst-query-replace"></a><h3>gst_query_replace()</h3> -<pre class="programlisting">#define gst_query_replace(old_query,new_query)</pre> +<a name="gst-query-replace"></a><h3>gst_query_replace ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_replace (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> **old_query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *new_query</code></em>);</pre> <p> Modifies a pointer to a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> to point to a different <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. The modification is done atomically (so this is useful for ensuring thread safety @@ -748,6 +833,11 @@ to be replaced. <span class="annotation">[<acronym title="Parameter for input an replace the query pointed to by <em class="parameter"><code>old_query</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> </td> </tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>TRUE if <em class="parameter"><code>new_query</code></em> was different from <em class="parameter"><code>old_query</code></em> +</td> +</tr> </tbody> </table></div> </div> @@ -756,7 +846,8 @@ replace the query pointed to by <em class="parameter"><code>old_query</code></em <a name="gst-query-writable-structure"></a><h3>gst_query_writable_structure ()</h3> <pre class="programlisting"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_query_writable_structure (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> <p> -Get the structure of a query. +Get the structure of a query. This method should be called with a writable +<em class="parameter"><code>query</code></em> so that the returned structure is guranteed to be writable. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -836,7 +927,7 @@ is unreffed. <span class="annotation">[<acronym title="Don't free data after the <div class="refsect2"> <a name="gst-query-new-convert"></a><h3>gst_query_new_convert ()</h3> <pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_new_convert (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> value</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>);</pre> <p> Constructs a new convert query object. Use <a class="link" href="gstreamer-GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a> @@ -875,9 +966,9 @@ Free-function: gst_query_unref <a name="gst-query-set-convert"></a><h3>gst_query_set_convert ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_convert (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> src_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> src_value</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> dest_value</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> dest_value</code></em>);</pre> <p> Answer a convert query by setting the requested values. </p> @@ -915,9 +1006,9 @@ Answer a convert query by setting the requested values. <a name="gst-query-parse-convert"></a><h3>gst_query_parse_convert ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_convert (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *src_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *src_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *src_value</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *dest_format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *dest_value</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);</pre> <p> Parse a convert query answer. Any of <em class="parameter"><code>src_format</code></em>, <em class="parameter"><code>src_value</code></em>, <em class="parameter"><code>dest_format</code></em>, and <em class="parameter"><code>dest_value</code></em> may be NULL, in which case that value is omitted. @@ -988,7 +1079,7 @@ Free-function: gst_query_unref <a name="gst-query-set-position"></a><h3>gst_query_set_position ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_position (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> cur</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> cur</code></em>);</pre> <p> Answer a position query by setting the requested value in the given format. </p> @@ -1016,7 +1107,7 @@ Answer a position query by setting the requested value in the given format. <a name="gst-query-parse-position"></a><h3>gst_query_parse_position ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_position (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *cur</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *cur</code></em>);</pre> <p> Parse a position query, writing the format into <em class="parameter"><code>format</code></em>, and the position into <em class="parameter"><code>cur</code></em>, if the respective parameters are non-NULL. @@ -1075,7 +1166,7 @@ Free-function: gst_query_unref <a name="gst-query-set-duration"></a><h3>gst_query_set_duration ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_duration (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> duration</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> duration</code></em>);</pre> <p> Answer a duration query by setting the requested value in the given format. </p> @@ -1103,7 +1194,7 @@ Answer a duration query by setting the requested value in the given format. <a name="gst-query-parse-duration"></a><h3>gst_query_parse_duration ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_duration (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *duration</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *duration</code></em>);</pre> <p> Parse a duration query answer. Write the format of the duration into <em class="parameter"><code>format</code></em>, and the value into <em class="parameter"><code>duration</code></em>, if the respective variables are non-NULL. @@ -1214,11 +1305,11 @@ Answer a latency query by setting the requested values in the given format. </tr> <tr> <td><p><span class="term"><em class="parameter"><code>min_latency</code></em> :</span></p></td> -<td>the minimal latency of the live element</td> +<td>the minimal latency of the upstream elements</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>max_latency</code></em> :</span></p></td> -<td>the maximal latency of the live element</td> +<td>the maximal latency of the upstream elements</td> </tr> </tbody> </table></div> @@ -1256,8 +1347,8 @@ Free-function: gst_query_unref <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_seeking (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> seekable</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> segment_start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> segment_end</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> segment_start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> segment_end</code></em>);</pre> <p> Set the seeking query result fields in <em class="parameter"><code>query</code></em>. </p> @@ -1294,8 +1385,8 @@ Set the seeking query result fields in <em class="parameter"><code>query</code>< <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_seeking (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *seekable</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *segment_start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *segment_end</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *segment_start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *segment_end</code></em>);</pre> <p> Parse a seeking query, writing the format into <em class="parameter"><code>format</code></em>, and other results into the passed parameters, if the respective parameters @@ -1433,7 +1524,7 @@ Parse the number of formats in the formats <em class="parameter"><code>query</co </tr> <tr> <td><p><span class="term"><em class="parameter"><code>n_formats</code></em> :</span></p></td> -<td>the number of formats in this query. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +<td>the number of formats in this query. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> </td> </tr> </tbody> @@ -1466,7 +1557,7 @@ set to GST_FORMAT_UNDEFINED. </tr> <tr> <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td> -<td>a pointer to store the nth format. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +<td>a pointer to store the nth format. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> </td> </tr> </tbody> @@ -1505,8 +1596,8 @@ Free-function: gst_query_unref <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_segment (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> start_value</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> stop_value</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> start_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> stop_value</code></em>);</pre> <p> Answer a segment query by setting the requested values. The normal playback segment of a pipeline is 0 to duration at the default rate of @@ -1554,8 +1645,8 @@ negative rates, playback will actually happen from <em class="parameter"><code>s <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_segment (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *start_value</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *stop_value</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *start_value</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *stop_value</code></em>);</pre> <p> Parse a segment query answer. Any of <em class="parameter"><code>rate</code></em>, <em class="parameter"><code>format</code></em>, <em class="parameter"><code>start_value</code></em>, and <em class="parameter"><code>stop_value</code></em> may be NULL, which will cause this value to be omitted. @@ -1597,6 +1688,186 @@ or NULL. <span class="annotation">[<acronym title="Parameter for returning resul </div> <hr> <div class="refsect2"> +<a name="gst-query-new-caps"></a><h3>gst_query_new_caps ()</h3> +<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_new_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>);</pre> +<p> +Constructs a new query object for querying the caps. +</p> +<p> +The CAPS query should return the* allowable caps for a pad in the context +of the element's state, its link to other elements, and the devices or files +it has opened. These caps must be a subset of the pad template caps. In the +NULL state with no links, the CAPS query should ideally return the same caps +as the pad template. In rare circumstances, an object property can affect +the caps returned by the CAPS query, but this is discouraged. +</p> +<p> +For most filters, the caps returned by CAPS query is directly affected by the +allowed caps on other pads. For demuxers and decoders, the caps returned by +the srcpad's getcaps function is directly related to the stream data. Again, +the CAPS query should return the most specific caps it reasonably can, since this +helps with autoplugging. +</p> +<p> +Free-function: gst_query_unref +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td> +<td>a filter</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-caps"></a><h3>gst_query_parse_caps ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **filter</code></em>);</pre> +<p> +Get the filter from the caps <em class="parameter"><code>query</code></em>. The caps remains valid as long as +<em class="parameter"><code>query</code></em> remains valid. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>The query to parse</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td> +<td>A pointer to the caps filter. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-set-caps-result"></a><h3>gst_query_set_caps_result ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_caps_result (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre> +<p> +Set the <em class="parameter"><code>caps</code></em> result in <em class="parameter"><code>query</code></em>. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>The query to use</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> +<td>A pointer to the caps. <span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-caps-result"></a><h3>gst_query_parse_caps_result ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_caps_result (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>);</pre> +<p> +Get the caps result from <em class="parameter"><code>query</code></em>. The caps remains valid as long as +<em class="parameter"><code>query</code></em> remains valid. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>The query to parse</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> +<td>A pointer to the caps. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-intersect-caps-result"></a><h3>gst_query_intersect_caps_result ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_intersect_caps_result (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *filter</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCapsIntersectMode" title="enum GstCapsIntersectMode"><span class="type">GstCapsIntersectMode</span></a> mode</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-new-accept-caps"></a><h3>gst_query_new_accept_caps ()</h3> +<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_new_accept_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre> +<p> +Constructs a new query object for querying if <em class="parameter"><code>caps</code></em> are accepted. +</p> +<p> +Free-function: gst_query_unref +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> +<td>a fixed <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-accept-caps"></a><h3>gst_query_parse_accept_caps ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_accept_caps (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>);</pre> +<p> +Get the caps from <em class="parameter"><code>query</code></em>. The caps remains valid as long as <em class="parameter"><code>query</code></em> remains +valid. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>The query to parse</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> +<td>A pointer to the caps. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-set-accept-caps-result"></a><h3>gst_query_set_accept_caps_result ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_accept_caps_result (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> result</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-accept-caps-result"></a><h3>gst_query_parse_accept_caps_result ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_accept_caps_result (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *result</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> <a name="GstBufferingMode"></a><h3>enum GstBufferingMode</h3> <pre class="programlisting">typedef enum { GST_BUFFERING_STREAM, @@ -1728,7 +1999,7 @@ The <em class="parameter"><code>busy</code></em> indicator is <a href="http://li <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> mode</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_in</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_out</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> buffering_left</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> buffering_left</code></em>);</pre> <p> Configures the buffering stats values in <em class="parameter"><code>query</code></em>. </p> @@ -1766,7 +2037,7 @@ Configures the buffering stats values in <em class="parameter"><code>query</code <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> *mode</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_in</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_out</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *buffering_left</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *buffering_left</code></em>);</pre> <p> Extracts the buffering stats values from <em class="parameter"><code>query</code></em>. </p> @@ -1806,9 +2077,9 @@ Extracts the buffering stats values from <em class="parameter"><code>query</code <a name="gst-query-set-buffering-range"></a><h3>gst_query_set_buffering_range ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_buffering_range (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> stop</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> estimated_total</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> stop</code></em>, + <em class="parameter"><code><span class="type">gint64</span> estimated_total</code></em>);</pre> <p> Set the available query result fields in <em class="parameter"><code>query</code></em>. </p> @@ -1845,9 +2116,9 @@ Set the available query result fields in <em class="parameter"><code>query</code <a name="gst-query-parse-buffering-range"></a><h3>gst_query_parse_buffering_range ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_buffering_range (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *stop</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *estimated_total</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *estimated_total</code></em>);</pre> <p> Parse an available query, writing the format into <em class="parameter"><code>format</code></em>, and other results into the passed parameters, if the respective parameters @@ -1891,8 +2162,8 @@ time, or NULL. <span class="annotation">[<acronym title="Parameter for returning <div class="refsect2"> <a name="gst-query-add-buffering-range"></a><h3>gst_query_add_buffering_range ()</h3> <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_add_buffering_range (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> stop</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> stop</code></em>);</pre> <p> Set the buffering-ranges array field in <em class="parameter"><code>query</code></em>. The current last start position of the array should be inferior to <em class="parameter"><code>start</code></em>. @@ -1950,8 +2221,8 @@ buffered-ranges array of the query's structure. <a name="gst-query-parse-nth-buffering-range"></a><h3>gst_query_parse_nth_buffering_range ()</h3> <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_parse_nth_buffering_range (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *start</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *stop</code></em>);</pre> + <em class="parameter"><code><span class="type">gint64</span> *start</code></em>, + <em class="parameter"><code><span class="type">gint64</span> *stop</code></em>);</pre> <p> Parse an available query and get the start and stop values stored at the <em class="parameter"><code>index</code></em> of the buffered ranges array. @@ -2095,19 +2366,42 @@ Free-function: gst_query_unref <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_allocation (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, <em class="parameter"><code><a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a> **caps</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *need_pool</code></em>);</pre> +<p> +Parse an allocation query, writing the requested caps in <em class="parameter"><code>caps</code></em> and +whether a pool is needed in <em class="parameter"><code>need_pool</code></em>, if the respective parameters +are non-NULL. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> +<td>The <a class="link" href="gstreamer-GstCaps.html#GstCaps" title="struct GstCaps"><span class="type">GstCaps</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>need_pool</code></em> :</span></p></td> +<td>Whether a <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> is needed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-parse-allocation-params"></a><h3>gst_query_parse_allocation_params ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_allocation_params (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *min_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *max_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *prefix</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *alignment</code></em>, - <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> **pool</code></em>);</pre> +<a name="gst-query-add-allocation-pool"></a><h3>gst_query_add_allocation_pool ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_allocation_pool (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> min_buffers</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>);</pre> <p> -Get the allocation parameters in <em class="parameter"><code>query</code></em>. +Set the pool parameters in <em class="parameter"><code>query</code></em>. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -2117,6 +2411,11 @@ Get the allocation parameters in <em class="parameter"><code>query</code></em>. <td>A valid <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> of type GST_QUERY_ALLOCATION.</td> </tr> <tr> +<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td> +<td>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> +</td> +</tr> +<tr> <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td> <td>the size</td> </tr> @@ -2128,31 +2427,16 @@ Get the allocation parameters in <em class="parameter"><code>query</code></em>. <td><p><span class="term"><em class="parameter"><code>max_buffers</code></em> :</span></p></td> <td>the max buffers</td> </tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td> -<td>the prefix</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>alignment</code></em> :</span></p></td> -<td>the alignment</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td> -<td>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> -</td> -</tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-parse-nth-allocation-memory"></a><h3>gst_query_parse_nth_allocation_memory ()</h3> -<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_query_parse_nth_allocation_memory - (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre> +<a name="gst-query-get-n-allocation-pools"></a><h3>gst_query_get_n_allocation_pools ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_allocation_pools (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> <p> -Parse an available query and get the alloctor -at <em class="parameter"><code>index</code></em> of the allocator array. +Retrieve the number of values currently stored in the +pool array of the query's structure. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -2163,65 +2447,87 @@ at <em class="parameter"><code>index</code></em> of the allocator array. </td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> -<td>position in the allocator array to read</td> -</tr> -<tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the name of the allocator at <em class="parameter"><code>index</code></em>.</td> +<td>the pool array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-parse-nth-allocation-meta"></a><h3>gst_query_parse_nth_allocation_meta ()</h3> -<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_query_parse_nth_allocation_meta (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre> +<a name="gst-query-parse-nth-allocation-pool"></a><h3>gst_query_parse_nth_allocation_pool ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_nth_allocation_pool (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> **pool</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *size</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *min_buffers</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *max_buffers</code></em>);</pre> <p> -Parse an available query and get the metadata API -at <em class="parameter"><code>index</code></em> of the metadata API array. +Get the pool parameters in <em class="parameter"><code>query</code></em>. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> <td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> -<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> -</td> +<td>A valid <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> of type GST_QUERY_ALLOCATION.</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> -<td>position in the metadata API array to read</td> +<td>index to parse</td> </tr> <tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> of the metadata API at <em class="parameter"><code>index</code></em>.</td> +<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td> +<td>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td> +<td>the size. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>min_buffers</code></em> :</span></p></td> +<td>the min buffers. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>max_buffers</code></em> :</span></p></td> +<td>the max buffers. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-set-allocation-params"></a><h3>gst_query_set_allocation_params ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_allocation_params (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, +<a name="gst-query-set-nth-allocation-pool"></a><h3>gst_query_set_nth_allocation_pool ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_nth_allocation_pool (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> min_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> prefix</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> alignment</code></em>, - <em class="parameter"><code><a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> *pool</code></em>);</pre> + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> max_buffers</code></em>);</pre> <p> -Set the allocation parameters in <em class="parameter"><code>query</code></em>. +Set the pool parameters in <em class="parameter"><code>query</code></em>. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> +<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> +<td>index to modify</td> +</tr> +<tr> <td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> <td>A valid <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> of type GST_QUERY_ALLOCATION.</td> </tr> <tr> +<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td> +<td>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> +</td> +</tr> +<tr> <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td> <td>the size</td> </tr> @@ -2233,17 +2539,33 @@ Set the allocation parameters in <em class="parameter"><code>query</code></em>. <td><p><span class="term"><em class="parameter"><code>max_buffers</code></em> :</span></p></td> <td>the max buffers</td> </tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-add-allocation-param"></a><h3>gst_query_add_allocation_param ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_allocation_param (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>, + <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre> +<p> +Add <em class="parameter"><code>allocator</code></em> and its <em class="parameter"><code>params</code></em> as a supported memory allocator. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> <tr> -<td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td> -<td>the prefix</td> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>alignment</code></em> :</span></p></td> -<td>the alignment</td> +<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td> +<td>the memory allocator</td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td> -<td>the <a class="link" href="gstreamer-GstBufferPool.html#GstBufferPool" title="GstBufferPool"><span class="type">GstBufferPool</span></a> +<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td> +<td>a <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> </td> </tr> </tbody> @@ -2251,11 +2573,15 @@ Set the allocation parameters in <em class="parameter"><code>query</code></em>. </div> <hr> <div class="refsect2"> -<a name="gst-query-add-allocation-memory"></a><h3>gst_query_add_allocation_memory ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_allocation_memory (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *alloc</code></em>);</pre> +<a name="gst-query-get-n-allocation-params"></a><h3>gst_query_get_n_allocation_params ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_allocation_params (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> <p> -Add <em class="parameter"><code>alloc</code></em> as a supported memory allocator. +Retrieve the number of values currently stored in the +allocator params array of the query's structure. +</p> +<p> +If no memory allocator is specified, the downstream element can handle +the default memory allocator. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -2266,8 +2592,79 @@ Add <em class="parameter"><code>alloc</code></em> as a supported memory allocato </td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>alloc</code></em> :</span></p></td> -<td>the memory allocator</td> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the allocator array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-nth-allocation-param"></a><h3>gst_query_parse_nth_allocation_param ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_nth_allocation_param + (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> **allocator</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre> +<p> +Parse an available query and get the alloctor and its params +at <em class="parameter"><code>index</code></em> of the allocator array. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> +<td>position in the allocator array to read</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td> +<td>variable to hold the result. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td> +<td>parameters for the allocator</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-set-nth-allocation-param"></a><h3>gst_query_set_nth_allocation_param ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_nth_allocation_param (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstMemory.html#GstAllocator" title="GstAllocator"><span class="type">GstAllocator</span></a> *allocator</code></em>, + <em class="parameter"><code>const <a class="link" href="gstreamer-GstMemory.html#GstAllocationParams" title="struct GstAllocationParams"><span class="type">GstAllocationParams</span></a> *params</code></em>);</pre> +<p> +Parse an available query and get the alloctor and its params +at <em class="parameter"><code>index</code></em> of the allocator array. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> +<td>position in the allocator array to set</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td> +<td>new allocator to set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td> +<td>parameters for the allocator</td> </tr> </tbody> </table></div> @@ -2276,7 +2673,7 @@ Add <em class="parameter"><code>alloc</code></em> as a supported memory allocato <div class="refsect2"> <a name="gst-query-add-allocation-meta"></a><h3>gst_query_add_allocation_meta ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_allocation_meta (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *api</code></em>);</pre> + <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>);</pre> <p> Add <em class="parameter"><code>api</code></em> as aone of the supported metadata API to <em class="parameter"><code>query</code></em>. </p> @@ -2297,11 +2694,11 @@ Add <em class="parameter"><code>api</code></em> as aone of the supported metadat </div> <hr> <div class="refsect2"> -<a name="gst-query-has-allocation-meta"></a><h3>gst_query_has_allocation_meta ()</h3> -<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_has_allocation_meta (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *api</code></em>);</pre> +<a name="gst-query-get-n-allocation-metas"></a><h3>gst_query_get_n_allocation_metas ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_allocation_metas (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> <p> -Check if <em class="parameter"><code>query</code></em> has metadata <em class="parameter"><code>api</code></em> set. +Retrieve the number of values currently stored in the +meta API array of the query's structure. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -2312,27 +2709,48 @@ Check if <em class="parameter"><code>query</code></em> has metadata <em class="p </td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>api</code></em> :</span></p></td> -<td>the metadata API</td> -</tr> -<tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>TRUE when <em class="parameter"><code>api</code></em> is in the list of metadata.</td> +<td>the metadata API array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-get-n-allocation-memories"></a><h3>gst_query_get_n_allocation_memories ()</h3> -<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_allocation_memories (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> +<a name="gst-query-parse-nth-allocation-meta"></a><h3>gst_query_parse_nth_allocation_meta ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> gst_query_parse_nth_allocation_meta (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre> <p> -Retrieve the number of values currently stored in the -allocator array of the query's structure. +Parse an available query and get the metadata API +at <em class="parameter"><code>index</code></em> of the metadata API array. </p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_ALLOCATION type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> +<td>position in the metadata API array to read</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the metadata API at <em class="parameter"><code>index</code></em>.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-remove-nth-allocation-meta"></a><h3>gst_query_remove_nth_allocation_meta ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_remove_nth_allocation_meta + (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre> <p> -If no memory allocator is specified, the downstream element can handle -the default memory allocator. +Remove the metadata API at <em class="parameter"><code>index</code></em> of the metadata API array. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -2343,19 +2761,19 @@ the default memory allocator. </td> </tr> <tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the allocator array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td> +<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> +<td>position in the metadata API array to remove</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2"> -<a name="gst-query-get-n-allocation-metas"></a><h3>gst_query_get_n_allocation_metas ()</h3> -<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_allocation_metas (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> +<a name="gst-query-has-allocation-meta"></a><h3>gst_query_has_allocation_meta ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_has_allocation_meta (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> api</code></em>);</pre> <p> -Retrieve the number of values currently stored in the -meta API array of the query's structure. +Check if <em class="parameter"><code>query</code></em> has metadata <em class="parameter"><code>api</code></em> set. </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> @@ -2366,8 +2784,39 @@ meta API array of the query's structure. </td> </tr> <tr> +<td><p><span class="term"><em class="parameter"><code>api</code></em> :</span></p></td> +<td>the metadata API</td> +</tr> +<tr> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the metadata API array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td> +<td>TRUE when <em class="parameter"><code>api</code></em> is in the list of metadata.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="GstSchedulingFlags"></a><h3>enum GstSchedulingFlags</h3> +<pre class="programlisting">typedef enum { + GST_SCHEDULING_FLAG_SEEKABLE = (1 << 0), + GST_SCHEDULING_FLAG_SEQUENTIAL = (1 << 1) +} GstSchedulingFlags; +</pre> +<p> +The different scheduling flags. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><a name="GST-SCHEDULING-FLAG-SEEKABLE:CAPS"></a><span class="term"><code class="literal">GST_SCHEDULING_FLAG_SEEKABLE</code></span></p></td> +<td>if seeking is possible +</td> +</tr> +<tr> +<td><p><a name="GST-SCHEDULING-FLAG-SEQUENTIAL:CAPS"></a><span class="term"><code class="literal">GST_SCHEDULING_FLAG_SEQUENTIAL</code></span></p></td> +<td>if sequential access is recommended +</td> </tr> </tbody> </table></div> @@ -2395,9 +2844,7 @@ Free-function: gst_query_unref <div class="refsect2"> <a name="gst-query-parse-scheduling"></a><h3>gst_query_parse_scheduling ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_scheduling (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *pull_mode</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *random_access</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *sequential</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> *flags</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *maxsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *align</code></em>);</pre> @@ -2412,28 +2859,25 @@ Set the scheduling properties. <td>A valid <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> of type GST_QUERY_SCHEDULING.</td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>pull_mode</code></em> :</span></p></td> -<td>if pull mode scheduling is supported</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>random_access</code></em> :</span></p></td> -<td>if random access is possible</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>sequential</code></em> :</span></p></td> -<td>if sequential access is recommended</td> +<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> +<td> +<a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>minsize</code></em> :</span></p></td> -<td>the suggested minimum size of pull requests</td> +<td>the suggested minimum size of pull requests. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td> -<td>the suggested maximum size of pull requests:</td> +<td>the suggested maximum size of pull requests:. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>align</code></em> :</span></p></td> -<td>the suggested alignment of pull requests</td> +<td>the suggested alignment of pull requests. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> </tr> </tbody> </table></div> @@ -2442,9 +2886,7 @@ Set the scheduling properties. <div class="refsect2"> <a name="gst-query-set-scheduling"></a><h3>gst_query_set_scheduling ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_scheduling (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> pull_mode</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> random_access</code></em>, - <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> sequential</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a> flags</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> minsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> maxsize</code></em>, <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> align</code></em>);</pre> @@ -2459,16 +2901,8 @@ Set the scheduling properties. <td>A valid <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> of type GST_QUERY_SCHEDULING.</td> </tr> <tr> -<td><p><span class="term"><em class="parameter"><code>pull_mode</code></em> :</span></p></td> -<td>if pull mode scheduling is supported</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>random_access</code></em> :</span></p></td> -<td>if random access is possible</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>sequential</code></em> :</span></p></td> -<td>if sequential access is recommended</td> +<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> +<td><a class="link" href="gstreamer-GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags"><span class="type">GstSchedulingFlags</span></a></td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>minsize</code></em> :</span></p></td> @@ -2476,7 +2910,7 @@ Set the scheduling properties. </tr> <tr> <td><p><span class="term"><em class="parameter"><code>maxsize</code></em> :</span></p></td> -<td>the suggested maximum size of pull requests:</td> +<td>the suggested maximum size of pull requests</td> </tr> <tr> <td><p><span class="term"><em class="parameter"><code>align</code></em> :</span></p></td> @@ -2485,6 +2919,206 @@ Set the scheduling properties. </tbody> </table></div> </div> +<hr> +<div class="refsect2"> +<a name="gst-query-add-scheduling-mode"></a><h3>gst_query_add_scheduling_mode ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_add_scheduling_mode (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>);</pre> +<p> +Add <em class="parameter"><code>mode</code></em> as aone of the supported scheduling modes to <em class="parameter"><code>query</code></em>. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_SCHEDULING type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> +<td>a <a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-get-n-scheduling-modes"></a><h3>gst_query_get_n_scheduling_modes ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gst_query_get_n_scheduling_modes (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre> +<p> +Retrieve the number of values currently stored in the +scheduling mode array of the query's structure. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_SCHEDULING type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the scheduling mode array size as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-nth-scheduling-mode"></a><h3>gst_query_parse_nth_scheduling_mode ()</h3> +<pre class="programlisting"><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="returnvalue">GstPadMode</span></a> gst_query_parse_nth_scheduling_mode (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre> +<p> +Parse an available query and get the scheduling mode +at <em class="parameter"><code>index</code></em> of the scheduling modes array. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_SCHEDULING type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td> +<td>position in the scheduling modes array to read</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a <a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> of the scheduling mode at <em class="parameter"><code>index</code></em>.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-has-scheduling-mode"></a><h3>gst_query_has_scheduling_mode ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_query_has_scheduling_mode (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="type">GstPadMode</span></a> mode</code></em>);</pre> +<p> +Check if <em class="parameter"><code>query</code></em> has scheduling mode set. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a GST_QUERY_SCHEDULING type query <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> +<td>the scheduling mode</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>TRUE when <em class="parameter"><code>mode</code></em> is in the list of scheduling modes.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-new-drain"></a><h3>gst_query_new_drain ()</h3> +<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_new_drain (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p> +Constructs a new query object for querying the drain state. +</p> +<p> +Free-function: gst_query_unref +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr></tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-new-toc"></a><h3>gst_query_new_toc ()</h3> +<pre class="programlisting"><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="returnvalue">GstQuery</span></a> * gst_query_new_toc (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<p> +Constructs a new query TOC query object. Use <a class="link" href="gstreamer-GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a> +when done with it. A TOC query is used to query the full TOC with +the UID marker for TOC extending (to insert some new entries). +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody><tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>A <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>.</td> +</tr></tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-parse-toc"></a><h3>gst_query_parse_toc ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_parse_toc (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> **toc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **extend_uid</code></em>);</pre> +<p> +Parse a TOC query, writing the TOC into <em class="parameter"><code>toc</code></em> as a newly +allocated <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> and extend UID into <em class="parameter"><code>extend_uid</code></em>, if the respective parameters +are non-NULL. Use <em class="parameter"><code>extend_uid</code></em> value to insert new entries into the TOC (<em class="parameter"><code>extend_uid</code></em> will +act as root entry for newly inserted entries). +Free <em class="parameter"><code>toc</code></em> with <a class="link" href="gstreamer-GstToc.html#gst-toc-free" title="gst_toc_free ()"><code class="function">gst_toc_free()</code></a> and <em class="parameter"><code>extend_uid</code></em> with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a>.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td> +<td>the storage for the received TOC (may be NULL). <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>extend_uid</code></em> :</span></p></td> +<td>the storage for the received extend UID marker (may be NULL), +0 means root TOC level. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="gst-query-set-toc"></a><h3>gst_query_set_toc ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> gst_query_set_toc (<em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> *query</code></em>, + <em class="parameter"><code><a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> *toc</code></em>, + <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extend_uid</code></em>);</pre> +<p> +Answer a TOC query by setting appropriate <a class="link" href="gstreamer-GstToc.html#GstToc" title="struct GstToc"><span class="type">GstToc</span></a> structure. +</p> +<div class="variablelist"><table border="0"> +<col align="left" valign="top"> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td> +<td>a <a class="link" href="gstreamer-GstQuery.html#GstQuery" title="struct GstQuery"><span class="type">GstQuery</span></a> with query type GST_QUERY_TOC.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>toc</code></em> :</span></p></td> +<td>the GstToc to set.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>extend_uid</code></em> :</span></p></td> +<td>UID which can be used for TOC extending (may be NULL), +0 means root TOC level.</td> +</tr> +</tbody> +</table></div> +</div> </div> <div class="refsect1"> <a name="gstreamer-GstQuery.see-also"></a><h2>See Also</h2> |