# GstUriHandler

The GstURIHandler is an interface that is implemented by Source and Sink GstElement to unify handling of URI.

An application can use the following functions to quickly get an element that handles the given URI for reading or writing (gst_element_make_from_uri).

Source and Sink plugins should implement this interface when possible.

## GstURIHandler

Opaque GstURIHandler structure.

## Gst.URIHandler

Opaque Gst.URIHandler structure.

## Gst.URIHandler

Opaque Gst.URIHandler structure.

### Methods

#### gst_uri_handler_get_protocols

    const gchar*const **
    gst_uri_handler_get_protocols (GstURIHandler * handler)

Gets the list of protocols supported by handler. This list may not be modified.

Parameters:

`handler` –

A GstURIHandler.

Returns ( [transfer: none][element-type utf8][nullable][array zero-terminated=1]) –

the supported protocols. Returns NULL if the handler isn't implemented properly, or the handler doesn't support any protocols.

#### Gst.URIHandler.prototype.get_protocols

    function Gst.URIHandler.prototype.get_protocols(): {
        // javascript wrapper for 'gst_uri_handler_get_protocols'
    }

Gets the list of protocols supported by handler. This list may not be modified.

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler.

Returns ([ String ]) –

the supported protocols. Returns null if the handler isn't implemented properly, or the handler doesn't support any protocols.

#### Gst.URIHandler.get_protocols

    def Gst.URIHandler.get_protocols (self):
        #python wrapper for 'gst_uri_handler_get_protocols'

Gets the list of protocols supported by handler. This list may not be modified.

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler.

Returns ([ str ]) –

the supported protocols. Returns None if the handler isn't implemented properly, or the handler doesn't support any protocols.

#### gst_uri_handler_get_uri

    gchar *
    gst_uri_handler_get_uri (GstURIHandler * handler)

Gets the currently handled URI.

Parameters:

`handler` –

A GstURIHandler

Returns ( [transfer: full][nullable]) –

the URI currently handled by the handler. Returns NULL if there are no URI currently handled. The returned string must be freed with g_free when no longer needed.

#### Gst.URIHandler.prototype.get_uri

    function Gst.URIHandler.prototype.get_uri(): {
        // javascript wrapper for 'gst_uri_handler_get_uri'
    }

Gets the currently handled URI.

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler

Returns (String) –

the URI currently handled by the handler. Returns null if there are no URI currently handled. The returned string must be freed with GLib.prototype.free when no longer needed.

#### Gst.URIHandler.get_uri

    def Gst.URIHandler.get_uri (self):
        #python wrapper for 'gst_uri_handler_get_uri'

Gets the currently handled URI.

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler

Returns (str) –

the URI currently handled by the handler. Returns None if there are no URI currently handled. The returned string must be freed with GLib.free when no longer needed.

#### gst_uri_handler_get_uri_type

    GstURIType
    gst_uri_handler_get_uri_type (GstURIHandler * handler)

Gets the type of the given URI handler

Parameters:

`handler` –

A GstURIHandler.

Returns –

the GstURIType of the URI handler. Returns GST_URI_UNKNOWN if the handler isn't implemented correctly.

#### Gst.URIHandler.prototype.get_uri_type

    function Gst.URIHandler.prototype.get_uri_type(): {
        // javascript wrapper for 'gst_uri_handler_get_uri_type'
    }

Gets the type of the given URI handler

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler.

Returns (Gst.URIType) –

the Gst.URIType of the URI handler. Returns Gst.URIType.UNKNOWN if the handler isn't implemented correctly.

#### Gst.URIHandler.get_uri_type

    def Gst.URIHandler.get_uri_type (self):
        #python wrapper for 'gst_uri_handler_get_uri_type'

Gets the type of the given URI handler

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler.

Returns (Gst.URIType) –

the Gst.URIType of the URI handler. Returns Gst.URIType.UNKNOWN if the handler isn't implemented correctly.

#### gst_uri_handler_set_uri

    gboolean
    gst_uri_handler_set_uri (GstURIHandler * handler,
                             const gchar * uri,
                             GError ** error)

Tries to set the URI of the given handler.

Parameters:

`handler` –

A GstURIHandler

`uri` –

URI to set

`error` –

address where to store a GError in case of an error, or NULL

Returns –

TRUE if the URI was set successfully, else FALSE.

#### Gst.URIHandler.prototype.set_uri

    function Gst.URIHandler.prototype.set_uri(uri: String): {
        // javascript wrapper for 'gst_uri_handler_set_uri'
    }

Tries to set the URI of the given handler.

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler

`uri` (String) –

URI to set

Returns (Number) –

true if the URI was set successfully, else false.

#### Gst.URIHandler.set_uri

    @raises(GLib.GError)
    def Gst.URIHandler.set_uri (self, uri):
        #python wrapper for 'gst_uri_handler_set_uri'

Tries to set the URI of the given handler.

Parameters:

`handler` (Gst.URIHandler) –

A Gst.URIHandler

`uri` (str) –

URI to set

Returns (bool) –

True if the URI was set successfully, else False.

### Virtual Methods

#### get_uri

    gchar *
    get_uri (GstURIHandler * handler)

Method to return the URI currently handled by the element.

Parameters:

`handler` –
No description available
Returns –
No description available

#### vfunc_get_uri

    function vfunc_get_uri(handler: Gst.URIHandler): {
        // javascript implementation of the 'get_uri' virtual method
    }

Method to return the URI currently handled by the element.

Parameters:

`handler` (Gst.URIHandler) –
No description available
Returns (String) –
No description available

#### do_get_uri

    def do_get_uri (handler):
        #python implementation of the 'get_uri' virtual method

Method to return the URI currently handled by the element.

Parameters:

`handler` (Gst.URIHandler) –
No description available
Returns (str) –
No description available

#### set_uri

    gboolean
    set_uri (GstURIHandler * handler,
             const gchar * uri,
             GError ** error)

Method to set a new URI.

Parameters:

`handler` –
No description available
`uri` –
No description available
`error` –
No description available
Returns –
No description available

#### vfunc_set_uri

    function vfunc_set_uri(handler: Gst.URIHandler, uri: String): {
        // javascript implementation of the 'set_uri' virtual method
    }

Method to set a new URI.

Parameters:

`handler` (Gst.URIHandler) –
No description available
`uri` (String) –
No description available
Returns (Number) –
No description available

#### do_set_uri

    def do_set_uri (handler, uri):
        #python implementation of the 'set_uri' virtual method

Method to set a new URI.

Parameters:

`handler` (Gst.URIHandler) –
No description available
`uri` (str) –
No description available
Returns (bool) –
No description available

## GstUri

This is a private structure that holds the various parts of a parsed URI.

## Gst.Uri

This is a private structure that holds the various parts of a parsed URI.

## Gst.Uri

This is a private structure that holds the various parts of a parsed URI.

### Constructors

#### gst_uri_new

    GstUri *
    gst_uri_new (const gchar * scheme,
                 const gchar * userinfo,
                 const gchar * host,
                 guint port,
                 const gchar * path,
                 const gchar * query,
                 const gchar * fragment)

Creates a new GstUri 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.

Parameters:

`scheme` ( [nullable]) –

The scheme for the new URI.

`userinfo` ( [nullable]) –

The user-info for the new URI.

`host` ( [nullable]) –

The host name for the new URI.

`port` –

The port number for the new URI or GST_URI_NO_PORT.

`path` ( [nullable]) –

The path for the new URI with '/' separating path elements.

`query` ( [nullable]) –

The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "%26".

`fragment` ( [nullable]) –

The fragment name for the new URI.

Returns ( [transfer: full]) –

A new GstUri object.

Since : 1.6

#### Gst.Uri.prototype.new

    function Gst.Uri.prototype.new(scheme: String, userinfo: String, host: String, port: Number, path: String, query: String, fragment: String): {
        // javascript wrapper for 'gst_uri_new'
    }

Creates a new Gst.Uri 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.

Parameters:

`scheme` (String) –

The scheme for the new URI.

`userinfo` (String) –

The user-info for the new URI.

`host` (String) –

The host name for the new URI.

`port` (Number) –

The port number for the new URI or Gst.URI_NO_PORT.

`path` (String) –

The path for the new URI with '/' separating path elements.

`query` (String) –

The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "%26".

`fragment` (String) –

The fragment name for the new URI.

Returns (Gst.Uri) –

A new Gst.Uri object.

Since : 1.6

#### Gst.Uri.new

    def Gst.Uri.new (scheme, userinfo, host, port, path, query, fragment):
        #python wrapper for 'gst_uri_new'

Creates a new Gst.Uri 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.

Parameters:

`scheme` (str) –

The scheme for the new URI.

`userinfo` (str) –

The user-info for the new URI.

`host` (str) –

The host name for the new URI.

`port` (int) –

The port number for the new URI or Gst.URI_NO_PORT.

`path` (str) –

The path for the new URI with '/' separating path elements.

`query` (str) –

The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "%26".

`fragment` (str) –

The fragment name for the new URI.

Returns (Gst.Uri) –

A new Gst.Uri object.

Since : 1.6

### Methods

#### gst_uri_append_path

    gboolean
    gst_uri_append_path (GstUri * uri,
                         const gchar * relative_path)

Append a path onto the end of the path in the URI. The path is not normalized, call gst_uri_normalize() to normalize the path.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`relative_path` ( [nullable]) –

Relative path to append to the end of the current path.

Returns –

TRUE if the path was appended successfully.

Since : 1.6

#### Gst.Uri.prototype.append_path

    function Gst.Uri.prototype.append_path(relative_path: String): {
        // javascript wrapper for 'gst_uri_append_path'
    }

Append a path onto the end of the path in the URI. The path is not normalized, call Gst.Uri.prototype.normalize() to normalize the path.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`relative_path` (String) –

Relative path to append to the end of the current path.

Returns (Number) –

true if the path was appended successfully.

Since : 1.6

#### Gst.Uri.append_path

    def Gst.Uri.append_path (self, relative_path):
        #python wrapper for 'gst_uri_append_path'

