blob: 08a4d0fa744ce21f5acdf557c990019d6076ec38 [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>GstUri: 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="GstTypeFindFactory.html" title="GstTypeFindFactory">
<link rel="next" href="gstreamer-GstUriHandler.html" title="GstUriHandler">
<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="#gstreamer-GstUri.description" class="shortcut">Description</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="GstTypeFindFactory.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gstreamer-GstUriHandler.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gstreamer-GstUri"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gstreamer-GstUri.top_of_page"></a>GstUri</span></h2>
<p>GstUri — URI parsing and manipulation.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gstreamer-GstUri.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="gstreamer-GstUri.html#GST-URI-CAST:CAPS" title="GST_URI_CAST()">GST_URI_CAST</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#GST-URI-CONST-CAST:CAPS" title="GST_URI_CONST_CAST()">GST_URI_CONST_CAST</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-new" title="gst_uri_new ()">gst_uri_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-new-with-base" title="gst_uri_new_with_base ()">gst_uri_new_with_base</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-from-string" title="gst_uri_from_string ()">gst_uri_from_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-from-string-with-base" title="gst_uri_from_string_with_base ()">gst_uri_from_string_with_base</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-copy" title="gst_uri_copy ()">gst_uri_copy</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="gstreamer-GstUri.html#gst-uri-equal" title="gst_uri_equal ()">gst_uri_equal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-join" title="gst_uri_join ()">gst_uri_join</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#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-join-strings" title="gst_uri_join_strings ()">gst_uri_join_strings</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="gstreamer-GstUri.html#gst-uri-is-writable" title="gst_uri_is_writable ()">gst_uri_is_writable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-make-writable" title="gst_uri_make_writable ()">gst_uri_make_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#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-to-string" title="gst_uri_to_string ()">gst_uri_to_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-ref" title="gst_uri_ref ()">gst_uri_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="gstreamer-GstUri.html#gst-uri-unref" title="gst_uri_unref ()">gst_uri_unref</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="gstreamer-GstUri.html#gst-uri-is-normalized" title="gst_uri_is_normalized ()">gst_uri_is_normalized</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="gstreamer-GstUri.html#gst-uri-normalize" title="gst_uri_normalize ()">gst_uri_normalize</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="gstreamer-GstUri.html#gst-uri-get-scheme" title="gst_uri_get_scheme ()">gst_uri_get_scheme</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="gstreamer-GstUri.html#gst-uri-set-scheme" title="gst_uri_set_scheme ()">gst_uri_set_scheme</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="gstreamer-GstUri.html#gst-uri-get-userinfo" title="gst_uri_get_userinfo ()">gst_uri_get_userinfo</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="gstreamer-GstUri.html#gst-uri-set-userinfo" title="gst_uri_set_userinfo ()">gst_uri_set_userinfo</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="gstreamer-GstUri.html#gst-uri-get-host" title="gst_uri_get_host ()">gst_uri_get_host</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="gstreamer-GstUri.html#gst-uri-set-host" title="gst_uri_set_host ()">gst_uri_set_host</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="gstreamer-GstUri.html#gst-uri-get-port" title="gst_uri_get_port ()">gst_uri_get_port</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="gstreamer-GstUri.html#gst-uri-set-port" title="gst_uri_set_port ()">gst_uri_set_port</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#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-get-path" title="gst_uri_get_path ()">gst_uri_get_path</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="gstreamer-GstUri.html#gst-uri-set-path" title="gst_uri_set_path ()">gst_uri_set_path</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#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-get-path-string" title="gst_uri_get_path_string ()">gst_uri_get_path_string</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="gstreamer-GstUri.html#gst-uri-set-path-string" title="gst_uri_set_path_string ()">gst_uri_set_path_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-get-path-segments" title="gst_uri_get_path_segments ()">gst_uri_get_path_segments</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="gstreamer-GstUri.html#gst-uri-set-path-segments" title="gst_uri_set_path_segments ()">gst_uri_set_path_segments</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="gstreamer-GstUri.html#gst-uri-append-path" title="gst_uri_append_path ()">gst_uri_append_path</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="gstreamer-GstUri.html#gst-uri-append-path-segment" title="gst_uri_append_path_segment ()">gst_uri_append_path_segment</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#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-get-query-string" title="gst_uri_get_query_string ()">gst_uri_get_query_string</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="gstreamer-GstUri.html#gst-uri-set-query-string" title="gst_uri_set_query_string ()">gst_uri_set_query_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-get-query-table" title="gst_uri_get_query_table ()">gst_uri_get_query_table</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="gstreamer-GstUri.html#gst-uri-set-query-table" title="gst_uri_set_query_table ()">gst_uri_set_query_table</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="gstreamer-GstUri.html#gst-uri-get-query-value" title="gst_uri_get_query_value ()">gst_uri_get_query_value</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="gstreamer-GstUri.html#gst-uri-set-query-value" title="gst_uri_set_query_value ()">gst_uri_set_query_value</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="gstreamer-GstUri.html#gst-uri-remove-query-key" title="gst_uri_remove_query_key ()">gst_uri_remove_query_key</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="gstreamer-GstUri.html#gst-uri-query-has-key" title="gst_uri_query_has_key ()">gst_uri_query_has_key</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUri.html#gst-uri-get-query-keys" title="gst_uri_get_query_keys ()">gst_uri_get_query_keys</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="gstreamer-GstUri.html#gst-uri-get-fragment" title="gst_uri_get_fragment ()">gst_uri_get_fragment</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="gstreamer-GstUri.html#gst-uri-set-fragment" title="gst_uri_set_fragment ()">gst_uri_set_fragment</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-GstUri.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"> </td>
<td class="function_name"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri">GstUri</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-GstUri.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/gst.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-GstUri.description"></a><h2>Description</h2>
<p>A <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object can be used to parse and split a URI string into its
constituant parts. Two <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> objects can be joined to make a new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a>
using the algorithm described in RFC3986.</p>
</div>
<div class="refsect1">
<a name="gstreamer-GstUri.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GST-URI-CAST:CAPS"></a><h3>GST_URI_CAST()</h3>
<pre class="programlisting">#define GST_URI_CAST(obj) ((GstUri *)(obj))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-URI-CONST-CAST:CAPS"></a><h3>GST_URI_CONST_CAST()</h3>
<pre class="programlisting">#define GST_URI_CONST_CAST(obj) ((const GstUri *)(obj))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-new"></a><h3>gst_uri_new ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_new (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *scheme</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *userinfo</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host</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> port</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fragment</code></em>);</pre>
<p>Creates a new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object with the given URI parts. The path and query
strings will be broken down into their elements. All strings should not be
escaped except where indicated.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>scheme</p></td>
<td class="parameter_description"><p> The scheme for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>userinfo</p></td>
<td class="parameter_description"><p> The user-info for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>host</p></td>
<td class="parameter_description"><p> The host name for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>port</p></td>
<td class="parameter_description"><p>The port number for the new URI or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p> The path for the new URI with '/' separating path
elements. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>query</p></td>
<td class="parameter_description"><p> The query string for the new URI with '&amp;' separating
query elements. Elements containing '&amp;' characters
should encode them as "<code class="literal">26</code>". </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>fragment</p></td>
<td class="parameter_description"><p> The fragment name for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.4.6"></a><h4>Returns</h4>
<p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-new-with-base"></a><h3>gst_uri_new_with_base ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_new_with_base (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *base</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *scheme</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *userinfo</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host</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> port</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fragment</code></em>);</pre>
<p>Like <a class="link" href="gstreamer-GstUri.html#gst-uri-new" title="gst_uri_new ()"><code class="function">gst_uri_new()</code></a>, but joins the new URI onto a base URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>base</p></td>
<td class="parameter_description"><p> The base URI to join the new URI to. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>scheme</p></td>
<td class="parameter_description"><p> The scheme for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>userinfo</p></td>
<td class="parameter_description"><p> The user-info for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>host</p></td>
<td class="parameter_description"><p> The host name for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>port</p></td>
<td class="parameter_description"><p>The port number for the new URI or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p> The path for the new URI with '/' separating path
elements. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>query</p></td>
<td class="parameter_description"><p> The query string for the new URI with '&amp;' separating
query elements. Elements containing '&amp;' characters
should encode them as "<code class="literal">26</code>". </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>fragment</p></td>
<td class="parameter_description"><p> The fragment name for the new URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.5.6"></a><h4>Returns</h4>
<p> The new URI joined onto <em class="parameter"><code>base</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>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-from-string"></a><h3>gst_uri_from_string ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_from_string (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
<p>Parses a URI string into a new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. Will return NULL if the URI
cannot be parsed.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p>The URI string to parse.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.6.6"></a><h4>Returns</h4>
<p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object, or NULL. </p>
<p><span class="annotation">[<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></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-from-string-with-base"></a><h3>gst_uri_from_string_with_base ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_from_string_with_base (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *base</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
<p>Like <a class="link" href="gstreamer-GstUri.html#gst-uri-from-string" title="gst_uri_from_string ()"><code class="function">gst_uri_from_string()</code></a> but also joins with a base URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>base</p></td>
<td class="parameter_description"><p> The base URI to join the new URI with. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>uri</p></td>
<td class="parameter_description"><p>The URI string to parse.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.7.6"></a><h4>Returns</h4>
<p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-copy"></a><h3>gst_uri_copy ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_copy (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Create a new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object with the same data as this <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object.
If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then returns <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.56.7.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>uri</p></td>
<td class="parameter_description"><p>This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.8.6"></a><h4>Returns</h4>
<p> A new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object which is a copy of this
<a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></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-uri-equal"></a><h3>gst_uri_equal ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_equal (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *first</code></em>,
<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *second</code></em>);</pre>
<p>Compares two <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> objects to see if they represent the same normalized
URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>first</p></td>
<td class="parameter_description"><p>First <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to compare.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>second</p></td>
<td class="parameter_description"><p>Second <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to compare.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.9.6"></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 the normalized versions of the two URI's would be equal.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-join"></a><h3>gst_uri_join ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_join (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *base_uri</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *ref_uri</code></em>);</pre>
<p>Join a reference URI onto a base URI using the method from RFC 3986.
If either URI is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then the other URI will be returned with the ref count
increased.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>base_uri</p></td>
<td class="parameter_description"><p> The base URI to join another to. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>ref_uri</p></td>
<td class="parameter_description"><p> The reference URI to join onto the
base URI. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.10.6"></a><h4>Returns</h4>
<p> A <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> which represents the base with the
reference URI joined on. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-join-strings"></a><h3>gst_uri_join_strings ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_uri_join_strings (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *base_uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *ref_uri</code></em>);</pre>
<p>This is a convenience function to join two URI strings and return the result.
The returned string should be <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d after use.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>base_uri</p></td>
<td class="parameter_description"><p>The percent-encoded base URI.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ref_uri</p></td>
<td class="parameter_description"><p>The percent-encoded reference URI to join to the <em class="parameter"><code>base_uri</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.11.6"></a><h4>Returns</h4>
<p> A string representing the percent-encoded join of
the two URIs. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-is-writable"></a><h3>gst_uri_is_writable ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_is_writable (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Check if it is safe to write to this <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a>.</p>
<p>Check if the refcount of <em class="parameter"><code>uri</code></em>
is exactly 1, meaning that no other
reference exists to the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> and that the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> is therefore writable.</p>
<p>Modification of a <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> should only be done after verifying that it is
writable.</p>
<div class="refsect3">
<a name="id-1.3.56.7.12.7"></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>uri</p></td>
<td class="parameter_description"><p>The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object to test.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.12.8"></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 it is safe to write to the object.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-make-writable"></a><h3>gst_uri_make_writable ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_make_writable (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Make the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> writable.</p>
<p>Checks if <em class="parameter"><code>uri</code></em>
is writable, and if so the original object is returned. If
not, then a writable copy is made and returned. This gives away the
reference to <em class="parameter"><code>uri</code></em>
and returns a reference to the new <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a>.
If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object 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.56.7.13.7"></a><h4>Returns</h4>
<p> A writable version of <em class="parameter"><code>uri</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>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-to-string"></a><h3>gst_uri_to_string ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_uri_to_string (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Convert the URI to a string.</p>
<p>Returns the URI as held in this object as a gchar* <code class="literal">NUL</code> terminated string.
The caller should <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> the string once they are finished with it.
The string is put together as described in RFC 3986.</p>
<div class="refsect3">
<a name="id-1.3.56.7.14.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>uri</p></td>
<td class="parameter_description"><p>This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to convert to a string.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.14.7"></a><h4>Returns</h4>
<p> The string version of the URI. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-ref"></a><h3>gst_uri_ref ()</h3>
<pre class="programlisting"><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="returnvalue">GstUri</span></a> *
gst_uri_ref (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Add a reference to this <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. See <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-ref" title="gst_mini_object_ref ()"><code class="function">gst_mini_object_ref()</code></a> for further
info.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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.56.7.15.6"></a><h4>Returns</h4>
<p> This object with the reference count incremented.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-unref"></a><h3>gst_uri_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_uri_unref (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Decrement the reference count to this <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object.</p>
<p>If the reference count drops to 0 then finalize this object.</p>
<p>See <a class="link" href="gstreamer-GstMiniObject.html#gst-mini-object-unref" title="gst_mini_object_unref ()"><code class="function">gst_mini_object_unref()</code></a> for further info.</p>
<div class="refsect3">
<a name="id-1.3.56.7.16.7"></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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </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>
<hr>
<div class="refsect2">
<a name="gst-uri-is-normalized"></a><h3>gst_uri_is_normalized ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_is_normalized (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Tests the <em class="parameter"><code>uri</code></em>
to see if it is normalized. A <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>uri</code></em>
is considered to be
normalized.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p>The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to test to see if it is normalized.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.17.6"></a><h4>Returns</h4>
<p> TRUE if the URI is normalized or is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-normalize"></a><h3>gst_uri_normalize ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_normalize (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Normalization will remove extra path segments ("." and "..") from the URI. It
will also convert the scheme and host name to lower case and any
percent-encoded values to uppercase.</p>
<p>The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object must be writable. Check with <a class="link" href="gstreamer-GstUri.html#gst-uri-is-writable" title="gst_uri_is_writable ()"><code class="function">gst_uri_is_writable()</code></a> or use
<a class="link" href="gstreamer-GstUri.html#gst-uri-make-writable" title="gst_uri_make_writable ()"><code class="function">gst_uri_make_writable()</code></a> first.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to normalize. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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.56.7.18.7"></a><h4>Returns</h4>
<p> TRUE if the URI was modified.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-scheme"></a><h3>gst_uri_get_scheme ()</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_uri_get_scheme (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get the scheme name from the URI or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't exist.
If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then returns <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.56.7.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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.19.6"></a><h4>Returns</h4>
<p> The scheme from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-scheme"></a><h3>gst_uri_set_scheme ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_scheme (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *scheme</code></em>);</pre>
<p>Set or unset the scheme for the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.20.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>scheme</p></td>
<td class="parameter_description"><p>The new scheme to set or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset the scheme.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.20.6"></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 the scheme was set/unset successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-userinfo"></a><h3>gst_uri_get_userinfo ()</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_uri_get_userinfo (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get the userinfo (usually in the form "username:password") from the URI
or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't exist. If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then returns <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.56.7.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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.21.6"></a><h4>Returns</h4>
<p> The userinfo from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-userinfo"></a><h3>gst_uri_set_userinfo ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_userinfo (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *userinfo</code></em>);</pre>
<p>Set or unset the user information for the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>userinfo</p></td>
<td class="parameter_description"><p>The new user-information string to set or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.22.6"></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 the user information was set/unset successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-host"></a><h3>gst_uri_get_host ()</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_uri_get_host (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get the host name from the URI or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't exist.
If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then returns <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.56.7.23.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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.23.6"></a><h4>Returns</h4>
<p> The host name from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-host"></a><h3>gst_uri_set_host ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_host (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *host</code></em>);</pre>
<p>Set or unset the host for the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>host</p></td>
<td class="parameter_description"><p>The new host string to set or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.24.6"></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 the host was set/unset successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-port"></a><h3>gst_uri_get_port ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
gst_uri_get_port (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get the port number from the URI or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a> if it doesn't exist.
If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then returns <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a>.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.25.6"></a><h4>Returns</h4>
<p> The port number from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a>.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-port"></a><h3>gst_uri_set_port ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_port (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</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> port</code></em>);</pre>
<p>Set or unset the port number for the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.26.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>port</p></td>
<td class="parameter_description"><p>The new port number to set or <a class="link" href="gstreamer-GstUriHandler.html#GST-URI-NO-PORT:CAPS" title="GST_URI_NO_PORT"><code class="literal">GST_URI_NO_PORT</code></a> to unset.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.26.6"></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 the port number was set/unset successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-path"></a><h3>gst_uri_get_path ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_uri_get_path (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Extract the path string from the URI object.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p>The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to get the path from.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.27.6"></a><h4>Returns</h4>
<p> The path from the URI. Once finished with the
string should be <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-path"></a><h3>gst_uri_set_path ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_path (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);</pre>
<p>Sets or unsets the path in the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>path</p></td>
<td class="parameter_description"><p>The new path to set with path segments separated by '/', or use <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
to unset the path.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.28.6"></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 the path was set successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-path-string"></a><h3>gst_uri_get_path_string ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_uri_get_path_string (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Extract the path string from the URI object as a percent encoded URI path.</p>
<div class="refsect3">
<a name="id-1.3.56.7.29.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>uri</p></td>
<td class="parameter_description"><p>The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to get the path from.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.29.6"></a><h4>Returns</h4>
<p> The path from the URI. Once finished with the
string should be <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-path-string"></a><h3>gst_uri_set_path_string ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_path_string (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);</pre>
<p>Sets or unsets the path in the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>path</p></td>
<td class="parameter_description"><p>The new percent encoded path to set with path segments separated by
'/', or use <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset the path.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.30.6"></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 the path was set successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-path-segments"></a><h3>gst_uri_get_path_segments ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
gst_uri_get_path_segments (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get a list of path segments from the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to get the path from. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.31.6"></a><h4>Returns</h4>
<p> A <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of path segment
strings or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no path segments are available. Free the list
when no longer needed with g_list_free_full(list, g_free). </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-path-segments"></a><h3>gst_uri_set_path_segments ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_path_segments (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *path_segments</code></em>);</pre>
<p>Replace the path segments list in the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.32.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>path_segments</p></td>
<td class="parameter_description"><p> The new
path list to set. </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>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.32.6"></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 the path segments were set successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-append-path"></a><h3>gst_uri_append_path ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_append_path (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *relative_path</code></em>);</pre>
<p>Append a path onto the end of the path in the URI. The path is not
normalized, call <a class="link" href="gstreamer-GstUri.html#gst-uri-normalize" title="gst_uri_normalize ()"><code class="function">gst_uri_normalize()</code></a> to normalize the path.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>relative_path</p></td>
<td class="parameter_description"><p>Relative path to append to the end of the current path.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.33.6"></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 the path was appended successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-append-path-segment"></a><h3>gst_uri_append_path_segment ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_append_path_segment (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path_segment</code></em>);</pre>
<p>Append a single path segment onto the end of the URI path.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>path_segment</p></td>
<td class="parameter_description"><p>The path segment string to append to the URI path.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.34.6"></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 the path was appended successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-query-string"></a><h3>gst_uri_get_query_string ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_uri_get_query_string (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get a percent encoded URI query string from the <em class="parameter"><code>uri</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.56.7.35.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to get the query string from. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.35.6"></a><h4>Returns</h4>
<p> A percent encoded query string. Use <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when
no longer needed. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-query-string"></a><h3>gst_uri_set_query_string ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_query_string (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query</code></em>);</pre>
<p>Sets or unsets the query table in the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>query</p></td>
<td class="parameter_description"><p>The new percent encoded query string to use to populate the query
table, or use <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to unset the query table.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.36.6"></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 the query table was set successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-query-table"></a><h3>gst_uri_get_query_table ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="returnvalue">GHashTable</span></a> *
gst_uri_get_query_table (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get the query table from the URI. Keys and values in the table are freed
with g_free when they are deleted. A value may be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to indicate that
the key should appear in the query string in the URI, but does not have a
value. Free the returned <a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> with <a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#g-hash-table-unref"><code class="function"><GTKDOCLINK HREF="g-hash-table-unref"><code class="function">g_hash_table_unref()</code></a></code></GTKDOCLINK> when it is
no longer required. Modifying this hash table will modify the query in the
URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to get the query table from. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.37.6"></a><h4>Returns</h4>
<p> The query hash table
from the URI. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar* gchar*]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-query-table"></a><h3>gst_uri_set_query_table ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_query_table (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *query_table</code></em>);</pre>
<p>Set the query table to use in the URI. The old table is unreferenced and a
reference to the new one is used instead. A value if <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for <em class="parameter"><code>query_table</code></em>
will remove the query string from the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>query_table</p></td>
<td class="parameter_description"><p> The new
query table to use. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar* gchar*]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.38.6"></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 the new table was sucessfully used for the query table.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-query-value"></a><h3>gst_uri_get_query_value ()</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_uri_get_query_value (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query_key</code></em>);</pre>
<p>Get the value associated with the <em class="parameter"><code>query_key</code></em>
key. Will return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
key has no value or if the key does not exist in the URI query table. Because
<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned for both missing keys and keys with no value, you should
use <a class="link" href="gstreamer-GstUri.html#gst-uri-query-has-key" title="gst_uri_query_has_key ()"><code class="function">gst_uri_query_has_key()</code></a> to determine if a key is present in the URI
query.</p>
<div class="refsect3">
<a name="id-1.3.56.7.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to examine. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>query_key</p></td>
<td class="parameter_description"><p>The key to lookup.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.39.6"></a><h4>Returns</h4>
<p> The value for the given key, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-query-value"></a><h3>gst_uri_set_query_value ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_query_value (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query_key</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query_value</code></em>);</pre>
<p>This inserts or replaces a key in the query table. A <em class="parameter"><code>query_value</code></em>
of <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
indicates that the key has no associated value, but will still be present in
the query string.</p>
<div class="refsect3">
<a name="id-1.3.56.7.40.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>query_key</p></td>
<td class="parameter_description"><p> The key for the query entry. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>query_value</p></td>
<td class="parameter_description"><p> The value for the key. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.40.6"></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 the query table was sucessfully updated.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-remove-query-key"></a><h3>gst_uri_remove_query_key ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_remove_query_key (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query_key</code></em>);</pre>
<p>Remove an entry from the query table by key.</p>
<div class="refsect3">
<a name="id-1.3.56.7.41.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>query_key</p></td>
<td class="parameter_description"><p>The key to remove.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.41.6"></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 the key existed in the table and was removed.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-query-has-key"></a><h3>gst_uri_query_has_key ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_query_has_key (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *query_key</code></em>);</pre>
<p>Check if there is a query table entry for the <em class="parameter"><code>query_key</code></em>
key.</p>
<div class="refsect3">
<a name="id-1.3.56.7.42.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to examine. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>query_key</p></td>
<td class="parameter_description"><p>The key to lookup.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.42.6"></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>query_key</code></em>
exists in the URI query table.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-query-keys"></a><h3>gst_uri_get_query_keys ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
gst_uri_get_query_keys (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get a list of the query keys from the URI.</p>
<div class="refsect3">
<a name="id-1.3.56.7.43.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to examine. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.43.6"></a><h4>Returns</h4>
<p> A list of keys from
the URI query. Free the list with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gchar*]</span></p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-get-fragment"></a><h3>gst_uri_get_fragment ()</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_uri_get_fragment (<em class="parameter"><code>const <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>);</pre>
<p>Get the fragment name from the URI or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't exist.
If <em class="parameter"><code>uri</code></em>
is <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then returns <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.56.7.44.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>uri</p></td>
<td class="parameter_description"><p> This <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.44.6"></a><h4>Returns</h4>
<p> The host name from the <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-uri-set-fragment"></a><h3>gst_uri_set_fragment ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_uri_set_fragment (<em class="parameter"><code><a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> *uri</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fragment</code></em>);</pre>
<p>Sets the fragment string in the URI. Use a value of <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in <em class="parameter"><code>fragment</code></em>
to
unset the fragment string.</p>
<div class="refsect3">
<a name="id-1.3.56.7.45.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>uri</p></td>
<td class="parameter_description"><p> The <a class="link" href="gstreamer-GstUri.html#GstUri" title="GstUri"><span class="type">GstUri</span></a> to modify. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</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>fragment</p></td>
<td class="parameter_description"><p> The fragment string to set. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.56.7.45.6"></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 the fragment was set/unset successfully.</p>
</div>
<p class="since">Since: 1.6</p>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-GstUri.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstUri"></a><h3>GstUri</h3>
<pre class="programlisting">typedef struct _GstUri GstUri;</pre>
<p>This is a private structure that holds the various parts of a parsed URI.</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>