# GESUriClipAsset

The GESUriClipAsset is a special GESAsset that lets you handle the media file to use inside the GStreamer Editing Services. It has APIs that let you get information about the medias. Also, the tags found in the media file are set as Metadata of the Asset.

## GESUriClipAsset

    GObject
        ╰──GESAsset
            ╰──GESClipAsset
                ╰──GESSourceClipAsset
                    ╰──GESUriClipAsset

### Members

`parent` (GESSourceClipAsset) –
No description available

### Class structure

#### GESUriClipAssetClass

##### Fields

`parent_class` (GESSourceClipAssetClass) –
No description available

### GES.UriClipAssetClass

##### Attributes

`parent_class` (GES.SourceClipAssetClass) –
No description available

### GES.UriClipAssetClass

##### Attributes

`parent_class` (GES.SourceClipAssetClass) –
No description available

## GES.UriClipAsset

    GObject.Object
        ╰──GES.Asset
            ╰──GES.ClipAsset
                ╰──GES.SourceClipAsset
                    ╰──GES.UriClipAsset

### Members

`parent` (GES.SourceClipAsset) –
No description available

## GES.UriClipAsset

    GObject.Object
        ╰──GES.Asset
            ╰──GES.ClipAsset
                ╰──GES.SourceClipAsset
                    ╰──GES.UriClipAsset

### Members

`parent` (GES.SourceClipAsset) –
No description available

### Methods

#### ges_uri_clip_asset_get_duration

    GstClockTime
    ges_uri_clip_asset_get_duration (GESUriClipAsset * self)

Gets duration of the file represented by self

Parameters:

`self` –

a GESUriClipAsset

Returns –

The duration of self

#### GES.UriClipAsset.prototype.get_duration

    function GES.UriClipAsset.prototype.get_duration(): {
        // javascript wrapper for 'ges_uri_clip_asset_get_duration'
    }

Gets duration of the file represented by self

Parameters:

`self` (GES.UriClipAsset) –

a GES.UriClipAsset

Returns (Number) –

The duration of self

#### GES.UriClipAsset.get_duration

    def GES.UriClipAsset.get_duration (self):
        #python wrapper for 'ges_uri_clip_asset_get_duration'

Gets duration of the file represented by self

Parameters:

`self` (GES.UriClipAsset) –

a GES.UriClipAsset

Returns (int) –

The duration of self

#### ges_uri_clip_asset_get_info

    GstDiscovererInfo *
    ges_uri_clip_asset_get_info (const GESUriClipAsset * self)

Gets GstDiscovererInfo about the file

Parameters:

`self` –

Target asset

Returns ( [transfer: none]) –

GstDiscovererInfo of specified asset

#### GES.UriClipAsset.prototype.get_info

    function GES.UriClipAsset.prototype.get_info(): {
        // javascript wrapper for 'ges_uri_clip_asset_get_info'
    }

Gets GstPbutils.DiscovererInfo about the file

Parameters:

`self` (GES.UriClipAsset) –

Target asset

Returns (GstPbutils.DiscovererInfo) –

GstPbutils.DiscovererInfo of specified asset

#### GES.UriClipAsset.get_info

    def GES.UriClipAsset.get_info (self):
        #python wrapper for 'ges_uri_clip_asset_get_info'

Gets GstPbutils.DiscovererInfo about the file

Parameters:

`self` (GES.UriClipAsset) –

Target asset

Returns (GstPbutils.DiscovererInfo) –

GstPbutils.DiscovererInfo of specified asset

#### ges_uri_clip_asset_get_max_duration

    GstClockTime
    ges_uri_clip_asset_get_max_duration (GESUriClipAsset * self)

Gets maximum duration of the file represented by self, it is usually the same as GESUriClipAsset::duration, but in the case of nested timelines, for example, they are different as those can be extended 'infinitely'.

Parameters:

`self` –

a GESUriClipAsset

Returns –

The maximum duration of self

Since : 1.18

#### GES.UriClipAsset.prototype.get_max_duration

    function GES.UriClipAsset.prototype.get_max_duration(): {
        // javascript wrapper for 'ges_uri_clip_asset_get_max_duration'
    }

Gets maximum duration of the file represented by self, it is usually the same as GESUriClipAsset::duration, but in the case of nested timelines, for example, they are different as those can be extended 'infinitely'.

Parameters:

`self` (GES.UriClipAsset) –

a GES.UriClipAsset

Returns (Number) –

The maximum duration of self

Since : 1.18

#### GES.UriClipAsset.get_max_duration

    def GES.UriClipAsset.get_max_duration (self):
        #python wrapper for 'ges_uri_clip_asset_get_max_duration'