Append a path onto the end of the path in the URI. The path is not normalized, call Gst.Uri.normalize() to normalize the path.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`relative_path` (str) –

Relative path to append to the end of the current path.

Returns (bool) –

True if the path was appended successfully.

Since : 1.6

#### gst_uri_append_path_segment

    gboolean
    gst_uri_append_path_segment (GstUri * uri,
                                 const gchar * path_segment)

Append a single path segment onto the end of the URI path.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`path_segment` ( [nullable]) –

The path segment string to append to the URI path.

Returns –

TRUE if the path was appended successfully.

Since : 1.6

#### Gst.Uri.prototype.append_path_segment

    function Gst.Uri.prototype.append_path_segment(path_segment: String): {
        // javascript wrapper for 'gst_uri_append_path_segment'
    }

Append a single path segment onto the end of the URI path.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path_segment` (String) –

The path segment string to append to the URI path.

Returns (Number) –

true if the path was appended successfully.

Since : 1.6

#### Gst.Uri.append_path_segment

    def Gst.Uri.append_path_segment (self, path_segment):
        #python wrapper for 'gst_uri_append_path_segment'

Append a single path segment onto the end of the URI path.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path_segment` (str) –

The path segment string to append to the URI path.

Returns (bool) –

True if the path was appended successfully.

Since : 1.6

#### gst_uri_copy

    GstUri *
    gst_uri_copy (const GstUri * uri)

Create a new GstUri object with the same data as this GstUri object. If uri is NULL then returns NULL.

Parameters:

`uri` –

This GstUri object.

Returns ( [transfer: full]) –

A new GstUri object which is a copy of this GstUri or NULL.

Since : 1.6

#### Gst.Uri.prototype.copy

    function Gst.Uri.prototype.copy(): {
        // javascript wrapper for 'gst_uri_copy'
    }

Create a new Gst.Uri object with the same data as this Gst.Uri object. If uri is null then returns null.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (Gst.Uri) –

A new Gst.Uri object which is a copy of this Gst.Uri or null.

Since : 1.6

#### Gst.Uri.copy

    def Gst.Uri.copy (self):
        #python wrapper for 'gst_uri_copy'

Create a new Gst.Uri object with the same data as this Gst.Uri object. If uri is None then returns None.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (Gst.Uri) –

A new Gst.Uri object which is a copy of this Gst.Uri or None.

Since : 1.6

#### gst_uri_equal

    gboolean
    gst_uri_equal (const GstUri * first,
                   const GstUri * second)

Compares two GstUri objects to see if they represent the same normalized URI.

Parameters:

`first` –

First GstUri to compare.

`second` –

Second GstUri to compare.

Returns –

TRUE if the normalized versions of the two URI's would be equal.

Since : 1.6

#### Gst.Uri.prototype.equal

    function Gst.Uri.prototype.equal(second: Gst.Uri): {
        // javascript wrapper for 'gst_uri_equal'
    }

Compares two Gst.Uri objects to see if they represent the same normalized URI.

Parameters:

`first` (Gst.Uri) –

First Gst.Uri to compare.

`second` (Gst.Uri) –

Second Gst.Uri to compare.

Returns (Number) –

true if the normalized versions of the two URI's would be equal.

Since : 1.6

#### Gst.Uri.equal

    def Gst.Uri.equal (self, second):
        #python wrapper for 'gst_uri_equal'

Compares two Gst.Uri objects to see if they represent the same normalized URI.

Parameters:

`first` (Gst.Uri) –

First Gst.Uri to compare.

`second` (Gst.Uri) –

Second Gst.Uri to compare.

Returns (bool) –

True if the normalized versions of the two URI's would be equal.

Since : 1.6

#### gst_uri_from_string_with_base

    GstUri *
    gst_uri_from_string_with_base (GstUri * base,
                                   const gchar * uri)

Like gst_uri_from_string but also joins with a base URI.

Parameters:

`base` ( [transfer: none][nullable]) –

The base URI to join the new URI with.

`uri` –

The URI string to parse.

Returns ( [transfer: full][nullable]) –

A new GstUri object.

Since : 1.6

#### Gst.Uri.prototype.from_string_with_base

    function Gst.Uri.prototype.from_string_with_base(uri: String): {
        // javascript wrapper for 'gst_uri_from_string_with_base'
    }

Like Gst.prototype.uri_from_string but also joins with a base URI.

Parameters:

`base` (Gst.Uri) –

The base URI to join the new URI with.

`uri` (String) –

The URI string to parse.

Returns (Gst.Uri) –

A new Gst.Uri object.

Since : 1.6

#### Gst.Uri.from_string_with_base

    def Gst.Uri.from_string_with_base (self, uri):
        #python wrapper for 'gst_uri_from_string_with_base'

Like Gst.uri_from_string but also joins with a base URI.

Parameters:

`base` (Gst.Uri) –

The base URI to join the new URI with.

`uri` (str) –

The URI string to parse.

Returns (Gst.Uri) –

A new Gst.Uri object.

Since : 1.6

#### gst_uri_get_fragment

    const gchar *
    gst_uri_get_fragment (const GstUri * uri)

Get the fragment name from the URI or NULL if it doesn't exist. If uri is NULL then returns NULL.

Parameters:

`uri` ( [nullable]) –

This GstUri object.

Returns ( [nullable]) –

The host name from the GstUri object or NULL.

Since : 1.6

#### Gst.Uri.prototype.get_fragment

    function Gst.Uri.prototype.get_fragment(): {
        // javascript wrapper for 'gst_uri_get_fragment'
    }

Get the fragment name from the URI or null if it doesn't exist. If uri is null then returns null.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (String) –

The host name from the Gst.Uri object or null.

Since : 1.6

#### Gst.Uri.get_fragment

    def Gst.Uri.get_fragment (self):
        #python wrapper for 'gst_uri_get_fragment'

Get the fragment name from the URI or None if it doesn't exist. If uri is None then returns None.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (str) –

The host name from the Gst.Uri object or None.

Since : 1.6

#### gst_uri_get_host

    const gchar *
    gst_uri_get_host (const GstUri * uri)

Get the host name from the URI or NULL if it doesn't exist. If uri is NULL then returns NULL.

Parameters:

`uri` ( [nullable]) –

This GstUri object.

Returns ( [nullable]) –

The host name from the GstUri object or NULL.

Since : 1.6

#### Gst.Uri.prototype.get_host

    function Gst.Uri.prototype.get_host(): {
        // javascript wrapper for 'gst_uri_get_host'
    }

Get the host name from the URI or null if it doesn't exist. If uri is null then returns null.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (String) –

The host name from the Gst.Uri object or null.

Since : 1.6

#### Gst.Uri.get_host

    def Gst.Uri.get_host (self):
        #python wrapper for 'gst_uri_get_host'

Get the host name from the URI or None if it doesn't exist. If uri is None then returns None.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (str) –

The host name from the Gst.Uri object or None.

Since : 1.6

#### gst_uri_get_media_fragment_table

    GHashTable *
    gst_uri_get_media_fragment_table (const GstUri * uri)

Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0". Hash table returned by this API is a list of "key-value" pairs, and the each pair is generated by splitting "URI fragment" per "&" sub-delims, then "key" and "value" are split by "=" sub-delims. The "key" returned by this API may be undefined keyword by standard. A value may be NULL to indicate that the key should appear in the fragment string in the URI, but does not have a value. Free the returned GHashTable with g_hash_table_unref() when it is no longer required. Modifying this hash table does not affect the fragment in the URI.

See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/

Parameters:

`uri` ( [nullable]) –

The GstUri to get the fragment table from.

Returns ( [transfer: full][element-type gchar*][nullable]) –

The fragment hash table from the URI.

Since : 1.12

#### Gst.Uri.prototype.get_media_fragment_table

    function Gst.Uri.prototype.get_media_fragment_table(): {
        // javascript wrapper for 'gst_uri_get_media_fragment_table'
    }

Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0". Hash table returned by this API is a list of "key-value" pairs, and the each pair is generated by splitting "URI fragment" per "&" sub-delims, then "key" and "value" are split by "=" sub-delims. The "key" returned by this API may be undefined keyword by standard. A value may be null to indicate that the key should appear in the fragment string in the URI, but does not have a value. Free the returned GHashTable (not introspectable) with GLib.prototype.hash_table_unref() when it is no longer required. Modifying this hash table does not affect the fragment in the URI.

See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the fragment table from.

Returns (GHashTable (not introspectable)) –

The fragment hash table from the URI.

Since : 1.12

#### Gst.Uri.get_media_fragment_table

    def Gst.Uri.get_media_fragment_table (self):
        #python wrapper for 'gst_uri_get_media_fragment_table'

Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0". Hash table returned by this API is a list of "key-value" pairs, and the each pair is generated by splitting "URI fragment" per "&" sub-delims, then "key" and "value" are split by "=" sub-delims. The "key" returned by this API may be undefined keyword by standard. A value may be None to indicate that the key should appear in the fragment string in the URI, but does not have a value. Free the returned GHashTable (not introspectable) with GLib.hash_table_unref() when it is no longer required. Modifying this hash table does not affect the fragment in the URI.

See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the fragment table from.

Returns (GHashTable (not introspectable)) –

The fragment hash table from the URI.

Since : 1.12

#### gst_uri_get_path

    gchar *
    gst_uri_get_path (const GstUri * uri)

Extract the path string from the URI object.

Parameters:

`uri` ( [nullable]) –

The GstUri to get the path from.

Returns ( [transfer: full][nullable]) –

The path from the URI. Once finished with the string should be g_free'd.

Since : 1.6

#### Gst.Uri.prototype.get_path

    function Gst.Uri.prototype.get_path(): {
        // javascript wrapper for 'gst_uri_get_path'
    }

Extract the path string from the URI object.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the path from.

Returns (String) –

The path from the URI. Once finished with the string should be GLib.prototype.free'd.

Since : 1.6

#### Gst.Uri.get_path

    def Gst.Uri.get_path (self):
        #python wrapper for 'gst_uri_get_path'

