blob: 6045a575a48fbce11d591f652df227c3b443d587 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstQuery: GStreamer 1.0 Core Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.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="gstreamer-GstProtectionMeta.html" title="GstProtectionMeta">
<link rel="next" href="GstRegistry.html" title="GstRegistry">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#GstQuery.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#GstQuery.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gstreamer-GstProtectionMeta.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GstRegistry.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GstQuery"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GstQuery.top_of_page"></a>GstQuery</span></h2>
<p>GstQuery — Provide functions to create queries, and to set and parse
values in them.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GstQuery.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#GST-QUERY-MAKE-TYPE:CAPS" title="GST_QUERY_MAKE_TYPE()">GST_QUERY_MAKE_TYPE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#GST-QUERY-TYPE:CAPS" title="GST_QUERY_TYPE()">GST_QUERY_TYPE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#GST-QUERY-TYPE-NAME:CAPS" title="GST_QUERY_TYPE_NAME()">GST_QUERY_TYPE_NAME</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#GST-QUERY-IS-UPSTREAM:CAPS" title="GST_QUERY_IS_UPSTREAM()">GST_QUERY_IS_UPSTREAM</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#GST-QUERY-IS-DOWNSTREAM:CAPS" title="GST_QUERY_IS_DOWNSTREAM()">GST_QUERY_IS_DOWNSTREAM</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#GST-QUERY-IS-SERIALIZED:CAPS" title="GST_QUERY_IS_SERIALIZED()">GST_QUERY_IS_SERIALIZED</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="returnvalue">GstQueryTypeFlags</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-type-get-flags" title="gst_query_type_get_flags ()">gst_query_type_get_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-type-get-name" title="gst_query_type_get_name ()">gst_query_type_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-type-to-quark" title="gst_query_type_to_quark ()">gst_query_type_to_quark</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-ref" title="gst_query_ref ()">gst_query_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-unref" title="gst_query_unref ()">gst_query_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-copy" title="gst_query_copy ()">gst_query_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-make-writable" title="gst_query_make_writable()">gst_query_make_writable</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-is-writable" title="gst_query_is_writable()">gst_query_is_writable</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-replace" title="gst_query_replace ()">gst_query_replace</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-writable-structure" title="gst_query_writable_structure ()">gst_query_writable_structure</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-custom" title="gst_query_new_custom ()">gst_query_new_custom</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-get-structure" title="gst_query_get_structure ()">gst_query_get_structure</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-convert" title="gst_query_new_convert ()">gst_query_new_convert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-convert" title="gst_query_set_convert ()">gst_query_set_convert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-convert" title="gst_query_parse_convert ()">gst_query_parse_convert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-position" title="gst_query_new_position ()">gst_query_new_position</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-position" title="gst_query_set_position ()">gst_query_set_position</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-position" title="gst_query_parse_position ()">gst_query_parse_position</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-duration" title="gst_query_new_duration ()">gst_query_new_duration</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-duration" title="gst_query_set_duration ()">gst_query_set_duration</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-duration" title="gst_query_parse_duration ()">gst_query_parse_duration</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-latency" title="gst_query_new_latency ()">gst_query_new_latency</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-latency" title="gst_query_parse_latency ()">gst_query_parse_latency</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-latency" title="gst_query_set_latency ()">gst_query_set_latency</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-seeking" title="gst_query_new_seeking ()">gst_query_new_seeking</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-seeking" title="gst_query_set_seeking ()">gst_query_set_seeking</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-seeking" title="gst_query_parse_seeking ()">gst_query_parse_seeking</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-formats" title="gst_query_new_formats ()">gst_query_new_formats</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-formats" title="gst_query_set_formats ()">gst_query_set_formats</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-formatsv" title="gst_query_set_formatsv ()">gst_query_set_formatsv</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-n-formats" title="gst_query_parse_n_formats ()">gst_query_parse_n_formats</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-nth-format" title="gst_query_parse_nth_format ()">gst_query_parse_nth_format</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-segment" title="gst_query_new_segment ()">gst_query_new_segment</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-segment" title="gst_query_set_segment ()">gst_query_set_segment</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-segment" title="gst_query_parse_segment ()">gst_query_parse_segment</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-caps" title="gst_query_new_caps ()">gst_query_new_caps</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-caps" title="gst_query_parse_caps ()">gst_query_parse_caps</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-caps-result" title="gst_query_set_caps_result ()">gst_query_set_caps_result</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-caps-result" title="gst_query_parse_caps_result ()">gst_query_parse_caps_result</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-accept-caps" title="gst_query_new_accept_caps ()">gst_query_new_accept_caps</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-accept-caps" title="gst_query_parse_accept_caps ()">gst_query_parse_accept_caps</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-accept-caps-result" title="gst_query_set_accept_caps_result ()">gst_query_set_accept_caps_result</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-accept-caps-result" title="gst_query_parse_accept_caps_result ()">gst_query_parse_accept_caps_result</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-buffering" title="gst_query_new_buffering ()">gst_query_new_buffering</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-buffering-percent" title="gst_query_set_buffering_percent ()">gst_query_set_buffering_percent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-buffering-percent" title="gst_query_parse_buffering_percent ()">gst_query_parse_buffering_percent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-buffering-stats" title="gst_query_set_buffering_stats ()">gst_query_set_buffering_stats</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-buffering-stats" title="gst_query_parse_buffering_stats ()">gst_query_parse_buffering_stats</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-buffering-range" title="gst_query_set_buffering_range ()">gst_query_set_buffering_range</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-buffering-range" title="gst_query_parse_buffering_range ()">gst_query_parse_buffering_range</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-add-buffering-range" title="gst_query_add_buffering_range ()">gst_query_add_buffering_range</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-get-n-buffering-ranges" title="gst_query_get_n_buffering_ranges ()">gst_query_get_n_buffering_ranges</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-nth-buffering-range" title="gst_query_parse_nth_buffering_range ()">gst_query_parse_nth_buffering_range</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-uri" title="gst_query_new_uri ()">gst_query_new_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-uri" title="gst_query_parse_uri ()">gst_query_parse_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-uri" title="gst_query_set_uri ()">gst_query_set_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-uri-redirection" title="gst_query_parse_uri_redirection ()">gst_query_parse_uri_redirection</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-uri-redirection" title="gst_query_set_uri_redirection ()">gst_query_set_uri_redirection</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-uri-redirection-permanent" title="gst_query_parse_uri_redirection_permanent ()">gst_query_parse_uri_redirection_permanent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-uri-redirection-permanent" title="gst_query_set_uri_redirection_permanent ()">gst_query_set_uri_redirection_permanent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-allocation" title="gst_query_new_allocation ()">gst_query_new_allocation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-allocation" title="gst_query_parse_allocation ()">gst_query_parse_allocation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-add-allocation-pool" title="gst_query_add_allocation_pool ()">gst_query_add_allocation_pool</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-get-n-allocation-pools" title="gst_query_get_n_allocation_pools ()">gst_query_get_n_allocation_pools</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-nth-allocation-pool" title="gst_query_parse_nth_allocation_pool ()">gst_query_parse_nth_allocation_pool</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-nth-allocation-pool" title="gst_query_set_nth_allocation_pool ()">gst_query_set_nth_allocation_pool</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-remove-nth-allocation-pool" title="gst_query_remove_nth_allocation_pool ()">gst_query_remove_nth_allocation_pool</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-add-allocation-param" title="gst_query_add_allocation_param ()">gst_query_add_allocation_param</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-get-n-allocation-params" title="gst_query_get_n_allocation_params ()">gst_query_get_n_allocation_params</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-nth-allocation-param" title="gst_query_parse_nth_allocation_param ()">gst_query_parse_nth_allocation_param</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-nth-allocation-param" title="gst_query_set_nth_allocation_param ()">gst_query_set_nth_allocation_param</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-remove-nth-allocation-param" title="gst_query_remove_nth_allocation_param ()">gst_query_remove_nth_allocation_param</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-add-allocation-meta" title="gst_query_add_allocation_meta ()">gst_query_add_allocation_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-get-n-allocation-metas" title="gst_query_get_n_allocation_metas ()">gst_query_get_n_allocation_metas</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-nth-allocation-meta" title="gst_query_parse_nth_allocation_meta ()">gst_query_parse_nth_allocation_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-remove-nth-allocation-meta" title="gst_query_remove_nth_allocation_meta ()">gst_query_remove_nth_allocation_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-find-allocation-meta" title="gst_query_find_allocation_meta ()">gst_query_find_allocation_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-scheduling" title="gst_query_new_scheduling ()">gst_query_new_scheduling</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-scheduling" title="gst_query_parse_scheduling ()">gst_query_parse_scheduling</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-scheduling" title="gst_query_set_scheduling ()">gst_query_set_scheduling</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-add-scheduling-mode" title="gst_query_add_scheduling_mode ()">gst_query_add_scheduling_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-get-n-scheduling-modes" title="gst_query_get_n_scheduling_modes ()">gst_query_get_n_scheduling_modes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstPad.html#GstPadMode" title="enum GstPadMode"><span class="returnvalue">GstPadMode</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-nth-scheduling-mode" title="gst_query_parse_nth_scheduling_mode ()">gst_query_parse_nth_scheduling_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-has-scheduling-mode" title="gst_query_has_scheduling_mode ()">gst_query_has_scheduling_mode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-has-scheduling-mode-with-flags" title="gst_query_has_scheduling_mode_with_flags ()">gst_query_has_scheduling_mode_with_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-drain" title="gst_query_new_drain ()">gst_query_new_drain</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-new-context" title="gst_query_new_context ()">gst_query_new_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-set-context" title="gst_query_set_context ()">gst_query_set_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-context" title="gst_query_parse_context ()">gst_query_parse_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GstQuery.html#gst-query-parse-context-type" title="gst_query_parse_context_type ()">gst_query_parse_context_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GstQuery.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GstQuery.html#GstQuery-struct" title="struct GstQuery">GstQuery</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags">GstQueryTypeFlags</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GstQuery.html#GST-QUERY-TYPE-BOTH:CAPS" title="GST_QUERY_TYPE_BOTH">GST_QUERY_TYPE_BOTH</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GstQuery.html#GstQueryType" title="enum GstQueryType">GstQueryType</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GstQuery.html#GstBufferingMode" title="enum GstBufferingMode">GstBufferingMode</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GstQuery.html#GstSchedulingFlags" title="enum GstSchedulingFlags">GstSchedulingFlags</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GstQuery.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
<span class="lineart">╰──</span> GstQuery
</pre>
</div>
<div class="refsect1">
<a name="GstQuery.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/gst.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GstQuery.description"></a><h2>Description</h2>
<p>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.</p>
<p>Queries can be created using the gst_query_new_*() functions.
Query values can be set using gst_query_set_*(), and parsed using
gst_query_parse_*() helpers.</p>
<p>The following example shows how to query the duration of a pipeline:</p>
<div class="informalexample">
<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</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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/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="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/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">, &amp;</span>duration<span class="gtkdoc opt">);</span>
<span class="function"><a href="https://developer.gnome.org/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration = %&quot;</span>GST_TIME_FORMAT<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/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="https://developer.gnome.org/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;duration query failed...&quot;</span><span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>
<span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/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>
<p></p>
</div>
<div class="refsect1">
<a name="GstQuery.functions_details"></a><h2>Functions</h2>
<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="refsect3">
<a name="id-1.3.43.8.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>the query number to create</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>the query flags</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-QUERY-TYPE:CAPS"></a><h3>GST_QUERY_TYPE()</h3>
<pre class="programlisting">#define GST_QUERY_TYPE(query) (((GstQuery*)(query))-&gt;type)
</pre>
<p>Get the <a class="link" href="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query.</p>
<div class="refsect3">
<a name="id-1.3.43.8.3.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>the query to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</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)))
</pre>
<p>Get a constant string representation of the <a class="link" href="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> of the query.</p>
<div class="refsect3">
<a name="id-1.3.43.8.4.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>the query to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<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) &amp; GST_QUERY_TYPE_UPSTREAM)
</pre>
<p>Check if an query can travel upstream.</p>
<div class="refsect3">
<a name="id-1.3.43.8.5.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ev</p></td>
<td class="parameter_description"><p>the query to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<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) &amp; GST_QUERY_TYPE_DOWNSTREAM)
</pre>
<p>Check if an query can travel downstream.</p>
<div class="refsect3">
<a name="id-1.3.43.8.6.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ev</p></td>
<td class="parameter_description"><p>the query to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<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) &amp; GST_QUERY_TYPE_SERIALIZED)
</pre>
<p>Check if an query is serialized with the data stream.</p>
<div class="refsect3">
<a name="id-1.3.43.8.7.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ev</p></td>
<td class="parameter_description"><p>the query to query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-type-get-flags"></a><h3>gst_query_type_get_flags ()</h3>
<pre class="programlisting"><a class="link" href="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="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre>
<p>Gets the <a class="link" href="GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a> associated with <em class="parameter"><code>type</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.43.8.8.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.8.6"></a><h4>Returns</h4>
<p> a <a class="link" href="GstQuery.html#GstQueryTypeFlags" title="enum GstQueryTypeFlags"><span class="type">GstQueryTypeFlags</span></a>.</p>
</div>
</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="https://developer.gnome.org/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="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre>
<p>Get a printable name for the given query type. Do not modify or free.</p>
<div class="refsect3">
<a name="id-1.3.43.8.9.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the query type</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.9.6"></a><h4>Returns</h4>
<p> a reference to the static name of the query.</p>
</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="https://developer.gnome.org/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="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>);</pre>
<p>Get the unique quark for the given query type.</p>
<div class="refsect3">
<a name="id-1.3.43.8.10.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the query type</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.10.6"></a><h4>Returns</h4>
<p> the quark associated with the query type</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-ref"></a><h3>gst_query_ref ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_ref (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *q</code></em>);</pre>
<p>Increases the refcount of the given query by one.</p>
<div class="refsect3">
<a name="id-1.3.43.8.11.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>q</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> to increase the refcount of.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.11.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>q</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-unref"></a><h3>gst_query_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_unref (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *q</code></em>);</pre>
<p>Decreases the refcount of the query. If the refcount reaches 0, the query
will be freed.</p>
<div class="refsect3">
<a name="id-1.3.43.8.12.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>q</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> to decrease the refcount of.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-copy"></a><h3>gst_query_copy ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_copy (<em class="parameter"><code>const <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *q</code></em>);</pre>
<p>Copies the given query using the copy function of the parent <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a>.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.13.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>q</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> to copy.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.13.7"></a><h4>Returns</h4>
<p> a new copy of <em class="parameter"><code>q</code></em>
. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-make-writable"></a><h3>gst_query_make_writable()</h3>
<pre class="programlisting">#define gst_query_make_writable(q) GST_QUERY_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (q)))
</pre>
<p>Makes a writable query from the given query.</p>
<div class="refsect3">
<a name="id-1.3.43.8.14.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>q</p></td>
<td class="parameter_description"><p> a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> to make writable. </p></td>
<td class="parameter_annotations"><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>
<div class="refsect3">
<a name="id-1.3.43.8.14.6"></a><h4>Returns</h4>
<p> a new writable query (possibly same as <em class="parameter"><code>q</code></em>
). </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-is-writable"></a><h3>gst_query_is_writable()</h3>
<pre class="programlisting">#define gst_query_is_writable(q) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (q))
</pre>
<p>Tests if you can safely write data into a query's structure.</p>
<div class="refsect3">
<a name="id-1.3.43.8.15.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>q</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-replace"></a><h3>gst_query_replace ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_query_replace (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> **old_query</code></em>,
<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *new_query</code></em>);</pre>
<p>Modifies a pointer to a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> to point to a different <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. The
modification is done atomically (so this is useful for ensuring thread safety
in some cases), and the reference counts are updated appropriately (the old
query is unreffed, the new one is reffed).</p>
<p>Either <em class="parameter"><code>new_query</code></em>
or the <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> pointed to by <em class="parameter"><code>old_query</code></em>
may be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
<div class="refsect3">
<a name="id-1.3.43.8.16.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>old_query</p></td>
<td class="parameter_description"><p> pointer to a pointer to a
<a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> to be replaced. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>new_query</p></td>
<td class="parameter_description"><p> pointer to a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> that will
replace the query pointed to by <em class="parameter"><code>old_query</code></em>
. </p></td>
<td class="parameter_annotations"><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>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.16.7"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>new_query</code></em>
was different from <em class="parameter"><code>old_query</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-writable-structure"></a><h3>gst_query_writable_structure ()</h3>
<pre class="programlisting"><a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
gst_query_writable_structure (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
<p>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 guaranteed to be writable.</p>
<div class="refsect3">
<a name="id-1.3.43.8.17.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.17.6"></a><h4>Returns</h4>
<p> the <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> of the query. The structure is
still owned by the query and will therefore be freed when the query
is unreffed. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-custom"></a><h3>gst_query_new_custom ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_custom (<em class="parameter"><code><a class="link" href="GstQuery.html#GstQueryType" title="enum GstQueryType"><span class="type">GstQueryType</span></a> type</code></em>,
<em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
<p>Constructs a new custom query object. Use <a class="link" href="GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a>
when done with it.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.18.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the query type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>structure</p></td>
<td class="parameter_description"><p> a structure for the query. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.18.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-get-structure"></a><h3>gst_query_get_structure ()</h3>
<pre class="programlisting">const <a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
gst_query_get_structure (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>);</pre>
<p>Get the structure of a query.</p>
<div class="refsect3">
<a name="id-1.3.43.8.19.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.19.6"></a><h4>Returns</h4>
<p> the <a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> of the query. The structure is
still owned by the query and will therefore be freed when the query
is unreffed. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-convert"></a><h3>gst_query_new_convert ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="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><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="GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a>
when done with it. A convert query is used to ask for a conversion between
one format and another.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.20.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>src_format</p></td>
<td class="parameter_description"><p>the source <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> for the new query</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the value to convert</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dest_format</p></td>
<td class="parameter_description"><p>the target <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.20.7"></a><h4>Returns</h4>
<p> a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<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="GstQuery.html" title="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><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><span class="type">gint64</span> dest_value</code></em>);</pre>
<p>Answer a convert query by setting the requested values.</p>
<div class="refsect3">
<a name="id-1.3.43.8.21.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>src_format</p></td>
<td class="parameter_description"><p>the source <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>src_value</p></td>
<td class="parameter_description"><p>the source value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dest_format</p></td>
<td class="parameter_description"><p>the destination <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dest_value</p></td>
<td class="parameter_description"><p>the destination value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<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="GstQuery.html" title="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><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><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 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case that value is omitted.</p>
<div class="refsect3">
<a name="id-1.3.43.8.22.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>src_format</p></td>
<td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the
source value, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>src_value</p></td>
<td class="parameter_description"><p> the storage for the source value, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>dest_format</p></td>
<td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the
destination value, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>dest_value</p></td>
<td class="parameter_description"><p> the storage for the destination value,
or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-position"></a><h3>gst_query_new_position ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_position (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
<p>Constructs a new query stream position query object. Use <a class="link" href="GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a>
when done with it. A position query is used to query the current position
of playback in the streams, in some format.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.23.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the default <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> for the new query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.23.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<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="GstQuery.html" title="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><span class="type">gint64</span> cur</code></em>);</pre>
<p>Answer a position query by setting the requested value in the given format.</p>
<div class="refsect3">
<a name="id-1.3.43.8.24.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> with query type GST_QUERY_POSITION</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the requested <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cur</p></td>
<td class="parameter_description"><p>the position to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<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="GstQuery.html" title="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><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-<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
<div class="refsect3">
<a name="id-1.3.43.8.25.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the
position values (may be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>cur</p></td>
<td class="parameter_description"><p> the storage for the current position (may be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-duration"></a><h3>gst_query_new_duration ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_duration (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
<p>Constructs a new stream duration query object to query in the given format.
Use <a class="link" href="GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a> when done with it. A duration query will give the
total length of the stream.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.26.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> for this duration query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.26.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<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="GstQuery.html" title="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><span class="type">gint64</span> duration</code></em>);</pre>
<p>Answer a duration query by setting the requested value in the given format.</p>
<div class="refsect3">
<a name="id-1.3.43.8.27.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> for the duration</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>duration</p></td>
<td class="parameter_description"><p>the duration of the stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<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="GstQuery.html" title="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><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-<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
<div class="refsect3">
<a name="id-1.3.43.8.28.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p> the storage for the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the duration
value, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>duration</p></td>
<td class="parameter_description"><p> the storage for the total duration, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-latency"></a><h3>gst_query_new_latency ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_latency (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Constructs a new latency query object.
Use <a class="link" href="GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a> when done with it. A latency query is usually performed
by sinks to compensate for additional latency introduced by elements in the
pipeline.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.29.6"></a><h4>Returns</h4>
<p> a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-parse-latency"></a><h3>gst_query_parse_latency ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_parse_latency (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *min_latency</code></em>,
<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *max_latency</code></em>);</pre>
<p>Parse a latency query answer.</p>
<div class="refsect3">
<a name="id-1.3.43.8.30.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>live</p></td>
<td class="parameter_description"><p> storage for live or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>min_latency</p></td>
<td class="parameter_description"><p> the storage for the min latency or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>max_latency</p></td>
<td class="parameter_description"><p> the storage for the max latency or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-set-latency"></a><h3>gst_query_set_latency ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_set_latency (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> live</code></em>,
<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> min_latency</code></em>,
<em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> max_latency</code></em>);</pre>
<p>Answer a latency query by setting the requested values in the given format.</p>
<div class="refsect3">
<a name="id-1.3.43.8.31.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>live</p></td>
<td class="parameter_description"><p>if there is a live element upstream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>min_latency</p></td>
<td class="parameter_description"><p>the minimal latency of the upstream elements</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>max_latency</p></td>
<td class="parameter_description"><p>the maximal latency of the upstream elements</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-seeking"></a><h3>gst_query_new_seeking ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_seeking (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
<p>Constructs a new query object for querying seeking properties of
the stream.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.32.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the default <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> for the new query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.32.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-set-seeking"></a><h3>gst_query_set_seeking ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_set_seeking (<em class="parameter"><code><a class="link" href="GstQuery.html" title="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="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> seekable</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>);</pre>
<p>Set the seeking query result fields in <em class="parameter"><code>query</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.43.8.33.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the format to set for the <em class="parameter"><code>segment_start</code></em>
and <em class="parameter"><code>segment_end</code></em>
values</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>seekable</p></td>
<td class="parameter_description"><p>the seekable flag to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>segment_start</p></td>
<td class="parameter_description"><p>the segment_start to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>segment_end</p></td>
<td class="parameter_description"><p>the segment_end to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-parse-seeking"></a><h3>gst_query_parse_seeking ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_parse_seeking (<em class="parameter"><code><a class="link" href="GstQuery.html" title="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="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *seekable</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>);</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
are non-<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
<div class="refsect3">
<a name="id-1.3.43.8.34.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a GST_QUERY_SEEKING type query <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p> the format to set for the <em class="parameter"><code>segment_start</code></em>
and <em class="parameter"><code>segment_end</code></em>
values, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>seekable</p></td>
<td class="parameter_description"><p> the seekable flag to set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>segment_start</p></td>
<td class="parameter_description"><p> the segment_start to set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>segment_end</p></td>
<td class="parameter_description"><p> the segment_end to set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-formats"></a><h3>gst_query_new_formats ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_formats (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Constructs a new query object for querying formats of
the stream.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.35.6"></a><h4>Returns</h4>
<p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-set-formats"></a><h3>gst_query_set_formats ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_set_formats (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_formats</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>Set the formats query result fields in <em class="parameter"><code>query</code></em>
. The number of formats passed
must be equal to <em class="parameter"><code>n_formats</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.43.8.36.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_formats</p></td>
<td class="parameter_description"><p>the number of formats to set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>A number of <em class="parameter"><code>GstFormats</code></em>
equal to <em class="parameter"><code>n_formats</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-set-formatsv"></a><h3>gst_query_set_formatsv ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_set_formatsv (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_formats</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *formats</code></em>);</pre>
<p>Set the formats query result fields in <em class="parameter"><code>query</code></em>
. The number of formats passed
in the <em class="parameter"><code>formats</code></em>
array must be equal to <em class="parameter"><code>n_formats</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.43.8.37.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_formats</p></td>
<td class="parameter_description"><p>the number of formats to set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>formats</p></td>
<td class="parameter_description"><p> an array containing <em class="parameter"><code>n_formats</code></em>
<em class="parameter"><code>GstFormat</code></em>
values. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input. Default is transfer none."><span class="acronym">in</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_formats]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-parse-n-formats"></a><h3>gst_query_parse_n_formats ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_parse_n_formats (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_formats</code></em>);</pre>
<p>Parse the number of formats in the formats <em class="parameter"><code>query</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.43.8.38.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_formats</p></td>
<td class="parameter_description"><p> the number of formats in this query. </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-parse-nth-format"></a><h3>gst_query_parse_nth_format ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_parse_nth_format (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> nth</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>);</pre>
<p>Parse the format query and retrieve the <em class="parameter"><code>nth</code></em>
format from it into
<em class="parameter"><code>format</code></em>
. If the list contains less elements than <em class="parameter"><code>nth</code></em>
, <em class="parameter"><code>format</code></em>
will be
set to GST_FORMAT_UNDEFINED.</p>
<div class="refsect3">
<a name="id-1.3.43.8.39.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>nth</p></td>
<td class="parameter_description"><p> the nth format to retrieve. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p> a pointer to store the nth format. </p></td>
<td class="parameter_annotations"><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>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-new-segment"></a><h3>gst_query_new_segment ()</h3>
<pre class="programlisting"><a class="link" href="GstQuery.html" title="GstQuery"><span class="returnvalue">GstQuery</span></a> *
gst_query_new_segment (<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
<p>Constructs a new segment query object. Use <a class="link" href="GstQuery.html#gst-query-unref" title="gst_query_unref ()"><code class="function">gst_query_unref()</code></a>
when done with it. A segment query is used to discover information about the
currently configured segment for playback.</p>
<p>Free-function: gst_query_unref</p>
<div class="refsect3">
<a name="id-1.3.43.8.40.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> for the new query</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.43.8.40.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-set-segment"></a><h3>gst_query_set_segment ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_set_segment (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/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><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
1.0. If a seek was performed on the pipeline to play a different
segment, this query will return the range specified in the last seek.</p>
<p><em class="parameter"><code>start_value</code></em>
and <em class="parameter"><code>stop_value</code></em>
will respectively contain the configured
playback range start and stop values expressed in <em class="parameter"><code>format</code></em>
.
The values are always between 0 and the duration of the media and
<em class="parameter"><code>start_value</code></em>
&lt;= <em class="parameter"><code>stop_value</code></em>
. <em class="parameter"><code>rate</code></em>
will contain the playback rate. For
negative rates, playback will actually happen from <em class="parameter"><code>stop_value</code></em>
to
<em class="parameter"><code>start_value</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.43.8.41.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>rate</p></td>
<td class="parameter_description"><p>the rate of the segment</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>format</p></td>
<td class="parameter_description"><p>the <a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> of the segment values (<em class="parameter"><code>start_value</code></em>
and <em class="parameter"><code>stop_value</code></em>
)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>start_value</p></td>
<td class="parameter_description"><p>the start value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>stop_value</p></td>
<td class="parameter_description"><p>the stop value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-query-parse-segment"></a><h3>gst_query_parse_segment ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_query_parse_segment (<em class="parameter"><code><a class="link" href="GstQuery.html" title="GstQuery"><span class="type">GstQuery</span></a> *query</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/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><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 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, which will cause this value to be omitted.</p>
<p>See <a class="link" href="GstQuery.html#gst-query-set-segment" title="gst_query_set_segment ()"><code class="function">gst_query_set_segment()</code></a> for an explanation of the function arguments.</p>
<div class="refsect3">
<a name="id-1.3.43.8.42.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>