Gets maximum duration of the file represented by self, it is usually the same as GESUriClipAsset::duration, but in the case of nested timelines, for example, they are different as those can be extended 'infinitely'.

Parameters:

`self` (GES.UriClipAsset) –

a GES.UriClipAsset

Returns (int) –

The maximum duration of self

Since : 1.18

#### ges_uri_clip_asset_get_stream_assets

    const GList *
    ges_uri_clip_asset_get_stream_assets (GESUriClipAsset * self)

Get the GESUriSourceAsset self containes

Parameters:

`self` –

A GESUriClipAsset

Returns ( [transfer: none][element-type GESUriSourceAsset]) –

a GList of GESUriSourceAsset

#### GES.UriClipAsset.prototype.get_stream_assets

    function GES.UriClipAsset.prototype.get_stream_assets(): {
        // javascript wrapper for 'ges_uri_clip_asset_get_stream_assets'
    }

Get the GESUriSourceAsset self containes

Parameters:

`self` (GES.UriClipAsset) –

A GES.UriClipAsset

Returns ([ GES.UriSourceAsset ]) –

a GLib.List of GES.UriSourceAsset

#### GES.UriClipAsset.get_stream_assets

    def GES.UriClipAsset.get_stream_assets (self):
        #python wrapper for 'ges_uri_clip_asset_get_stream_assets'

Get the GESUriSourceAsset self containes

Parameters:

`self` (GES.UriClipAsset) –

A GES.UriClipAsset

Returns ([ GES.UriSourceAsset ]) –

a GLib.List of GES.UriSourceAsset

#### ges_uri_clip_asset_is_image

    gboolean
    ges_uri_clip_asset_is_image (GESUriClipAsset * self)

Gets Whether the file represented by self is an image or not

Parameters:

`self` –

a GESUriClipAsset

Returns –

Whether the file represented by self is an image or not

Since : 1.18

#### GES.UriClipAsset.prototype.is_image

    function GES.UriClipAsset.prototype.is_image(): {
        // javascript wrapper for 'ges_uri_clip_asset_is_image'
    }

Gets Whether the file represented by self is an image or not

Parameters:

`self` (GES.UriClipAsset) –

a GES.UriClipAsset

Returns (Number) –

Whether the file represented by self is an image or not

Since : 1.18

#### GES.UriClipAsset.is_image

    def GES.UriClipAsset.is_image (self):
        #python wrapper for 'ges_uri_clip_asset_is_image'

Gets Whether the file represented by self is an image or not

Parameters:

`self` (GES.UriClipAsset) –

a GES.UriClipAsset

Returns (bool) –

Whether the file represented by self is an image or not

Since : 1.18

### Class Methods

#### ges_uri_clip_asset_class_set_timeout

    ges_uri_clip_asset_class_set_timeout (GESUriClipAssetClass * klass,
                                          GstClockTime timeout)

Sets the timeout of GESUriClipAsset loading

Parameters:

`klass` –

The GESUriClipAssetClass on which to set the discoverer timeout

`timeout` –

The timeout to set

deprecated : 1.24: ges_discoverer_manager_set_timeout() should be used instead

#### GES.UriClipAssetClass.prototype.set_timeout

    function GES.UriClipAssetClass.prototype.set_timeout(klass: GES.UriClipAssetClass, timeout: Number): {
        // javascript wrapper for 'ges_uri_clip_asset_class_set_timeout'
    }

Sets the timeout of GES.UriClipAsset loading

Parameters:

`klass` (GES.UriClipAssetClass) –

The GES.UriClipAssetClass on which to set the discoverer timeout

`timeout` (Number) –

The timeout to set

deprecated : 1.24: ges_discoverer_manager_set_timeout() should be used instead

### Functions

#### ges_uri_clip_asset_finish

    GESUriClipAsset *
    ges_uri_clip_asset_finish (GAsyncResult * res,
                               GError ** error)

Finalize the request of an async GESUriClipAsset

Parameters:

`res` –

The GAsyncResult from which to get the newly created GESUriClipAsset

`error` –

An error to be set in case something wrong happens or NULL

Returns ( [transfer: full]) –

The GESUriClipAsset previously requested

Since : 1.16

#### GES.UriClipAsset.prototype.finish

    function GES.UriClipAsset.prototype.finish(res: Gio.AsyncResult): {
        // javascript wrapper for 'ges_uri_clip_asset_finish'
    }

Finalize the request of an async GES.UriClipAsset

Parameters:

`res` (Gio.AsyncResult) –

The Gio.AsyncResult from which to get the newly created GES.UriClipAsset

Returns (GES.UriClipAsset) –

The GES.UriClipAsset previously requested

Since : 1.16

#### GES.UriClipAsset.finish

    @raises(GLib.GError)
    def GES.UriClipAsset.finish (res):
        #python wrapper for 'ges_uri_clip_asset_finish'

Finalize the request of an async GES.UriClipAsset

Parameters:

`res` (Gio.AsyncResult) –

The Gio.AsyncResult from which to get the newly created GES.UriClipAsset

Returns (GES.UriClipAsset) –

The GES.UriClipAsset previously requested

Since : 1.16

#### ges_uri_clip_asset_new

    ges_uri_clip_asset_new (const gchar * uri,
                            GCancellable * cancellable,
                            GAsyncReadyCallback callback,
                            gpointer user_data)

Creates a GESUriClipAsset for uri

Example of request of a GESUriClipAsset:

     // The request callback
     static void
     filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
     {
       GError *error = NULL;
       GESUriClipAsset *filesource_asset;

       filesource_asset = ges_uri_clip_asset_finish (res, &error);
       if (filesource_asset) {
        gst_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
            ges_asset_get_id (GES_ASSET (filesource_asset))
            ges_uri_clip_asset_is_image (filesource_asset) ? "" : " not",
            GST_TIME_ARGS (ges_uri_clip_asset_get_duration (filesource_asset));
       } else {
        gst_print ("The file: %s is *not* usable as a FileSource because: %s",
            ges_asset_get_id (source), error->message);
       }

       gst_object_unref (mfs);
     }

     // The request:
     ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);

Parameters:

`uri` –

The URI of the file for which to create a GESUriClipAsset

`cancellable` –

optional GCancellable object, NULL to ignore.

`callback` ( [scope async]) –

a GAsyncReadyCallback to call when the initialization is finished

`user_data` –

The user data to pass when callback is called

#### GES.UriClipAsset.prototype.new

    function GES.UriClipAsset.prototype.new(uri: String, cancellable: Gio.Cancellable, callback: Gio.AsyncReadyCallback, user_data: Object): {
        // javascript wrapper for 'ges_uri_clip_asset_new'
    }

Creates a GES.UriClipAsset for uri

Example of request of a GESUriClipAsset:

     // The request callback
     static void
     filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
     {
       GError *error = NULL;
       GESUriClipAsset *filesource_asset;

       filesource_asset = ges_uri_clip_asset_finish (res, &error);
       if (filesource_asset) {
        gst_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
            ges_asset_get_id (GES_ASSET (filesource_asset))
            ges_uri_clip_asset_is_image (filesource_asset) ? "" : " not",
            GST_TIME_ARGS (ges_uri_clip_asset_get_duration (filesource_asset));
       } else {
        gst_print ("The file: %s is *not* usable as a FileSource because: %s",
            ges_asset_get_id (source), error->message);
       }

       gst_object_unref (mfs);
     }

     // The request:
     ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);

Parameters:

`uri` (String) –

The URI of the file for which to create a GES.UriClipAsset

`cancellable` (Gio.Cancellable) –

optional Gio.Cancellable object, null to ignore.

`callback` (Gio.AsyncReadyCallback) –

a Gio.AsyncReadyCallback to call when the initialization is finished

`user_data` (Object) –

The user data to pass when callback is called

#### GES.UriClipAsset.new

    def GES.UriClipAsset.new (uri, cancellable, callback, *user_data):
        #python wrapper for 'ges_uri_clip_asset_new'

Creates a GES.UriClipAsset for uri

Example of request of a GESUriClipAsset:

     // The request callback
     static void
     filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
     {
       GError *error = NULL;
       GESUriClipAsset *filesource_asset;

       filesource_asset = ges_uri_clip_asset_finish (res, &error);
       if (filesource_asset) {
        gst_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
            ges_asset_get_id (GES_ASSET (filesource_asset))
            ges_uri_clip_asset_is_image (filesource_asset) ? "" : " not",
            GST_TIME_ARGS (ges_uri_clip_asset_get_duration (filesource_asset));
       } else {
        gst_print ("The file: %s is *not* usable as a FileSource because: %s",
            ges_asset_get_id (source), error->message);
       }

       gst_object_unref (mfs);
     }

     // The request:
     ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);

Parameters:

`uri` (str) –

The URI of the file for which to create a GES.UriClipAsset

`cancellable` (Gio.Cancellable) –

optional Gio.Cancellable object, None to ignore.