Extract the path string from the URI object.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the path from.

Returns (str) –

The path from the URI. Once finished with the string should be GLib.free'd.

Since : 1.6

#### gst_uri_get_path_segments

    GList *
    gst_uri_get_path_segments (const GstUri * uri)

Get a list of path segments from the URI.

Parameters:

`uri` ( [nullable]) –

The GstUri to get the path from.

Returns ( [transfer: full][element-type gchar*]) –

A GList of path segment strings or NULL if no path segments are available. Free the list when no longer needed with g_list_free_full(list, g_free).

Since : 1.6

#### Gst.Uri.prototype.get_path_segments

    function Gst.Uri.prototype.get_path_segments(): {
        // javascript wrapper for 'gst_uri_get_path_segments'
    }

Get a list of path segments from the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the path from.

Returns ([ String ]) –

A GLib.List of path segment strings or null if no path segments are available. Free the list when no longer needed with g_list_free_full(list, g_free).

Since : 1.6

#### Gst.Uri.get_path_segments

    def Gst.Uri.get_path_segments (self):
        #python wrapper for 'gst_uri_get_path_segments'

Get a list of path segments from the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the path from.

Returns ([ str ]) –

A GLib.List of path segment strings or None if no path segments are available. Free the list when no longer needed with g_list_free_full(list, g_free).

Since : 1.6

#### gst_uri_get_path_string

    gchar *
    gst_uri_get_path_string (const GstUri * uri)

Extract the path string from the URI object as a percent encoded URI path.

Parameters:

`uri` ( [nullable]) –

The GstUri to get the path from.

Returns ( [transfer: full][nullable]) –

The path from the URI. Once finished with the string should be g_free'd.

Since : 1.6

#### Gst.Uri.prototype.get_path_string

    function Gst.Uri.prototype.get_path_string(): {
        // javascript wrapper for 'gst_uri_get_path_string'
    }

Extract the path string from the URI object as a percent encoded URI path.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the path from.

Returns (String) –

The path from the URI. Once finished with the string should be GLib.prototype.free'd.

Since : 1.6

#### Gst.Uri.get_path_string

    def Gst.Uri.get_path_string (self):
        #python wrapper for 'gst_uri_get_path_string'

Extract the path string from the URI object as a percent encoded URI path.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the path from.

Returns (str) –

The path from the URI. Once finished with the string should be GLib.free'd.

Since : 1.6

#### gst_uri_get_port

    guint
    gst_uri_get_port (const GstUri * uri)

Get the port number from the URI or GST_URI_NO_PORT if it doesn't exist. If uri is NULL then returns GST_URI_NO_PORT.

Parameters:

`uri` ( [nullable]) –

This GstUri object.

Returns –

The port number from the GstUri object or GST_URI_NO_PORT.

Since : 1.6

#### Gst.Uri.prototype.get_port

    function Gst.Uri.prototype.get_port(): {
        // javascript wrapper for 'gst_uri_get_port'
    }

Get the port number from the URI or Gst.URI_NO_PORT if it doesn't exist. If uri is null then returns Gst.URI_NO_PORT.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (Number) –

The port number from the Gst.Uri object or Gst.URI_NO_PORT.

Since : 1.6

#### Gst.Uri.get_port

    def Gst.Uri.get_port (self):
        #python wrapper for 'gst_uri_get_port'

Get the port number from the URI or Gst.URI_NO_PORT if it doesn't exist. If uri is None then returns Gst.URI_NO_PORT.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (int) –

The port number from the Gst.Uri object or Gst.URI_NO_PORT.

Since : 1.6

#### gst_uri_get_query_keys

    GList *
    gst_uri_get_query_keys (const GstUri * uri)

Get a list of the query keys from the URI.

Parameters:

`uri` ( [nullable]) –

The GstUri to examine.

Returns ( [transfer: container][element-type gchar*]) –

A list of keys from the URI query. Free the list with g_list_free.

Since : 1.6

#### Gst.Uri.prototype.get_query_keys

    function Gst.Uri.prototype.get_query_keys(): {
        // javascript wrapper for 'gst_uri_get_query_keys'
    }

Get a list of the query keys from the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to examine.

Returns ([ String ]) –

A list of keys from the URI query. Free the list with g_list_free (not introspectable).

Since : 1.6

#### Gst.Uri.get_query_keys

    def Gst.Uri.get_query_keys (self):
        #python wrapper for 'gst_uri_get_query_keys'

Get a list of the query keys from the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to examine.

Returns ([ str ]) –

A list of keys from the URI query. Free the list with g_list_free (not introspectable).

Since : 1.6

#### gst_uri_get_query_string

    gchar *
    gst_uri_get_query_string (const GstUri * uri)

Get a percent encoded URI query string from the uri.

Parameters:

`uri` ( [nullable]) –

The GstUri to get the query string from.

Returns ( [transfer: full][nullable]) –

A percent encoded query string. Use g_free when no longer needed.

Since : 1.6

#### Gst.Uri.prototype.get_query_string

    function Gst.Uri.prototype.get_query_string(): {
        // javascript wrapper for 'gst_uri_get_query_string'
    }

Get a percent encoded URI query string from the uri.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the query string from.

Returns (String) –

A percent encoded query string. Use GLib.prototype.free when no longer needed.

Since : 1.6

#### Gst.Uri.get_query_string

    def Gst.Uri.get_query_string (self):
        #python wrapper for 'gst_uri_get_query_string'

Get a percent encoded URI query string from the uri.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the query string from.

Returns (str) –

A percent encoded query string. Use GLib.free when no longer needed.

Since : 1.6

#### gst_uri_get_query_string_ordered

    gchar *
    gst_uri_get_query_string_ordered (const GstUri * uri,
                                      const GList * keys)

Get a percent encoded URI query string from the uri, with query parameters in the order provided by the keys list. Only parameter keys in the list will be added to the resulting URI string. This method can be used by retrieving the keys with gst_uri_get_query_keys and then sorting the list, for example.

Parameters:

`uri` ( [nullable]) –

The GstUri to get the query string from.

`keys` ( [transfer: none][nullable][element-type utf8]) –

A GList containing the query argument key strings.

Returns ( [transfer: full][nullable]) –

A percent encoded query string. Use g_free when no longer needed.

Since : 1.24

#### Gst.Uri.prototype.get_query_string_ordered

    function Gst.Uri.prototype.get_query_string_ordered(keys: [ String ]): {
        // javascript wrapper for 'gst_uri_get_query_string_ordered'
    }

Get a percent encoded URI query string from the uri, with query parameters in the order provided by the keys list. Only parameter keys in the list will be added to the resulting URI string. This method can be used by retrieving the keys with Gst.Uri.prototype.get_query_keys and then sorting the list, for example.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the query string from.

`keys` ([ String ]) –

A GList containing the query argument key strings.

Returns (String) –

A percent encoded query string. Use GLib.prototype.free when no longer needed.

Since : 1.24

#### Gst.Uri.get_query_string_ordered

    def Gst.Uri.get_query_string_ordered (self, keys):
        #python wrapper for 'gst_uri_get_query_string_ordered'

Get a percent encoded URI query string from the uri, with query parameters in the order provided by the keys list. Only parameter keys in the list will be added to the resulting URI string. This method can be used by retrieving the keys with Gst.Uri.get_query_keys and then sorting the list, for example.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the query string from.

`keys` ([ str ]) –

A GList containing the query argument key strings.

Returns (str) –

A percent encoded query string. Use GLib.free when no longer needed.

Since : 1.24

#### gst_uri_get_query_table

    GHashTable *
    gst_uri_get_query_table (const GstUri * uri)

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 NULL to indicate that the key should appear in the query string in the URI, but does not have a value. Free the returned GHashTable with g_hash_table_unref() when it is no longer required. Modifying this hash table will modify the query in the URI.

Parameters:

`uri` ( [nullable]) –

The GstUri to get the query table from.

Returns ( [transfer: full][element-type gchar*][nullable]) –

The query hash table from the URI.

Since : 1.6

#### Gst.Uri.prototype.get_query_table

    function Gst.Uri.prototype.get_query_table(): {
        // javascript wrapper for 'gst_uri_get_query_table'
    }

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 null to indicate that the key should appear in the query string in the URI, but does not have a value. Free the returned GHashTable (not introspectable) with GLib.prototype.hash_table_unref() when it is no longer required. Modifying this hash table will modify the query in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the query table from.

Returns (GHashTable (not introspectable)) –

The query hash table from the URI.

Since : 1.6

#### Gst.Uri.get_query_table

    def Gst.Uri.get_query_table (self):
        #python wrapper for 'gst_uri_get_query_table'

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 None to indicate that the key should appear in the query string in the URI, but does not have a value. Free the returned GHashTable (not introspectable) with GLib.hash_table_unref() when it is no longer required. Modifying this hash table will modify the query in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to get the query table from.

Returns (GHashTable (not introspectable)) –

The query hash table from the URI.

Since : 1.6

#### gst_uri_get_query_value

    const gchar *
    gst_uri_get_query_value (const GstUri * uri,
                             const gchar * query_key)

Get the value associated with the query_key key. Will return NULL if the key has no value or if the key does not exist in the URI query table. Because NULL is returned for both missing keys and keys with no value, you should use gst_uri_query_has_key to determine if a key is present in the URI query.

Parameters:

`uri` ( [nullable]) –

The GstUri to examine.

`query_key` –

The key to lookup.

Returns ( [nullable]) –

The value for the given key, or NULL if not found.

Since : 1.6

#### Gst.Uri.prototype.get_query_value

    function Gst.Uri.prototype.get_query_value(query_key: String): {
        // javascript wrapper for 'gst_uri_get_query_value'
    }

Get the value associated with the query_key key. Will return null if the key has no value or if the key does not exist in the URI query table. Because null is returned for both missing keys and keys with no value, you should use Gst.Uri.prototype.query_has_key to determine if a key is present in the URI query.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to examine.

`query_key` (String) –

