Asset.request_async
Description:
public async Asset.request_async (Type extractable_type, string? id, Cancellable? cancellable) throws Error
Requests an asset with the given properties asynchronously (see Asset.request).
When the asset has been initialized or fetched from the cache, the given callback function will be called. The asset can then be retrieved in the callback using the Asset.request_async.end method on the given AsyncResult.
Note that the source object passed to the callback will be the Asset corresponding to the request, but it may not have loaded correctly and therefore can not be used as is. Instead, Asset.request_async.end should be used to fetch a usable asset, or indicate that an error occurred in the asset's creation.
Note that the callback will be called in the MainLoop running under the same MainContext that init was called in. So, if you wish the callback to be invoked outside the default MainContext, you can call push_thread_default in a new thread before calling init.
Example of an asynchronous asset request: ``` c // The request callback static void asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data) { GESAsset *asset; GError *error = NULL;
asset = ges_asset_request_finish (res, &error); if (asset) { gst_print ("The file: s is usable as a GESUriClip", ges_asset_get_id (asset)); } else { gst_print ("The file: s is *not* usable as a GESUriClip because: s", ges_asset_get_id (source), error->message); }
gst_object_unref (asset); }
// The request: ges_asset_request_async (GES_TYPE_URI_CLIP, some_uri, NULL, (GAsyncReadyCallback) asset_loaded_cb, user_data); ```
Parameters:
extractable_type |
The extractable_type of the asset |
id |
The id of the asset |
cancellable |
An object to allow cancellation of the asset request, or null to ignore |
callback |
A function to call when the initialization is finished |
user_data |
Data to be passed to |