`callback` (Gio.AsyncReadyCallback) –

a Gio.AsyncReadyCallback to call when the initialization is finished

`user_data` (variadic) –

The user data to pass when callback is called

#### ges_uri_clip_asset_request_sync

    GESUriClipAsset *
    ges_uri_clip_asset_request_sync (const gchar * uri,
                                     GError ** error)

Creates a GESUriClipAsset for uri synchonously. You should avoid to use it in application, and rather create GESUriClipAsset asynchronously

Parameters:

`uri` –

The URI of the file for which to create a GESUriClipAsset. You can also use multi file uris for GESMultiFileSource.

`error` –

An error to be set in case something wrong happens or NULL

Returns ( [transfer: full]) –

A reference to the requested asset or NULL if an error happened

#### GES.UriClipAsset.prototype.request_sync

    function GES.UriClipAsset.prototype.request_sync(uri: String): {
        // javascript wrapper for 'ges_uri_clip_asset_request_sync'
    }

Creates a GES.UriClipAsset for uri synchonously. You should avoid to use it in application, and rather create GES.UriClipAsset asynchronously

Parameters:

`uri` (String) –

The URI of the file for which to create a GES.UriClipAsset. You can also use multi file uris for GES.MultiFileSource.

Returns (GES.UriClipAsset) –

A reference to the requested asset or null if an error happened

#### GES.UriClipAsset.request_sync

    @raises(GLib.GError)
    def GES.UriClipAsset.request_sync (uri):
        #python wrapper for 'ges_uri_clip_asset_request_sync'

Creates a GES.UriClipAsset for uri synchonously. You should avoid to use it in application, and rather create GES.UriClipAsset asynchronously

Parameters:

`uri` (str) –

The URI of the file for which to create a GES.UriClipAsset. You can also use multi file uris for GES.MultiFileSource.

Returns (GES.UriClipAsset) –

A reference to the requested asset or None if an error happened

### Properties

#### duration

    “duration” guint64

The duration (in nanoseconds) of the media file

Flags : Read / Write

#### duration

    “duration” Number

The duration (in nanoseconds) of the media file

Flags : Read / Write

#### duration

    “self.props.duration” int

The duration (in nanoseconds) of the media file

Flags : Read / Write

#### is-nested-timeline

    “is-nested-timeline” gboolean

The duration (in nanoseconds) of the media file

Flags : Read

Since : 1.18

#### is-nested-timeline

    “is-nested-timeline” Number

The duration (in nanoseconds) of the media file

Flags : Read

Since : 1.18

#### is_nested_timeline

    “self.props.is_nested_timeline” bool

The duration (in nanoseconds) of the media file

Flags : Read

Since : 1.18

## GESUriSourceAsset

    GObject
        ╰──GESAsset
            ╰──GESTrackElementAsset
                ╰──GESUriSourceAsset

Asset to create a stream specific GESSource for a media file.

NOTE: You should never request such a GESAsset as they will be created automatically by GESUriClipAsset-s.

### Members

`parent` (GESTrackElementAsset) –
No description available

### Class structure

#### GESUriSourceAssetClass

##### Fields

`parent_class` (GESTrackElementAssetClass) –
No description available
`_ges_reserved` (gpointer *) –
No description available

### GES.UriSourceAssetClass

##### Attributes

`parent_class` (GES.TrackElementAssetClass) –
No description available
`_ges_reserved` ([ Object ]) –
No description available

### GES.UriSourceAssetClass

##### Attributes

`parent_class` (GES.TrackElementAssetClass) –
No description available
`_ges_reserved` ([ object ]) –
No description available

## GES.UriSourceAsset

    GObject.Object
        ╰──GES.Asset
            ╰──GES.TrackElementAsset
                ╰──GES.UriSourceAsset

Asset to create a stream specific GES.Source for a media file.

NOTE: You should never request such a GES.Asset as they will be created automatically by GES.UriClipAsset-s.

### Members

`parent` (GES.TrackElementAsset) –
No description available

## GES.UriSourceAsset

    GObject.Object
        ╰──GES.Asset
            ╰──GES.TrackElementAsset
                ╰──GES.UriSourceAsset

Asset to create a stream specific GES.Source for a media file.

NOTE: You should never request such a GES.Asset as they will be created automatically by GES.UriClipAsset-s.

### Members

`parent` (GES.TrackElementAsset) –
No description available

### Methods

#### ges_uri_source_asset_get_filesource_asset

    const GESUriClipAsset *
    ges_uri_source_asset_get_filesource_asset (GESUriSourceAsset * asset)

Get the GESUriClipAsset self is contained in