The key to lookup.

Returns (String) –

The value for the given key, or null if not found.

Since : 1.6

#### Gst.Uri.get_query_value

    def Gst.Uri.get_query_value (self, query_key):
        #python wrapper for 'gst_uri_get_query_value'

Get the value associated with the query_key key. Will return None if the key has no value or if the key does not exist in the URI query table. Because None is returned for both missing keys and keys with no value, you should use Gst.Uri.query_has_key to determine if a key is present in the URI query.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to examine.

`query_key` (str) –

The key to lookup.

Returns (str) –

The value for the given key, or None if not found.

Since : 1.6

#### gst_uri_get_scheme

    const gchar *
    gst_uri_get_scheme (const GstUri * uri)

Get the scheme name from the URI or NULL if it doesn't exist. If uri is NULL then returns NULL.

Parameters:

`uri` ( [nullable]) –

This GstUri object.

Returns ( [nullable]) –

The scheme from the GstUri object or NULL.

#### Gst.Uri.prototype.get_scheme

    function Gst.Uri.prototype.get_scheme(): {
        // javascript wrapper for 'gst_uri_get_scheme'
    }

Get the scheme name from the URI or null if it doesn't exist. If uri is null then returns null.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (String) –

The scheme from the Gst.Uri object or null.

#### Gst.Uri.get_scheme

    def Gst.Uri.get_scheme (self):
        #python wrapper for 'gst_uri_get_scheme'

Get the scheme name from the URI or None if it doesn't exist. If uri is None then returns None.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (str) –

The scheme from the Gst.Uri object or None.

#### gst_uri_get_userinfo

    const gchar *
    gst_uri_get_userinfo (const GstUri * uri)

Get the userinfo (usually in the form "username:password") from the URI or NULL if it doesn't exist. If uri is NULL then returns NULL.

Parameters:

`uri` ( [nullable]) –

This GstUri object.

Returns ( [nullable]) –

The userinfo from the GstUri object or NULL.

Since : 1.6

#### Gst.Uri.prototype.get_userinfo

    function Gst.Uri.prototype.get_userinfo(): {
        // javascript wrapper for 'gst_uri_get_userinfo'
    }

Get the userinfo (usually in the form "username:password") from the URI or null if it doesn't exist. If uri is null then returns null.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (String) –

The userinfo from the Gst.Uri object or null.

Since : 1.6

#### Gst.Uri.get_userinfo

    def Gst.Uri.get_userinfo (self):
        #python wrapper for 'gst_uri_get_userinfo'

Get the userinfo (usually in the form "username:password") from the URI or None if it doesn't exist. If uri is None then returns None.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (str) –

The userinfo from the Gst.Uri object or None.

Since : 1.6

#### gst_uri_is_normalized

    gboolean
    gst_uri_is_normalized (const GstUri * uri)

Tests the uri to see if it is normalized. A NULL uri is considered to be normalized.

Parameters:

`uri` ( [nullable]) –

The GstUri to test to see if it is normalized.

Returns –

TRUE if the URI is normalized or is NULL.

Since : 1.6

#### Gst.Uri.prototype.is_normalized

    function Gst.Uri.prototype.is_normalized(): {
        // javascript wrapper for 'gst_uri_is_normalized'
    }

Tests the uri to see if it is normalized. A null uri is considered to be normalized.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to test to see if it is normalized.

Returns (Number) –

TRUE if the URI is normalized or is null.

Since : 1.6

#### Gst.Uri.is_normalized

    def Gst.Uri.is_normalized (self):
        #python wrapper for 'gst_uri_is_normalized'

Tests the uri to see if it is normalized. A None uri is considered to be normalized.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to test to see if it is normalized.

Returns (bool) –

TRUE if the URI is normalized or is None.

Since : 1.6

#### gst_uri_is_writable

    gboolean
    gst_uri_is_writable (const GstUri * uri)

Check if it is safe to write to this GstUri.

Check if the refcount of uri is exactly 1, meaning that no other reference exists to the GstUri and that the GstUri is therefore writable.

Modification of a GstUri should only be done after verifying that it is writable.

Parameters:

`uri` –

The GstUri object to test.

Returns –

TRUE if it is safe to write to the object.

Since : 1.6

#### Gst.Uri.prototype.is_writable

    function Gst.Uri.prototype.is_writable(): {
        // javascript wrapper for 'gst_uri_is_writable'
    }

Check if it is safe to write to this Gst.Uri.

Check if the refcount of uri is exactly 1, meaning that no other reference exists to the Gst.Uri and that the Gst.Uri is therefore writable.

Modification of a Gst.Uri should only be done after verifying that it is writable.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri object to test.

Returns (Number) –

true if it is safe to write to the object.

Since : 1.6

#### Gst.Uri.is_writable

    def Gst.Uri.is_writable (self):
        #python wrapper for 'gst_uri_is_writable'

Check if it is safe to write to this Gst.Uri.

Check if the refcount of uri is exactly 1, meaning that no other reference exists to the Gst.Uri and that the Gst.Uri is therefore writable.

Modification of a Gst.Uri should only be done after verifying that it is writable.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri object to test.

Returns (bool) –

True if it is safe to write to the object.

Since : 1.6

#### gst_uri_join

    GstUri *
    gst_uri_join (GstUri * base_uri,
                  GstUri * ref_uri)

Join a reference URI onto a base URI using the method from RFC 3986. If either URI is NULL then the other URI will be returned with the ref count increased.

Parameters:

`base_uri` ( [transfer: none][nullable]) –

The base URI to join another to.

`ref_uri` ( [transfer: none][nullable]) –

The reference URI to join onto the base URI.

Returns ( [transfer: full][nullable]) –

A GstUri which represents the base with the reference URI joined on.

Since : 1.6

#### Gst.Uri.prototype.join

    function Gst.Uri.prototype.join(ref_uri: Gst.Uri): {
        // javascript wrapper for 'gst_uri_join'
    }

Join a reference URI onto a base URI using the method from RFC 3986. If either URI is null then the other URI will be returned with the ref count increased.

Parameters:

`base_uri` (Gst.Uri) –

The base URI to join another to.

`ref_uri` (Gst.Uri) –

The reference URI to join onto the base URI.

Returns (Gst.Uri) –

A Gst.Uri which represents the base with the reference URI joined on.

Since : 1.6

#### Gst.Uri.join

    def Gst.Uri.join (self, ref_uri):
        #python wrapper for 'gst_uri_join'

Join a reference URI onto a base URI using the method from RFC 3986. If either URI is None then the other URI will be returned with the ref count increased.

Parameters:

`base_uri` (Gst.Uri) –

The base URI to join another to.

`ref_uri` (Gst.Uri) –

The reference URI to join onto the base URI.

Returns (Gst.Uri) –

A Gst.Uri which represents the base with the reference URI joined on.

Since : 1.6

#### gst_uri_make_writable

    GstUri *
    gst_uri_make_writable (GstUri * uri)

Make the GstUri writable.

Checks if uri 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 uri and returns a reference to the new GstUri. If uri is NULL then NULL is returned.

Parameters:

`uri` ( [transfer: full]) –

The GstUri object to make writable.

Returns ( [transfer: full]) –

A writable version of uri.

Since : 1.6

#### Gst.Uri.prototype.make_writable

    function Gst.Uri.prototype.make_writable(): {
        // javascript wrapper for 'gst_uri_make_writable'
    }

Make the Gst.Uri writable.

Checks if uri 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 uri and returns a reference to the new Gst.Uri. If uri is null then null is returned.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri object to make writable.

Returns (Gst.Uri) –

A writable version of uri.

Since : 1.6

#### Gst.Uri.make_writable

    def Gst.Uri.make_writable (self):
        #python wrapper for 'gst_uri_make_writable'

Make the Gst.Uri writable.

Checks if uri 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 uri and returns a reference to the new Gst.Uri. If uri is None then None is returned.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri object to make writable.

Returns (Gst.Uri) –

A writable version of uri.

Since : 1.6

#### gst_uri_new_with_base

    GstUri *
    gst_uri_new_with_base (GstUri * base,
                           const gchar * scheme,
                           const gchar * userinfo,
                           const gchar * host,
                           guint port,
                           const gchar * path,
                           const gchar * query,
                           const gchar * fragment)

Like gst_uri_new, but joins the new URI onto a base URI.

Parameters:

`base` ( [transfer: none][nullable]) –

The base URI to join the new URI to.

`scheme` ( [nullable]) –

The scheme for the new URI.

`userinfo` ( [nullable]) –

The user-info for the new URI.

`host` ( [nullable]) –

The host name for the new URI.

`port` –

The port number for the new URI or GST_URI_NO_PORT.

`path` ( [nullable]) –

The path for the new URI with '/' separating path elements.

`query` ( [nullable]) –

The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "%26".

`fragment` ( [nullable]) –

The fragment name for the new URI.

Returns ( [transfer: full]) –

The new URI joined onto base.

Since : 1.6

#### Gst.Uri.prototype.new_with_base

    function Gst.Uri.prototype.new_with_base(scheme: String, userinfo: String, host: String, port: Number, path: String, query: String, fragment: String): {
        // javascript wrapper for 'gst_uri_new_with_base'
    }

Like Gst.Uri.prototype.new, but joins the new URI onto a base URI.

Parameters:

`base` (Gst.Uri) –

The base URI to join the new URI to.

`scheme` (String) –

The scheme for the new URI.

`userinfo` (String) –

The user-info for the new URI.

`host` (String) –

The host name for the new URI.

`port` (Number) –

The port number for the new URI or Gst.URI_NO_PORT.

`path` (String) –

The path for the new URI with '/' separating path elements.

`query` (String) –

The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "%26".

`fragment` (String) –

The fragment name for the new URI.

Returns (Gst.Uri) –

The new URI joined onto base.

Since : 1.6

#### Gst.Uri.new_with_base

    def Gst.Uri.new_with_base (self, scheme, userinfo, host, port, path, query, fragment):
        #python wrapper for 'gst_uri_new_with_base'

Like Gst.Uri.new, but joins the new URI onto a base URI.

Parameters:

`base` (Gst.Uri) –

The base URI to join the new URI to.

`scheme` (str) –

The scheme for the new URI.

`userinfo` (str) –

The user-info for the new URI.

`host` (str) –

The host name for the new URI.

`port` (int) –

The port number for the new URI or Gst.URI_NO_PORT.

`path` (str) –

The path for the new URI with '/' separating path elements.

`query` (str) –

The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "%26".

`fragment` (str) –

The fragment name for the new URI.

Returns (Gst.Uri) –

The new URI joined onto base.

Since : 1.6

#### gst_uri_normalize

    gboolean
    gst_uri_normalize (GstUri * uri)

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.

The GstUri object must be writable. Check with gst_uri_is_writable or use gst_uri_make_writable first.

Parameters:

`uri` ( [transfer: none]) –

The GstUri to normalize.

Returns –

TRUE if the URI was modified.

Since : 1.6

#### Gst.Uri.prototype.normalize

    function Gst.Uri.prototype.normalize(): {
        // javascript wrapper for 'gst_uri_normalize'
    }

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.

The Gst.Uri object must be writable. Check with Gst.Uri.prototype.is_writable or use Gst.Uri.prototype.make_writable first.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to normalize.

Returns (Number) –

TRUE if the URI was modified.

Since : 1.6

#### Gst.Uri.normalize

    def Gst.Uri.normalize (self):
        #python wrapper for 'gst_uri_normalize'

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.

The Gst.Uri object must be writable. Check with Gst.Uri.is_writable or use Gst.Uri.make_writable first.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to normalize.

Returns (bool) –

TRUE if the URI was modified.

Since : 1.6

#### gst_uri_query_has_key

    gboolean
    gst_uri_query_has_key (const GstUri * uri,
                           const gchar * query_key)

Check if there is a query table entry for the query_key key.

Parameters:

`uri` ( [nullable]) –

The GstUri to examine.

`query_key` –

The key to lookup.

Returns –

TRUE if query_key exists in the URI query table.

Since : 1.6

#### Gst.Uri.prototype.query_has_key

    function Gst.Uri.prototype.query_has_key(query_key: String): {
        // javascript wrapper for 'gst_uri_query_has_key'
    }

Check if there is a query table entry for the query_key key.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to examine.

`query_key` (String) –

The key to lookup.

Returns (Number) –

true if query_key exists in the URI query table.

Since : 1.6

#### Gst.Uri.query_has_key

    def Gst.Uri.query_has_key (self, query_key):
        #python wrapper for 'gst_uri_query_has_key'

Check if there is a query table entry for the query_key key.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to examine.

`query_key` (str) –

The key to lookup.

Returns (bool) –

True if query_key exists in the URI query table.

Since : 1.6

#### gst_uri_ref

    GstUri *
    gst_uri_ref (GstUri * uri)

Add a reference to this GstUri object. See gst_mini_object_ref for further info.

Parameters:

`uri` ( [transfer: none]) –

This GstUri object.

Returns –

This object with the reference count incremented.

Since : 1.6

#### Gst.Uri.prototype.ref

    function Gst.Uri.prototype.ref(): {
        // javascript wrapper for 'gst_uri_ref'
    }

Add a reference to this Gst.Uri object. See gst_mini_object_ref (not introspectable) for further info.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (Gst.Uri) –

This object with the reference count incremented.

Since : 1.6

#### Gst.Uri.ref

    def Gst.Uri.ref (self):
        #python wrapper for 'gst_uri_ref'

Add a reference to this Gst.Uri object. See gst_mini_object_ref (not introspectable) for further info.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Returns (Gst.Uri) –

This object with the reference count incremented.

Since : 1.6

#### gst_uri_remove_query_key

    gboolean
    gst_uri_remove_query_key (GstUri * uri,
                              const gchar * query_key)

Remove an entry from the query table by key.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`query_key` –

The key to remove.

Returns –

TRUE if the key existed in the table and was removed.

Since : 1.6

#### Gst.Uri.prototype.remove_query_key

    function Gst.Uri.prototype.remove_query_key(query_key: String): {
        // javascript wrapper for 'gst_uri_remove_query_key'
    }

Remove an entry from the query table by key.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query_key` (String) –

The key to remove.

Returns (Number) –

true if the key existed in the table and was removed.

Since : 1.6

#### Gst.Uri.remove_query_key

    def Gst.Uri.remove_query_key (self, query_key):
        #python wrapper for 'gst_uri_remove_query_key'

Remove an entry from the query table by key.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query_key` (str) –

The key to remove.

Returns (bool) –

True if the key existed in the table and was removed.

Since : 1.6

#### gst_uri_set_fragment

    gboolean
    gst_uri_set_fragment (GstUri * uri,
                          const gchar * fragment)

Sets the fragment string in the URI. Use a value of NULL in fragment to unset the fragment string.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`fragment` ( [nullable]) –

The fragment string to set.

Returns –

TRUE if the fragment was set/unset successfully.

Since : 1.6

#### Gst.Uri.prototype.set_fragment

    function Gst.Uri.prototype.set_fragment(fragment: String): {
        // javascript wrapper for 'gst_uri_set_fragment'
    }

Sets the fragment string in the URI. Use a value of null in fragment to unset the fragment string.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`fragment` (String) –

The fragment string to set.

Returns (Number) –

true if the fragment was set/unset successfully.

Since : 1.6

#### Gst.Uri.set_fragment

    def Gst.Uri.set_fragment (self, fragment):
        #python wrapper for 'gst_uri_set_fragment'

Sets the fragment string in the URI. Use a value of None in fragment to unset the fragment string.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`fragment` (str) –

The fragment string to set.

Returns (bool) –

True if the fragment was set/unset successfully.

Since : 1.6

#### gst_uri_set_host

    gboolean
    gst_uri_set_host (GstUri * uri,
                      const gchar * host)

Set or unset the host for the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`host` –

The new host string to set or NULL to unset.

Returns –

TRUE if the host was set/unset successfully.

Since : 1.6

#### Gst.Uri.prototype.set_host

    function Gst.Uri.prototype.set_host(host: String): {
        // javascript wrapper for 'gst_uri_set_host'
    }

Set or unset the host for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`host` (String) –

The new host string to set or null to unset.

Returns (Number) –

true if the host was set/unset successfully.

Since : 1.6

#### Gst.Uri.set_host

    def Gst.Uri.set_host (self, host):
        #python wrapper for 'gst_uri_set_host'

Set or unset the host for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`host` (str) –

The new host string to set or None to unset.

Returns (bool) –

True if the host was set/unset successfully.

Since : 1.6

#### gst_uri_set_path

    gboolean
    gst_uri_set_path (GstUri * uri,
                      const gchar * path)

Sets or unsets the path in the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`path` ( [nullable]) –

The new path to set with path segments separated by '/', or use NULL to unset the path.

Returns –

TRUE if the path was set successfully.

Since : 1.6

#### Gst.Uri.prototype.set_path

    function Gst.Uri.prototype.set_path(path: String): {
        // javascript wrapper for 'gst_uri_set_path'
    }

Sets or unsets the path in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path` (String) –

The new path to set with path segments separated by '/', or use null to unset the path.

Returns (Number) –

true if the path was set successfully.

Since : 1.6

#### Gst.Uri.set_path

    def Gst.Uri.set_path (self, path):
        #python wrapper for 'gst_uri_set_path'

Sets or unsets the path in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path` (str) –

The new path to set with path segments separated by '/', or use None to unset the path.

Returns (bool) –

True if the path was set successfully.

Since : 1.6

#### gst_uri_set_path_segments

    gboolean
    gst_uri_set_path_segments (GstUri * uri,
                               GList * path_segments)

Replace the path segments list in the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`path_segments` ( [transfer: full][nullable][element-type gchar*]) –

The new path list to set.

Returns –

TRUE if the path segments were set successfully.

Since : 1.6

#### Gst.Uri.prototype.set_path_segments

    function Gst.Uri.prototype.set_path_segments(path_segments: [ String ]): {
        // javascript wrapper for 'gst_uri_set_path_segments'
    }

Replace the path segments list in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path_segments` ([ String ]) –

The new path list to set.

Returns (Number) –

true if the path segments were set successfully.

Since : 1.6

#### Gst.Uri.set_path_segments

    def Gst.Uri.set_path_segments (self, path_segments):
        #python wrapper for 'gst_uri_set_path_segments'

Replace the path segments list in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path_segments` ([ str ]) –

The new path list to set.

Returns (bool) –

True if the path segments were set successfully.

Since : 1.6

#### gst_uri_set_path_string

    gboolean
    gst_uri_set_path_string (GstUri * uri,
                             const gchar * path)

Sets or unsets the path in the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`path` –

The new percent encoded path to set with path segments separated by '/', or use NULL to unset the path.

Returns –

TRUE if the path was set successfully.

Since : 1.6

#### Gst.Uri.prototype.set_path_string

    function Gst.Uri.prototype.set_path_string(path: String): {
        // javascript wrapper for 'gst_uri_set_path_string'
    }