Parameters:

`asset` –

A GESUriClipAsset

Returns –

a GESUriClipAsset

#### GES.UriSourceAsset.prototype.get_filesource_asset

    function GES.UriSourceAsset.prototype.get_filesource_asset(): {
        // javascript wrapper for 'ges_uri_source_asset_get_filesource_asset'
    }

Get the GES.UriClipAsset self is contained in

Parameters:

`asset` (GES.UriSourceAsset) –

A GES.UriClipAsset

Returns (GES.UriClipAsset) –

a GES.UriClipAsset

#### GES.UriSourceAsset.get_filesource_asset

    def GES.UriSourceAsset.get_filesource_asset (self):
        #python wrapper for 'ges_uri_source_asset_get_filesource_asset'

Get the GES.UriClipAsset self is contained in

Parameters:

`asset` (GES.UriSourceAsset) –

A GES.UriClipAsset

Returns (GES.UriClipAsset) –

a GES.UriClipAsset

#### ges_uri_source_asset_get_stream_info

    GstDiscovererStreamInfo *
    ges_uri_source_asset_get_stream_info (GESUriSourceAsset * asset)

Get the GstDiscovererStreamInfo user by asset

Parameters:

`asset` –

A GESUriClipAsset

Returns ( [transfer: none]) –

a GESUriClipAsset

#### GES.UriSourceAsset.prototype.get_stream_info

    function GES.UriSourceAsset.prototype.get_stream_info(): {
        // javascript wrapper for 'ges_uri_source_asset_get_stream_info'
    }

Get the GstPbutils.DiscovererStreamInfo user by asset

Parameters:

`asset` (GES.UriSourceAsset) –

A GES.UriClipAsset

Returns (GstPbutils.DiscovererStreamInfo) –

a GES.UriClipAsset

#### GES.UriSourceAsset.get_stream_info

    def GES.UriSourceAsset.get_stream_info (self):
        #python wrapper for 'ges_uri_source_asset_get_stream_info'

Get the GstPbutils.DiscovererStreamInfo user by asset

Parameters:

`asset` (GES.UriSourceAsset) –

A GES.UriClipAsset

Returns (GstPbutils.DiscovererStreamInfo) –

a GES.UriClipAsset

#### ges_uri_source_asset_get_stream_uri

    const gchar *
    ges_uri_source_asset_get_stream_uri (GESUriSourceAsset * asset)

Parameters:

`asset` –
No description available
Returns –
No description available

#### GES.UriSourceAsset.prototype.get_stream_uri

    function GES.UriSourceAsset.prototype.get_stream_uri(): {
        // javascript wrapper for 'ges_uri_source_asset_get_stream_uri'
    }

Parameters:

`asset` (GES.UriSourceAsset) –
No description available
Returns (String) –
No description available

#### GES.UriSourceAsset.get_stream_uri

    def GES.UriSourceAsset.get_stream_uri (self):
        #python wrapper for 'ges_uri_source_asset_get_stream_uri'

Parameters:

`asset` (GES.UriSourceAsset) –
No description available
Returns (str) –
No description available

#### ges_uri_source_asset_is_image

    gboolean
    ges_uri_source_asset_is_image (GESUriSourceAsset * asset)

Check if asset contains a single image

Parameters:

`asset` –

A GESUriClipAsset

Returns –

TRUE if the video stream corresponds to an image (i.e. only contains one frame)

Since : 1.18

#### GES.UriSourceAsset.prototype.is_image

    function GES.UriSourceAsset.prototype.is_image(): {
        // javascript wrapper for 'ges_uri_source_asset_is_image'
    }

Check if asset contains a single image

Parameters:

`asset` (GES.UriSourceAsset) –

A GES.UriClipAsset

Returns (Number) –

true if the video stream corresponds to an image (i.e. only contains one frame)

Since : 1.18

#### GES.UriSourceAsset.is_image

    def GES.UriSourceAsset.is_image (self):
        #python wrapper for 'ges_uri_source_asset_is_image'

Check if asset contains a single image

Parameters:

`asset` (GES.UriSourceAsset) –

A GES.UriClipAsset

Returns (bool) –

True if the video stream corresponds to an image (i.e. only contains one frame)

Since : 1.18

## Constants

### GES_TYPE_URI_CLIP_ASSET

    #define GES_TYPE_URI_CLIP_ASSET ges_uri_clip_asset_get_type()

### GES_TYPE_URI_SOURCE_ASSET

    #define GES_TYPE_URI_SOURCE_ASSET ges_uri_source_asset_get_type()

The results of the search are