Sets or unsets the path in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path` (String) –

The new percent encoded path to set with path segments separated by '/', or use null to unset the path.

Returns (Number) –

true if the path was set successfully.

Since : 1.6

#### Gst.Uri.set_path_string

    def Gst.Uri.set_path_string (self, path):
        #python wrapper for 'gst_uri_set_path_string'

Sets or unsets the path in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`path` (str) –

The new percent encoded path to set with path segments separated by '/', or use None to unset the path.

Returns (bool) –

True if the path was set successfully.

Since : 1.6

#### gst_uri_set_port

    gboolean
    gst_uri_set_port (GstUri * uri,
                      guint port)

Set or unset the port number for the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`port` –

The new port number to set or GST_URI_NO_PORT to unset.

Returns –

TRUE if the port number was set/unset successfully.

Since : 1.6

#### Gst.Uri.prototype.set_port

    function Gst.Uri.prototype.set_port(port: Number): {
        // javascript wrapper for 'gst_uri_set_port'
    }

Set or unset the port number for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`port` (Number) –

The new port number to set or Gst.URI_NO_PORT to unset.

Returns (Number) –

true if the port number was set/unset successfully.

Since : 1.6

#### Gst.Uri.set_port

    def Gst.Uri.set_port (self, port):
        #python wrapper for 'gst_uri_set_port'

Set or unset the port number for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`port` (int) –

The new port number to set or Gst.URI_NO_PORT to unset.

Returns (bool) –

True if the port number was set/unset successfully.

Since : 1.6

#### gst_uri_set_query_string

    gboolean
    gst_uri_set_query_string (GstUri * uri,
                              const gchar * query)

Sets or unsets the query table in the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`query` ( [nullable]) –

The new percent encoded query string to use to populate the query table, or use NULL to unset the query table.

Returns –

TRUE if the query table was set successfully.

Since : 1.6

#### Gst.Uri.prototype.set_query_string

    function Gst.Uri.prototype.set_query_string(query: String): {
        // javascript wrapper for 'gst_uri_set_query_string'
    }

Sets or unsets the query table in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query` (String) –

The new percent encoded query string to use to populate the query table, or use null to unset the query table.

Returns (Number) –

true if the query table was set successfully.

Since : 1.6

#### Gst.Uri.set_query_string

    def Gst.Uri.set_query_string (self, query):
        #python wrapper for 'gst_uri_set_query_string'

Sets or unsets the query table in the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query` (str) –

The new percent encoded query string to use to populate the query table, or use None to unset the query table.

Returns (bool) –

True if the query table was set successfully.

Since : 1.6

#### gst_uri_set_query_table

    gboolean
    gst_uri_set_query_table (GstUri * uri,
                             GHashTable * query_table)

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 NULL for query_table will remove the query string from the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`query_table` ( [transfer: none][nullable][element-type gchar*]) –

The new query table to use.

Returns –

TRUE if the new table was successfully used for the query table.

Since : 1.6

#### Gst.Uri.prototype.set_query_table

    function Gst.Uri.prototype.set_query_table(query_table: GHashTable (not introspectable)): {
        // javascript wrapper for 'gst_uri_set_query_table'
    }

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 null for query_table will remove the query string from the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query_table` (GHashTable (not introspectable)) –

The new query table to use.

Returns (Number) –

true if the new table was successfully used for the query table.

Since : 1.6

#### Gst.Uri.set_query_table

    def Gst.Uri.set_query_table (self, query_table):
        #python wrapper for 'gst_uri_set_query_table'

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 None for query_table will remove the query string from the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query_table` (GHashTable (not introspectable)) –

The new query table to use.

Returns (bool) –

True if the new table was successfully used for the query table.

Since : 1.6

#### gst_uri_set_query_value

    gboolean
    gst_uri_set_query_value (GstUri * uri,
                             const gchar * query_key,
                             const gchar * query_value)

This inserts or replaces a key in the query table. A query_value of NULL indicates that the key has no associated value, but will still be present in the query string.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`query_key` ( [transfer: none]) –

The key for the query entry.

`query_value` ( [transfer: none][nullable]) –

The value for the key.

Returns –

TRUE if the query table was successfully updated.

Since : 1.6

#### Gst.Uri.prototype.set_query_value

    function Gst.Uri.prototype.set_query_value(query_key: String, query_value: String): {
        // javascript wrapper for 'gst_uri_set_query_value'
    }

This inserts or replaces a key in the query table. A query_value of null indicates that the key has no associated value, but will still be present in the query string.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query_key` (String) –

The key for the query entry.

`query_value` (String) –

The value for the key.

Returns (Number) –

true if the query table was successfully updated.

Since : 1.6

#### Gst.Uri.set_query_value

    def Gst.Uri.set_query_value (self, query_key, query_value):
        #python wrapper for 'gst_uri_set_query_value'

This inserts or replaces a key in the query table. A query_value of None indicates that the key has no associated value, but will still be present in the query string.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`query_key` (str) –

The key for the query entry.

`query_value` (str) –

The value for the key.

Returns (bool) –

True if the query table was successfully updated.

Since : 1.6

#### gst_uri_set_scheme

    gboolean
    gst_uri_set_scheme (GstUri * uri,
                        const gchar * scheme)

Set or unset the scheme for the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`scheme` –

The new scheme to set or NULL to unset the scheme.

Returns –

TRUE if the scheme was set/unset successfully.

Since : 1.6

#### Gst.Uri.prototype.set_scheme

    function Gst.Uri.prototype.set_scheme(scheme: String): {
        // javascript wrapper for 'gst_uri_set_scheme'
    }

Set or unset the scheme for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`scheme` (String) –

The new scheme to set or null to unset the scheme.

Returns (Number) –

true if the scheme was set/unset successfully.

Since : 1.6

#### Gst.Uri.set_scheme

    def Gst.Uri.set_scheme (self, scheme):
        #python wrapper for 'gst_uri_set_scheme'

Set or unset the scheme for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`scheme` (str) –

The new scheme to set or None to unset the scheme.

Returns (bool) –

True if the scheme was set/unset successfully.

Since : 1.6

#### gst_uri_set_userinfo

    gboolean
    gst_uri_set_userinfo (GstUri * uri,
                          const gchar * userinfo)

Set or unset the user information for the URI.

Parameters:

`uri` ( [transfer: none][nullable]) –

The GstUri to modify.

`userinfo` –

The new user-information string to set or NULL to unset.

Returns –

TRUE if the user information was set/unset successfully.

Since : 1.6

#### Gst.Uri.prototype.set_userinfo

    function Gst.Uri.prototype.set_userinfo(userinfo: String): {
        // javascript wrapper for 'gst_uri_set_userinfo'
    }

Set or unset the user information for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`userinfo` (String) –

The new user-information string to set or null to unset.

Returns (Number) –

true if the user information was set/unset successfully.

Since : 1.6

#### Gst.Uri.set_userinfo

    def Gst.Uri.set_userinfo (self, userinfo):
        #python wrapper for 'gst_uri_set_userinfo'

Set or unset the user information for the URI.

Parameters:

`uri` (Gst.Uri) –

The Gst.Uri to modify.

`userinfo` (str) –

The new user-information string to set or None to unset.

Returns (bool) –

True if the user information was set/unset successfully.

Since : 1.6

#### gst_uri_to_string

    gchar *
    gst_uri_to_string (const GstUri * uri)

Convert the URI to a string.

Returns the URI as held in this object as a gchar* nul-terminated string. The caller should g_free the string once they are finished with it. The string is put together as described in RFC 3986.

Parameters:

`uri` –

This GstUri to convert to a string.

Returns ( [transfer: full]) –

The string version of the URI.

Since : 1.6

#### Gst.Uri.prototype.to_string

    function Gst.Uri.prototype.to_string(): {
        // javascript wrapper for 'gst_uri_to_string'
    }

Convert the URI to a string.

Returns the URI as held in this object as a String* nul-terminated string. The caller should GLib.prototype.free the string once they are finished with it. The string is put together as described in RFC 3986.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri to convert to a string.

Returns (String) –

The string version of the URI.

Since : 1.6

#### Gst.Uri.to_string

    def Gst.Uri.to_string (self):
        #python wrapper for 'gst_uri_to_string'

Convert the URI to a string.

Returns the URI as held in this object as a int* nul-terminated string. The caller should GLib.free the string once they are finished with it. The string is put together as described in RFC 3986.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri to convert to a string.

Returns (str) –

The string version of the URI.

Since : 1.6

#### gst_uri_to_string_with_keys

    gchar *
    gst_uri_to_string_with_keys (const GstUri * uri,
                                 const GList * keys)

Convert the URI to a string, with the query arguments in a specific order. Only the keys in the keys list will be added to the resulting string.

Returns the URI as held in this object as a gchar* nul-terminated string. The caller should g_free the string once they are finished with it. The string is put together as described in RFC 3986.

Parameters:

`uri` ( [nullable]) –

This GstUri to convert to a string.

`keys` ( [transfer: none][nullable][element-type utf8]) –

A GList containing the query argument key strings.

Returns ( [transfer: full]) –

The string version of the URI.

Since : 1.24

#### Gst.Uri.prototype.to_string_with_keys

    function Gst.Uri.prototype.to_string_with_keys(keys: [ String ]): {
        // javascript wrapper for 'gst_uri_to_string_with_keys'
    }

Convert the URI to a string, with the query arguments in a specific order. Only the keys in the keys list will be added to the resulting string.

Returns the URI as held in this object as a String* nul-terminated string. The caller should GLib.prototype.free the string once they are finished with it. The string is put together as described in RFC 3986.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri to convert to a string.

`keys` ([ String ]) –

A GList containing the query argument key strings.

Returns (String) –

The string version of the URI.

Since : 1.24

#### Gst.Uri.to_string_with_keys

    def Gst.Uri.to_string_with_keys (self, keys):
        #python wrapper for 'gst_uri_to_string_with_keys'

Convert the URI to a string, with the query arguments in a specific order. Only the keys in the keys list will be added to the resulting string.

Returns the URI as held in this object as a int* nul-terminated string. The caller should GLib.free the string once they are finished with it. The string is put together as described in RFC 3986.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri to convert to a string.

`keys` ([ str ]) –

A GList containing the query argument key strings.

Returns (str) –

The string version of the URI.

Since : 1.24

#### gst_uri_unref

    gst_uri_unref (GstUri * uri)

Decrement the reference count to this GstUri object.

If the reference count drops to 0 then finalize this object.

See gst_mini_object_unref for further info.

Parameters:

`uri` ( [transfer: full]) –

This GstUri object.

Since : 1.6

#### Gst.Uri.prototype.unref

    function Gst.Uri.prototype.unref(): {
        // javascript wrapper for 'gst_uri_unref'
    }

Decrement the reference count to this Gst.Uri object.

If the reference count drops to 0 then finalize this object.

See gst_mini_object_unref (not introspectable) for further info.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Since : 1.6

#### Gst.Uri.unref

    def Gst.Uri.unref (self):
        #python wrapper for 'gst_uri_unref'

Decrement the reference count to this Gst.Uri object.

If the reference count drops to 0 then finalize this object.

See gst_mini_object_unref (not introspectable) for further info.

Parameters:

`uri` (Gst.Uri) –

This Gst.Uri object.

Since : 1.6

### Functions

#### gst_uri_construct

    gchar *
    gst_uri_construct (const gchar * protocol,
                       const gchar * location)

Constructs a URI for a given valid protocol and location.

Free-function: g_free

Parameters:

`protocol` –

Protocol for URI

`location` ( [transfer: none]) –

Location for URI

Returns ( [transfer: full]) –

a new string for this URI.

deprecated : Use GstURI instead.

#### Gst.prototype.uri_construct

    function Gst.prototype.uri_construct(protocol: String, location: String): {
        // javascript wrapper for 'gst_uri_construct'
    }

Constructs a URI for a given valid protocol and location.

Free-function: g_free

Parameters:

`protocol` (String) –

Protocol for URI

`location` (String) –

Location for URI

Returns (String) –

a new string for this URI.

deprecated : Use GstURI instead.

#### Gst.uri_construct

    def Gst.uri_construct (protocol, location):
        #python wrapper for 'gst_uri_construct'

Constructs a URI for a given valid protocol and location.

Free-function: g_free

Parameters:

`protocol` (str) –

Protocol for URI

`location` (str) –

Location for URI

Returns (str) –

a new string for this URI.

deprecated : Use GstURI instead.

#### gst_uri_from_string

    GstUri *
    gst_uri_from_string (const gchar * uri)

Parses a URI string into a new GstUri object. Will return NULL if the URI cannot be parsed.

Parameters:

`uri` –

The URI string to parse.

Returns ( [transfer: full][nullable]) –

A new GstUri object, or NULL.

Since : 1.6

#### Gst.prototype.uri_from_string

    function Gst.prototype.uri_from_string(uri: String): {
        // javascript wrapper for 'gst_uri_from_string'
    }

Parses a URI string into a new Gst.Uri object. Will return NULL if the URI cannot be parsed.

Parameters:

`uri` (String) –

The URI string to parse.

Returns (Gst.Uri) –

A new Gst.Uri object, or NULL.

Since : 1.6

#### Gst.uri_from_string

    def Gst.uri_from_string (uri):
        #python wrapper for 'gst_uri_from_string'

Parses a URI string into a new Gst.Uri object. Will return NULL if the URI cannot be parsed.

Parameters:

`uri` (str) –

The URI string to parse.

Returns (Gst.Uri) –

A new Gst.Uri object, or NULL.

Since : 1.6

#### gst_uri_from_string_escaped

    GstUri *
    gst_uri_from_string_escaped (const gchar * uri)

Parses a URI string into a new GstUri object. Will return NULL if the URI cannot be parsed. This is identical to gst_uri_from_string except that the userinfo and fragment components of the URI will not be unescaped while parsing.

Use this when you need to extract a username and password from the userinfo such as https://user:password@example.com since either may contain a URI-escaped ':' character. gst_uri_from_string will unescape the entire userinfo component, which will make it impossible to know which ':' delineates the username and password.

The same applies to the fragment component of the URI, such as https://example.com/path#fragment which may contain a URI-escaped '#'.

Parameters:

`uri` –

The URI string to parse.

Returns ( [transfer: full][nullable]) –

A new GstUri object, or NULL.

Since : 1.18

#### Gst.prototype.uri_from_string_escaped

    function Gst.prototype.uri_from_string_escaped(uri: String): {
        // javascript wrapper for 'gst_uri_from_string_escaped'
    }

Parses a URI string into a new Gst.Uri object. Will return NULL if the URI cannot be parsed. This is identical to Gst.prototype.uri_from_string except that the userinfo and fragment components of the URI will not be unescaped while parsing.

Use this when you need to extract a username and password from the userinfo such as https://user:password@example.com since either may contain a URI-escaped ':' character. Gst.prototype.uri_from_string will unescape the entire userinfo component, which will make it impossible to know which ':' delineates the username and password.

The same applies to the fragment component of the URI, such as https://example.com/path#fragment which may contain a URI-escaped '#'.

Parameters:

`uri` (String) –

The URI string to parse.

Returns (Gst.Uri) –

A new Gst.Uri object, or NULL.

Since : 1.18

#### Gst.uri_from_string_escaped

    def Gst.uri_from_string_escaped (uri):
        #python wrapper for 'gst_uri_from_string_escaped'

Parses a URI string into a new Gst.Uri object. Will return NULL if the URI cannot be parsed. This is identical to Gst.uri_from_string except that the userinfo and fragment components of the URI will not be unescaped while parsing.

Use this when you need to extract a username and password from the userinfo such as https://user:password@example.com since either may contain a URI-escaped ':' character. Gst.uri_from_string will unescape the entire userinfo component, which will make it impossible to know which ':' delineates the username and password.

The same applies to the fragment component of the URI, such as https://example.com/path#fragment which may contain a URI-escaped '#'.

Parameters:

`uri` (str) –

The URI string to parse.

Returns (Gst.Uri) –

A new Gst.Uri object, or NULL.

Since : 1.18

#### gst_uri_get_location

    gchar *
    gst_uri_get_location (const gchar * uri)

Extracts the location out of a given valid URI, ie. the protocol and "://" are stripped from the URI, which means that the location returned includes the hostname if one is specified. The returned string must be freed using g_free.

Free-function: g_free

Parameters:

`uri` –

A URI string

Returns ( [transfer: full][nullable]) –

the location for this URI. Returns NULL if the URI isn't valid. If the URI does not contain a location, an empty string is returned.

#### Gst.prototype.uri_get_location

    function Gst.prototype.uri_get_location(uri: String): {
        // javascript wrapper for 'gst_uri_get_location'
    }

Extracts the location out of a given valid URI, ie. the protocol and "://" are stripped from the URI, which means that the location returned includes the hostname if one is specified. The returned string must be freed using GLib.prototype.free.

Free-function: g_free

Parameters:

`uri` (String) –

A URI string

Returns (String) –

the location for this URI. Returns null if the URI isn't valid. If the URI does not contain a location, an empty string is returned.

#### Gst.uri_get_location

    def Gst.uri_get_location (uri):
        #python wrapper for 'gst_uri_get_location'

Extracts the location out of a given valid URI, ie. the protocol and "://" are stripped from the URI, which means that the location returned includes the hostname if one is specified. The returned string must be freed using GLib.free.

Free-function: g_free

Parameters:

`uri` (str) –

A URI string

Returns (str) –

the location for this URI. Returns None if the URI isn't valid. If the URI does not contain a location, an empty string is returned.

#### gst_uri_get_protocol

    gchar *
    gst_uri_get_protocol (const gchar * uri)

Extracts the protocol out of a given valid URI. The returned string must be freed using g_free.

Parameters:

`uri` –

A URI string

Returns ( [nullable]) –

The protocol for this URI.

#### Gst.prototype.uri_get_protocol

    function Gst.prototype.uri_get_protocol(uri: String): {
        // javascript wrapper for 'gst_uri_get_protocol'
    }

Extracts the protocol out of a given valid URI. The returned string must be freed using GLib.prototype.free.

Parameters:

`uri` (String) –

A URI string

Returns (String) –

The protocol for this URI.

#### Gst.uri_get_protocol

    def Gst.uri_get_protocol (uri):
        #python wrapper for 'gst_uri_get_protocol'

Extracts the protocol out of a given valid URI. The returned string must be freed using GLib.free.

Parameters:

`uri` (str) –

A URI string

Returns (str) –

The protocol for this URI.

#### gst_uri_has_protocol

    gboolean
    gst_uri_has_protocol (const gchar * uri,
                          const gchar * protocol)

Checks if the protocol of a given valid URI matches protocol.

Parameters:

`uri` –

a URI string

`protocol` –

a protocol string (e.g. "http")

Returns –

TRUE if the protocol matches.

#### Gst.prototype.uri_has_protocol

    function Gst.prototype.uri_has_protocol(uri: String, protocol: String): {
        // javascript wrapper for 'gst_uri_has_protocol'
    }

Checks if the protocol of a given valid URI matches protocol.

Parameters:

`uri` (String) –

a URI string

`protocol` (String) –

a protocol string (e.g. "http")

Returns (Number) –

true if the protocol matches.

#### Gst.uri_has_protocol

    def Gst.uri_has_protocol (uri, protocol):
        #python wrapper for 'gst_uri_has_protocol'

Checks if the protocol of a given valid URI matches protocol.

Parameters:

`uri` (str) –

a URI string

`protocol` (str) –

a protocol string (e.g. "http")

Returns (bool) –

True if the protocol matches.

#### gst_uri_is_valid

    gboolean
    gst_uri_is_valid (const gchar * uri)

Tests if the given string is a valid URI identifier. URIs start with a valid scheme followed by ":" and maybe a string identifying the location.

Parameters:

`uri` –

A URI string

Returns –

TRUE if the string is a valid URI

#### Gst.prototype.uri_is_valid

    function Gst.prototype.uri_is_valid(uri: String): {
        // javascript wrapper for 'gst_uri_is_valid'
    }

Tests if the given string is a valid URI identifier. URIs start with a valid scheme followed by ":" and maybe a string identifying the location.

Parameters:

`uri` (String) –

A URI string

Returns (Number) –

true if the string is a valid URI

#### Gst.uri_is_valid

    def Gst.uri_is_valid (uri):
        #python wrapper for 'gst_uri_is_valid'

Tests if the given string is a valid URI identifier. URIs start with a valid scheme followed by ":" and maybe a string identifying the location.

Parameters:

`uri` (str) –

A URI string

Returns (bool) –

True if the string is a valid URI

#### gst_uri_join_strings

    gchar *
    gst_uri_join_strings (const gchar * base_uri,
                          const gchar * ref_uri)

This is a convenience function to join two URI strings and return the result. The returned string should be g_free'd after use.

Parameters:

`base_uri` –

The percent-encoded base URI.

`ref_uri` –

The percent-encoded reference URI to join to the base_uri.

Returns ( [transfer: full][nullable]) –

A string representing the percent-encoded join of the two URIs.

Since : 1.6

#### Gst.prototype.uri_join_strings

    function Gst.prototype.uri_join_strings(base_uri: String, ref_uri: String): {
        // javascript wrapper for 'gst_uri_join_strings'
    }

This is a convenience function to join two URI strings and return the result. The returned string should be GLib.prototype.free'd after use.

Parameters:

`base_uri` (String) –

The percent-encoded base URI.

`ref_uri` (String) –

The percent-encoded reference URI to join to the base_uri.

Returns (String) –

A string representing the percent-encoded join of the two URIs.

Since : 1.6

#### Gst.uri_join_strings

    def Gst.uri_join_strings (base_uri, ref_uri):
        #python wrapper for 'gst_uri_join_strings'

This is a convenience function to join two URI strings and return the result. The returned string should be GLib.free'd after use.

Parameters:

`base_uri` (str) –

The percent-encoded base URI.

`ref_uri` (str) –

The percent-encoded reference URI to join to the base_uri.

Returns (str) –

A string representing the percent-encoded join of the two URIs.

Since : 1.6

#### gst_uri_protocol_is_supported

    gboolean
    gst_uri_protocol_is_supported (const GstURIType type,
                                   const gchar * protocol)

Checks if an element exists that supports the given URI protocol. Note that a positive return value does not imply that a subsequent call to gst_element_make_from_uri is guaranteed to work.

Parameters:

`type` –

Whether to check for a source or a sink

`protocol` –

Protocol that should be checked for (e.g. "http" or "smb")

Returns –

TRUE

#### Gst.prototype.uri_protocol_is_supported

    function Gst.prototype.uri_protocol_is_supported(type: Gst.URIType, protocol: String): {
        // javascript wrapper for 'gst_uri_protocol_is_supported'
    }

Checks if an element exists that supports the given URI protocol. Note that a positive return value does not imply that a subsequent call to Gst.Element.prototype.make_from_uri is guaranteed to work.

Parameters:

`type` (Gst.URIType) –

Whether to check for a source or a sink

`protocol` (String) –

Protocol that should be checked for (e.g. "http" or "smb")

Returns (Number) –

true

#### Gst.uri_protocol_is_supported

    def Gst.uri_protocol_is_supported (type, protocol):
        #python wrapper for 'gst_uri_protocol_is_supported'

Checks if an element exists that supports the given URI protocol. Note that a positive return value does not imply that a subsequent call to Gst.Element.make_from_uri is guaranteed to work.

Parameters:

`type` (Gst.URIType) –

Whether to check for a source or a sink

`protocol` (str) –

Protocol that should be checked for (e.g. "http" or "smb")

Returns (bool) –

True

#### gst_uri_protocol_is_valid

    gboolean
    gst_uri_protocol_is_valid (const gchar * protocol)

Tests if the given string is a valid protocol identifier. Protocols must consist of alphanumeric characters, '+', '-' and '.' and must start with a alphabetic character. See RFC 3986 Section 3.1.

Parameters:

`protocol` –

A string

Returns –

TRUE if the string is a valid protocol identifier, FALSE otherwise.

#### Gst.prototype.uri_protocol_is_valid

    function Gst.prototype.uri_protocol_is_valid(protocol: String): {
        // javascript wrapper for 'gst_uri_protocol_is_valid'
    }

Tests if the given string is a valid protocol identifier. Protocols must consist of alphanumeric characters, '+', '-' and '.' and must start with a alphabetic character. See RFC 3986 Section 3.1.

Parameters:

`protocol` (String) –

A string

Returns (Number) –

true if the string is a valid protocol identifier, false otherwise.

#### Gst.uri_protocol_is_valid

    def Gst.uri_protocol_is_valid (protocol):
        #python wrapper for 'gst_uri_protocol_is_valid'

Tests if the given string is a valid protocol identifier. Protocols must consist of alphanumeric characters, '+', '-' and '.' and must start with a alphabetic character. See RFC 3986 Section 3.1.

Parameters:

`protocol` (str) –

A string

Returns (bool) –

True if the string is a valid protocol identifier, False otherwise.

## Functions

### gst_clear_uri

    gst_clear_uri (GstUri ** uri_ptr)

Clears a reference to a GstUri.

uri_ptr must not be NULL.

If the reference is NULL then this function does nothing. Otherwise, the reference count of the uri is decreased and the pointer is set to NULL.

Parameters:

`uri_ptr` –

a pointer to a GstUri reference

Since : 1.18

### gst_filename_to_uri

    gchar *
    gst_filename_to_uri (const gchar * filename,
                         GError ** error)

Similar to g_filename_to_uri, but attempts to handle relative file paths as well. Before converting filename into an URI, it will be prefixed by the current working directory if it is a relative path, and then the path will be canonicalised so that it doesn't contain any './' or '../' segments.

On Windows filename should be in UTF-8 encoding.

Parameters:

`filename` ( [type filename]) –

absolute or relative file name path

`error` –

pointer to error, or NULL

Returns ( [nullable]) –

newly-allocated URI string, or NULL on error. The caller must free the URI string with g_free when no longer needed.

### Gst.prototype.filename_to_uri

    function Gst.prototype.filename_to_uri(filename: filename): {
        // javascript wrapper for 'gst_filename_to_uri'
    }

Similar to GLib.prototype.filename_to_uri, but attempts to handle relative file paths as well. Before converting filename into an URI, it will be prefixed by the current working directory if it is a relative path, and then the path will be canonicalised so that it doesn't contain any './' or '../' segments.

On Windows filename should be in UTF-8 encoding.

Parameters:

`filename` (filename) –

absolute or relative file name path

Returns (String) –

newly-allocated URI string, or NULL on error. The caller must free the URI string with GLib.prototype.free when no longer needed.

### Gst.filename_to_uri

    @raises(GLib.GError)
    def Gst.filename_to_uri (filename):
        #python wrapper for 'gst_filename_to_uri'

Similar to GLib.filename_to_uri, but attempts to handle relative file paths as well. Before converting filename into an URI, it will be prefixed by the current working directory if it is a relative path, and then the path will be canonicalised so that it doesn't contain any './' or '../' segments.

On Windows filename should be in UTF-8 encoding.

Parameters:

`filename` (str) –

absolute or relative file name path

Returns (str) –

newly-allocated URI string, or NULL on error. The caller must free the URI string with GLib.free when no longer needed.

## Function Macros

### GST_URI_CAST

    #define GST_URI_CAST(obj)   ((GstUri *)(obj))

### GST_URI_CONST_CAST

    #define GST_URI_CONST_CAST(obj) ((const GstUri *)(obj))

### GST_URI_HANDLER_GET_INTERFACE

    #define GST_URI_HANDLER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_URI_HANDLER, GstURIHandlerInterface))

### GST_URI_TYPE_IS_VALID

    #define GST_URI_TYPE_IS_VALID(type) ((type) == GST_URI_SRC || (type) == GST_URI_SINK)

Tests if the type direction is valid.

Parameters:

`type` –

A GstURIType

## Enumerations

### GstURIError

Different URI-related errors that can occur.

##### Members

`GST_URI_ERROR_UNSUPPORTED_PROTOCOL` (0) –

The protocol is not supported

`GST_URI_ERROR_BAD_URI` (1) –

There was a problem with the URI

`GST_URI_ERROR_BAD_STATE` (2) –

Could not set or change the URI because the URI handler was in a state where that is not possible or not permitted

`GST_URI_ERROR_BAD_REFERENCE` (3) –

There was a problem with the entity that the URI references

### Gst.URIError

Different URI-related errors that can occur.

##### Members

`Gst.URIError.UNSUPPORTED_PROTOCOL` (0) –

The protocol is not supported

`Gst.URIError.BAD_URI` (1) –

There was a problem with the URI

`Gst.URIError.BAD_STATE` (2) –

Could not set or change the URI because the URI handler was in a state where that is not possible or not permitted

`Gst.URIError.BAD_REFERENCE` (3) –

There was a problem with the entity that the URI references

### Gst.URIError

Different URI-related errors that can occur.

##### Members

`Gst.URIError.UNSUPPORTED_PROTOCOL` (0) –

The protocol is not supported

`Gst.URIError.BAD_URI` (1) –

There was a problem with the URI

`Gst.URIError.BAD_STATE` (2) –

Could not set or change the URI because the URI handler was in a state where that is not possible or not permitted

`Gst.URIError.BAD_REFERENCE` (3) –

There was a problem with the entity that the URI references

### GstURIType

The different types of URI direction.

##### Members

`GST_URI_UNKNOWN` (0) –

The URI direction is unknown

`GST_URI_SINK` (1) –

The URI is a consumer.

`GST_URI_SRC` (2) –

The URI is a producer.

### Gst.URIType

The different types of URI direction.

##### Members

`Gst.URIType.UNKNOWN` (0) –

The URI direction is unknown

`Gst.URIType.SINK` (1) –

The URI is a consumer.

`Gst.URIType.SRC` (2) –

The URI is a producer.

### Gst.URIType

The different types of URI direction.

##### Members

`Gst.URIType.UNKNOWN` (0) –

The URI direction is unknown

`Gst.URIType.SINK` (1) –

The URI is a consumer.

`Gst.URIType.SRC` (2) –

The URI is a producer.

## Constants

### GST_URI_ERROR

    #define GST_URI_ERROR gst_uri_error_quark ()

Get access to the error quark of the uri subsystem.

### GST_URI_NO_PORT

    #define GST_URI_NO_PORT 0

Value for GstUri.port to indicate no port number.

### Gst.URI_NO_PORT

Value for Gst.Uri.port to indicate no port number.

### Gst.URI_NO_PORT

Value for Gst.Uri.port to indicate no port number.

The results of the search are