summaryrefslogtreecommitdiff
path: root/girs/GES-1.0.gir
diff options
context:
space:
mode:
Diffstat (limited to 'girs/GES-1.0.gir')
-rw-r--r--girs/GES-1.0.gir16285
1 files changed, 16285 insertions, 0 deletions
diff --git a/girs/GES-1.0.gir b/girs/GES-1.0.gir
new file mode 100644
index 0000000000..f39d227f51
--- /dev/null
+++ b/girs/GES-1.0.gir
@@ -0,0 +1,16285 @@
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
+ <include name="GObject" version="2.0"/>
+ <include name="Gio" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <include name="GstPbutils" version="1.0"/>
+ <include name="GstVideo" version="1.0"/>
+ <package name="gst-editing-services-1.0"/>
+ <c:include name="ges/ges.h"/>
+ <namespace name="GES" version="1.0" shared-library="libges-1.0.so.0" c:identifier-prefixes="GES" c:symbol-prefixes="ges">
+ <alias name="FrameNumber" c:type="GESFrameNumber">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-types.h">A datatype to hold a frame number.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-types.h"/>
+ <type name="gint64" c:type="gint64"/>
+ </alias>
+ <class name="Asset" c:symbol-prefix="asset" c:type="GESAsset" parent="GObject.Object" glib:type-name="GESAsset" glib:get-type="ges_asset_get_type" glib:type-struct="AssetClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A #GESAsset in the GStreamer Editing Services represents a resources
+that can be used. In particular, any class that implements the
+#GESExtractable interface may have some associated assets with a
+corresponding #GESAsset:extractable-type, from which its objects can be
+extracted using ges_asset_extract(). Some examples would be
+#GESClip, #GESFormatter and #GESTrackElement.
+
+All assets that are created within GES are stored in a cache; one per
+each #GESAsset:id and #GESAsset:extractable-type pair. These assets can
+be fetched, and initialized if they do not yet exist in the cache,
+using ges_asset_request().
+
+``` c
+GESAsset *effect_asset;
+GESEffect *effect;
+
+// You create an asset for an effect
+effect_asset = ges_asset_request (GES_TYPE_EFFECT, "agingtv", NULL);
+
+// And now you can extract an instance of GESEffect from that asset
+effect = GES_EFFECT (ges_asset_extract (effect_asset));
+
+```
+
+The advantage of using assets, rather than simply creating the object
+directly, is that the currently loaded resources can be listed with
+ges_list_assets() and displayed to an end user. For example, to show
+which media files have been loaded, and a standard list of effects. In
+fact, the GES library already creates assets for #GESTransitionClip and
+#GESFormatter, which you can use to list all the available transition
+types and supported formats.
+
+The other advantage is that #GESAsset implements #GESMetaContainer, so
+metadata can be set on the asset, with some subclasses automatically
+creating this metadata on initiation.
+
+For example, to display information about the supported formats, you
+could do the following:
+|[
+ GList *formatter_assets, *tmp;
+
+ // List all the transitions
+ formatter_assets = ges_list_assets (GES_TYPE_FORMATTER);
+
+ // Print some infos about the formatter GESAsset
+ for (tmp = formatter_assets; tmp; tmp = tmp-&gt;next) {
+ gst_print ("Name of the formatter: %s, file extension it produces: %s",
+ ges_meta_container_get_string (
+ GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_NAME),
+ ges_meta_container_get_string (
+ GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_EXTENSION));
+ }
+
+ g_list_free (transition_assets);
+
+]|
+
+## ID
+
+Each asset is uniquely defined in the cache by its
+#GESAsset:extractable-type and #GESAsset:id. Depending on the
+#GESAsset:extractable-type, the #GESAsset:id can be used to parametrise
+the creation of the object upon extraction. By default, a class that
+implements #GESExtractable will only have a single associated asset,
+with an #GESAsset:id set to the type name of its objects. However, this
+is overwritten by some implementations, which allow a class to have
+multiple associated assets. For example, for #GESTransitionClip the
+#GESAsset:id will be a nickname of the #GESTransitionClip:vtype. You
+should check the documentation for each extractable type to see if they
+differ from the default.
+
+Moreover, each #GESAsset:extractable-type may also associate itself
+with a specific asset subclass. In such cases, when their asset is
+requested, an asset of this subclass will be returned instead.
+
+## Managing
+
+You can use a #GESProject to easily manage the assets of a
+#GESTimeline.
+
+## Proxies
+
+Some assets can (temporarily) act as the #GESAsset:proxy of another
+asset. When the original asset is requested from the cache, the proxy
+will be returned in its place. This can be useful if, say, you want
+to substitute a #GESUriClipAsset corresponding to a high resolution
+media file with the asset of a lower resolution stand in.
+
+An asset may even have several proxies, the first of which will act as
+its default and be returned on requests, but the others will be ordered
+to take its place once it is removed. You can add a proxy to an asset,
+or set its default, using ges_asset_set_proxy(), and you can remove
+them with ges_asset_unproxy().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <function name="needs_reload" c:identifier="ges_asset_needs_reload">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Indicate that an existing #GESAsset in the cache should be reloaded
+upon the next request. This can be used when some condition has
+changed, which may require that an existing asset should be updated.
+For example, if an external resource has changed or now become
+available.
+
+Note, the asset is not immediately changed, but will only actually
+reload on the next call to ges_asset_request() or
+ges_asset_request_async().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">%TRUE if the specified asset exists in the cache and could be
+marked for reloading.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset:extractable-type of the asset that
+needs reloading</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset:id of the asset asset that needs
+reloading</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request" c:identifier="ges_asset_request" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Returns an asset with the given properties. If such an asset already
+exists in the cache (it has been previously created in GES), then a
+reference to the existing asset is returned. Otherwise, a newly created
+asset is returned, and also added to the cache.
+
+If the requested asset has been loaded with an error, then @error is
+set, if given, and %NULL will be returned instead.
+
+Note that the given @id may not be exactly the #GESAsset:id that is
+set on the returned asset. For instance, it may be adjusted into a
+standard format. Or, if a #GESExtractable type does not have its
+extraction parametrised, as is the case by default, then the given @id
+may be ignored entirely and the #GESAsset:id set to some standard, in
+which case a %NULL @id can be given.
+
+Similarly, the given @extractable_type may not be exactly the
+#GESAsset:extractable-type that is set on the returned asset. Instead,
+the actual extractable type may correspond to a subclass of the given
+@extractable_type, depending on the given @id.
+
+Moreover, depending on the given @extractable_type, the returned asset
+may belong to a subclass of #GESAsset.
+
+Finally, if the requested asset has a #GESAsset:proxy, then the proxy
+that is found at the end of the chain of proxies is returned (a proxy's
+proxy will take its place, and so on, unless it has no proxy).
+
+Some asset subclasses only support asynchronous construction of its
+assets, such as #GESUriClip. For such assets this method will fail, and
+you should use ges_asset_request_async() instead. In the case of
+#GESUriClip, you can use ges_uri_clip_asset_request_sync() if you only
+want to wait for the request to finish.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A reference to the requested
+asset, or %NULL if an error occurred.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset:extractable-type of the asset</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset:id of the asset</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request_async" c:identifier="ges_asset_request_async">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Requests an asset with the given properties asynchronously (see
+ges_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
+ges_asset_request_finish() method on the given #GAsyncResult.
+
+Note that the source object passed to the callback will be the
+#GESAsset corresponding to the request, but it may not have loaded
+correctly and therefore can not be used as is. Instead,
+ges_asset_request_finish() 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 #GMainLoop running under
+the same #GMainContext that ges_init() was called in. So, if you wish
+the callback to be invoked outside the default #GMainContext, you can
+call g_main_context_push_thread_default() in a new thread before
+calling ges_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, &amp;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-&gt;message);
+ }
+
+ gst_object_unref (asset);
+}
+
+// The request:
+ges_asset_request_async (GES_TYPE_URI_CLIP, some_uri, NULL,
+ (GAsyncReadyCallback) asset_loaded_cb, user_data);
+```</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset:extractable-type of the asset</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset:id of the asset</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">An object to allow cancellation of the
+asset request, or %NULL to ignore</doc>
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="4">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A function to call when the initialization is finished</doc>
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Data to be passed to @callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request_finish" c:identifier="ges_asset_request_finish" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Fetches an asset requested by ges_asset_request_async(), which
+finalises the request.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The requested asset, or %NULL if an error
+occurred.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="res" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The task result to fetch the asset from</doc>
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="extract" invoker="extract" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Extracts a new #GESAsset:extractable-type object from the asset. The
+#GESAsset:id of the asset may determine the properties and state of the
+newly created object.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A newly created object, or %NULL if an
+error occurred.</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset to extract an object from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="inform_proxy">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy_id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="proxied">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="request_id_update">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proposed_new_id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start_loading" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="extract" c:identifier="ges_asset_extract" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Extracts a new #GESAsset:extractable-type object from the asset. The
+#GESAsset:id of the asset may determine the properties and state of the
+newly created object.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A newly created object, or %NULL if an
+error occurred.</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset to extract an object from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_error" c:identifier="ges_asset_get_error" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Retrieve the error that was set on the asset when it was loaded.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The error set on @asset, or
+%NULL if no error occurred when @asset was loaded.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_extractable_type" c:identifier="ges_asset_get_extractable_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Gets the #GESAsset:extractable-type of the asset.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The extractable type of @self.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_id" c:identifier="ges_asset_get_id">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Gets the #GESAsset:id of the asset.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The ID of @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_proxy" c:identifier="ges_asset_get_proxy">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Gets the default #GESAsset:proxy of the asset.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The default proxy of @asset.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_proxy_target" c:identifier="ges_asset_get_proxy_target">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Gets the #GESAsset:proxy-target of the asset.
+
+Note that the proxy target may have loaded with an error, so you should
+call ges_asset_get_error() on the returned target.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The asset that @proxy is a proxy
+of.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="proxy" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_proxies" c:identifier="ges_asset_list_proxies">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Get all the proxies that the asset has. The first item of the list will
+be the default #GESAsset:proxy. The second will be the proxy that is
+'next in line' to be default, and so on.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The list of proxies
+that @asset has.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_proxy" c:identifier="ges_asset_set_proxy">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Sets the #GESAsset:proxy for the asset.
+
+If @proxy is among the existing proxies of the asset (see
+ges_asset_list_proxies()) it will be moved to become the default
+proxy. Otherwise, if @proxy is not %NULL, it will be added to the list
+of proxies, as the new default. The previous default proxy will become
+'next in line' for if the new one is removed, and so on. As such, this
+will **not** actually remove the previous default proxy (use
+ges_asset_unproxy() for that).
+
+Note that an asset can only act as a proxy for one other asset.
+
+As a special case, if @proxy is %NULL, then this method will actually
+remove **all** proxies from the asset.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">%TRUE if @proxy was successfully set as the default for
+@asset.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset to proxy</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A new default proxy for @asset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unproxy" c:identifier="ges_asset_unproxy">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">Removes the proxy from the available list of proxies for the asset. If
+the given proxy is the default proxy of the list, then the next proxy
+in the available list (see ges_asset_list_proxies()) will become the
+default. If there are no other proxies, then the asset will no longer
+have a default #GESAsset:proxy.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">%TRUE if @proxy was successfully removed from @asset's proxy
+list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset to no longer proxy with @proxy</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">An existing proxy of @asset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="extractable-type" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESExtractable object type that can be extracted from the asset.</doc>
+ <type name="GType" c:type="GType"/>
+ </property>
+ <property name="id" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The ID of the asset. This should be unique amongst all assets with
+the same #GESAsset:extractable-type. Depending on the associated
+#GESExtractable implementation, this id may convey some information
+about the #GObject that should be extracted. Note that, as such, the
+ID will have an expected format, and you can not choose this value
+arbitrarily. By default, this will be set to the type name of the
+#GESAsset:extractable-type, but you should check the documentation
+of the extractable type to see whether they differ from the
+default behaviour.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="proxy" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The default proxy for this asset, or %NULL if it has no proxy. A
+proxy will act as a substitute for the original asset when the
+original is requested (see ges_asset_request()).
+
+Setting this property will not usually remove the existing proxy, but
+will replace it as the default (see ges_asset_set_proxy()).</doc>
+ <type name="Asset"/>
+ </property>
+ <property name="proxy-target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The asset that this asset is a proxy for, or %NULL if it is not a
+proxy for another asset.
+
+Note that even if this asset is acting as a proxy for another asset,
+but this asset is not the default #GESAsset:proxy, then @proxy-target
+will *still* point to this other asset. So you should check the
+#GESAsset:proxy property of @target-proxy before assuming it is the
+current default proxy for the target.
+
+Note that the #GObject::notify for this property is emitted after
+the #GESAsset:proxy #GObject::notify for the corresponding (if any)
+asset it is now the proxy of/no longer the proxy of.</doc>
+ <type name="Asset"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AssetPrivate" c:type="GESAssetPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AssetClass" c:type="GESAssetClass" glib:is-gtype-struct-for="Asset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <field name="parent">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="start_loading">
+ <callback name="start_loading" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="extract">
+ <callback name="extract" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A newly created object, or %NULL if an
+error occurred.</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The #GESAsset to extract an object from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="inform_proxy">
+ <callback name="inform_proxy">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="proxy_id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="proxied">
+ <callback name="proxied">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="request_id_update">
+ <callback name="request_id_update">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="proposed_new_id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="AssetLoadingReturn" c:type="GESAssetLoadingReturn">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <member name="error" value="0" c:identifier="GES_ASSET_LOADING_ERROR">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.h">Indicates that an error occurred</doc>
+ </member>
+ <member name="async" value="1" c:identifier="GES_ASSET_LOADING_ASYNC">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.h">Indicates that the loading is being performed
+asynchronously</doc>
+ </member>
+ <member name="ok" value="2" c:identifier="GES_ASSET_LOADING_OK">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.h">Indicates that the loading is complete, without
+error</doc>
+ </member>
+ </enumeration>
+ <record name="AssetPrivate" c:type="GESAssetPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ </record>
+ <class name="AudioSource" c:symbol-prefix="audio_source" c:type="GESAudioSource" parent="Source" abstract="1" glib:type-name="GESAudioSource" glib:get-type="ges_audio_source_get_type" glib:type-struct="AudioSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-source.c">## Children Properties
+
+You can use the following children properties through the
+#ges_track_element_set_child_property and alike set of methods:
+
+- #gdouble `volume`: volume factor, 1.0=100%.
+- #gboolean `mute`: mute channel.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Source" c:type="GESSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioSourcePrivate" c:type="GESAudioSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioSourceClass" c:type="GESAudioSourceClass" glib:is-gtype-struct-for="AudioSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-source.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClass" c:type="GESSourceClass"/>
+ </field>
+ <field name="create_source" introspectable="0">
+ <callback name="create_source" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-source.h"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioSourcePrivate" c:type="GESAudioSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-source.h"/>
+ </record>
+ <class name="AudioTestSource" c:symbol-prefix="audio_test_source" c:type="GESAudioTestSource" parent="AudioSource" glib:type-name="GESAudioTestSource" glib:get-type="ges_audio_test_source_get_type" glib:type-struct="AudioTestSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">Outputs a test audio stream using audiotestsrc. The default property values
+output silence. Useful for testing pipelines, or to fill gaps in an audio
+track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_freq" c:identifier="ges_audio_test_source_get_freq">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">Get the current frequency of @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">The current frequency of @self.</doc>
+ <type name="gdouble" c:type="double"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_volume" c:identifier="ges_audio_test_source_get_volume">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">Get the current volume of @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">The current volume of @self</doc>
+ <type name="gdouble" c:type="double"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_freq" c:identifier="ges_audio_test_source_set_freq">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">Lets you set the frequency applied on the track element</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ <parameter name="freq" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">The frequency you want to apply on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume" c:identifier="ges_audio_test_source_set_volume">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">Sets the volume of the test audio signal.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ <parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.c">The volume you want to apply on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="AudioSource" c:type="GESAudioSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioTestSourcePrivate" c:type="GESAudioTestSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioTestSourceClass" c:type="GESAudioTestSourceClass" glib:is-gtype-struct-for="AudioTestSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="AudioSourceClass" c:type="GESAudioSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioTestSourcePrivate" c:type="GESAudioTestSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-test-source.h"/>
+ </record>
+ <class name="AudioTrack" c:symbol-prefix="audio_track" c:type="GESAudioTrack" parent="Track" glib:type-name="GESAudioTrack" glib:get-type="ges_audio_track_get_type" glib:type-struct="AudioTrackClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-track.c">A #GESAudioTrack is a default audio #GESTrack, with a
+#GES_TRACK_TYPE_AUDIO #GESTrack:track-type and "audio/x-raw(ANY)"
+#GESTrack:caps.
+
+By default, an audio track will have its #GESTrack:restriction-caps
+set to "audio/x-raw" with the following properties:
+
+- format: "S32LE"
+- channels: 2
+- rate: 44100
+- layout: "interleaved"
+
+These fields are needed for negotiation purposes, but you can change
+their values if you wish. It is advised that you do so using
+ges_track_update_restriction_caps() with new values for the fields you
+wish to change, and any additional fields you may want to add. Unlike
+using ges_track_set_restriction_caps(), this will ensure that these
+default fields will at least have some value set.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-track.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_audio_track_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-track.c">Creates a new audio track, with a #GES_TRACK_TYPE_AUDIO
+#GESTrack:track-type, "audio/x-raw(ANY)" #GESTrack:caps, and
+"audio/x-raw" #GESTrack:restriction-caps with the properties:
+
+- format: "S32LE"
+- channels: 2
+- rate: 44100
+- layout: "interleaved"
+
+You should use ges_track_update_restriction_caps() if you wish to
+modify these fields, or add additional ones.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-track.c">The newly created audio track.</doc>
+ <type name="AudioTrack" c:type="GESAudioTrack*"/>
+ </return-value>
+ </constructor>
+ <field name="parent_instance">
+ <type name="Track" c:type="GESTrack"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioTrackPrivate" c:type="GESAudioTrackPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioTrackClass" c:type="GESAudioTrackClass" glib:is-gtype-struct-for="AudioTrack">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-track.h"/>
+ <field name="parent_class">
+ <type name="TrackClass" c:type="GESTrackClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioTrackPrivate" c:type="GESAudioTrackPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-track.h"/>
+ </record>
+ <class name="AudioTransition" c:symbol-prefix="audio_transition" c:type="GESAudioTransition" parent="Transition" glib:type-name="GESAudioTransition" glib:get-type="ges_audio_transition_get_type" glib:type-struct="AudioTransitionClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-transition.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_audio_transition_new" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-transition.c">Creates a new #GESAudioTransition.</doc>
+ <doc-deprecated xml:space="preserve">This should never be called by applications as this will
+be created by clips.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-transition.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-transition.c">The newly created #GESAudioTransition.</doc>
+ <type name="AudioTransition" c:type="GESAudioTransition*"/>
+ </return-value>
+ </constructor>
+ <field name="parent">
+ <type name="Transition" c:type="GESTransition"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioTransitionPrivate" c:type="GESAudioTransitionPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioTransitionClass" c:type="GESAudioTransitionClass" glib:is-gtype-struct-for="AudioTransition">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-transition.h"/>
+ <field name="parent_class">
+ <type name="TransitionClass" c:type="GESTransitionClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioTransitionPrivate" c:type="GESAudioTransitionPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-transition.h"/>
+ </record>
+ <class name="AudioUriSource" c:symbol-prefix="audio_uri_source" c:type="GESAudioUriSource" parent="AudioSource" glib:type-name="GESAudioUriSource" glib:get-type="ges_audio_uri_source_get_type" glib:type-struct="AudioUriSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-uri-source.h">### Children Properties
+
+ {{ libs/GESVideoUriSource-children-props.md }}</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-uri-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <property name="uri" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-audio-uri-source.c">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="AudioSource" c:type="GESAudioSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriSource" c:type="GESUriSource*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioUriSourceClass" c:type="GESAudioUriSourceClass" glib:is-gtype-struct-for="AudioUriSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-uri-source.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="AudioSourceClass" c:type="GESAudioSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioUriSourcePrivate" c:type="GESAudioUriSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-audio-uri-source.h"/>
+ </record>
+ <class name="BaseEffect" c:symbol-prefix="base_effect" c:type="GESBaseEffect" parent="Operation" abstract="1" glib:type-name="GESBaseEffect" glib:get-type="ges_base_effect_get_type" glib:type-struct="BaseEffectClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">A #GESBaseEffect is some operation that applies an effect to the data
+it receives.
+
+## Time Effects
+
+Some operations will change the timing of the stream data they receive
+in some way. In particular, the #GstElement that they wrap could alter
+the times of the segment they receive in a #GST_EVENT_SEGMENT event,
+or the times of a seek they receive in a #GST_EVENT_SEEK event. Such
+operations would be considered time effects since they translate the
+times they receive on their source to different times at their sink,
+and vis versa. This introduces two sets of time coordinates for the
+event: (internal) sink coordinates and (internal) source coordinates,
+where segment times are translated from the sink coordinates to the
+source coordinates, and seek times are translated from the source
+coordinates to the sink coordinates.
+
+If you use such an effect in GES, you will need to inform GES of the
+properties that control the timing with
+ges_base_effect_register_time_property(), and the effect's timing
+behaviour using ges_base_effect_set_time_translation_funcs().
+
+Note that a time effect should not have its
+#GESTrackElement:has-internal-source set to %TRUE.
+
+In addition, note that GES only *fully* supports time effects whose
+mapping from the source to sink coordinates (those applied to seeks)
+obeys:
+
++ Maps the time `0` to `0`. So initial time-shifting effects are
+ excluded.
++ Is monotonically increasing. So reversing effects, and effects that
+ jump backwards in the stream are excluded.
++ Can handle a reasonable #GstClockTime, relative to the project. So
+ this would exclude a time effect with an extremely large speed-up
+ that would cause the converted #GstClockTime seeks to overflow.
++ Is 'continuously reversible'. This essentially means that for every
+ time in the sink coordinates, we can, to 'good enough' accuracy,
+ calculate the corresponding time in the source coordinates. Moreover,
+ this should correspond to how segment times are translated from
+ sink to source.
++ Only depends on the registered time properties, rather than the
+ state of the #GstElement or the data it receives. This would exclude,
+ say, an effect that would speedup if there is more red in the image
+ it receives.
+
+Note that a constant-rate-change effect that is not extremely fast or
+slow would satisfy these conditions. For such effects, you may wish to
+use ges_effect_class_register_rate_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="is_time_effect" c:identifier="ges_base_effect_is_time_effect" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">Get whether the effect is considered a time effect or not. An effect
+with registered time properties or set translation functions is
+considered a time effect.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">%TRUE if @effect is considered a time effect.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="register_time_property" c:identifier="ges_base_effect_register_time_property" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">Register a child property of the effect as a property that, when set,
+can change the timing of its input data. The child property should be
+specified as in ges_timeline_element_lookup_child().
+
+You should also set the corresponding time translation using
+ges_base_effect_set_time_translation_funcs().
+
+Note that @effect must not be part of a clip, nor can it have
+#GESTrackElement:has-internal-source set to %TRUE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">%TRUE if the child property was found and newly registered.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ <parameter name="child_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">The name of the child property to register as
+a time property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_time_translation_funcs" c:identifier="ges_base_effect_set_time_translation_funcs" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">Set the time translation query functions for the time effect. If an
+effect is a time effect, it will have two sets of coordinates: one
+at its sink and one at its source. The given functions should be able
+to translate between these two sets of coordinates. More specifically,
+@source_to_sink_func should *emulate* how the corresponding #GstElement
+would translate the #GstSegment @time field, and @sink_to_source_func
+should emulate how the corresponding #GstElement would translate the
+seek query @start and @stop values, as used in gst_element_seek(). As
+such, @sink_to_source_func should act as an approximate reverse of
+@source_to_sink_func.
+
+Note, these functions will be passed a table of time properties, as
+registered in ges_base_effect_register_time_property(), and their
+values. The functions should emulate what the translation *would* be
+*if* the time properties were set to the given values. They should not
+use the currently set values.
+
+Note that @effect must not be part of a clip, nor can it have
+#GESTrackElement:has-internal-source set to %TRUE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">%TRUE if the translation functions were set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ <parameter name="source_to_sink_func" transfer-ownership="none" nullable="1" allow-none="1" scope="notified">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">The function to use
+for querying how a time is translated from the source coordinates to
+the sink coordinates of @effect</doc>
+ <type name="BaseEffectTimeTranslationFunc" c:type="GESBaseEffectTimeTranslationFunc"/>
+ </parameter>
+ <parameter name="sink_to_source_func" transfer-ownership="none" nullable="1" allow-none="1" scope="notified" closure="2" destroy="3">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">The function to use
+for querying how a time is translated from the sink coordinates to the
+source coordinates of @effect</doc>
+ <type name="BaseEffectTimeTranslationFunc" c:type="GESBaseEffectTimeTranslationFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" scope="notified">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">Data to pass to both @source_to_sink_func and
+@sink_to_source_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="async" destroy="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.c">Method to call to destroy
+@user_data, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Operation" c:type="GESOperation"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseEffectPrivate" c:type="GESBaseEffectPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseEffectClass" c:type="GESBaseEffectClass" glib:is-gtype-struct-for="BaseEffect">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">parent class</doc>
+ <type name="OperationClass" c:type="GESOperationClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="BaseEffectClip" c:symbol-prefix="base_effect_clip" c:type="GESBaseEffectClip" parent="OperationClip" abstract="1" glib:type-name="GESBaseEffectClip" glib:get-type="ges_base_effect_clip_get_type" glib:type-struct="BaseEffectClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect-clip.c">#GESBaseEffectClip-s are clips whose core elements are
+#GESBaseEffect-s.
+
+## Effects
+
+#GESBaseEffectClip-s can have **additional** #GESBaseEffect-s added as
+non-core elements. These additional effects are applied to the output
+of the core effects of the clip that they share a #GESTrack with. See
+#GESClip for how to add and move these effects from the clip.
+
+Note that you cannot add time effects to #GESBaseEffectClip, neither
+as core children, nor as additional effects.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="OperationClip" c:type="GESOperationClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseEffectClipPrivate" c:type="GESBaseEffectClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseEffectClipClass" c:type="GESBaseEffectClipClass" glib:is-gtype-struct-for="BaseEffectClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OperationClipClass" c:type="GESOperationClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseEffectClipPrivate" c:type="GESBaseEffectClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect-clip.h"/>
+ </record>
+ <record name="BaseEffectPrivate" c:type="GESBaseEffectPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ </record>
+ <callback name="BaseEffectTimeTranslationFunc" c:type="GESBaseEffectTimeTranslationFunc" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">A function for querying how an effect would translate a time if it had
+the given child property values set. The keys for @time_properties will
+be the same string that was passed to
+ges_base_effect_register_time_property(), the values will be #GValue*
+values of the corresponding child properties. You should always use the
+values given in @time_properties before using the currently set values.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-effect.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">The translated time.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">The #GESBaseEffect that is doing the time translation</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">The #GstClockTime to translation</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="time_property_values" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">A table of child
+property name/value pairs</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-base-effect.h">Data passed to ges_base_effect_set_time_translation_funcs()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="BaseTransitionClip" c:symbol-prefix="base_transition_clip" c:type="GESBaseTransitionClip" parent="OperationClip" abstract="1" glib:type-name="GESBaseTransitionClip" glib:get-type="ges_base_transition_clip_get_type" glib:type-struct="BaseTransitionClipClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-transition-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="OperationClip" c:type="GESOperationClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseTransitionClipPrivate" c:type="GESBaseTransitionClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseTransitionClipClass" c:type="GESBaseTransitionClipClass" glib:is-gtype-struct-for="BaseTransitionClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-transition-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OperationClipClass" c:type="GESOperationClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseTransitionClipPrivate" c:type="GESBaseTransitionClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-transition-clip.h"/>
+ </record>
+ <class name="BaseXmlFormatter" c:symbol-prefix="base_xml_formatter" c:type="GESBaseXmlFormatter" parent="Formatter" abstract="1" glib:type-name="GESBaseXmlFormatter" glib:get-type="ges_base_xml_formatter_get_type" glib:type-struct="BaseXmlFormatterClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-xml-formatter.h"/>
+ <implements name="Extractable"/>
+ <field name="parent">
+ <type name="Formatter" c:type="GESFormatter"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseXmlFormatterPrivate" c:type="GESBaseXmlFormatterPrivate*"/>
+ </field>
+ <field name="xmlcontent" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseXmlFormatterClass" c:type="GESBaseXmlFormatterClass" glib:is-gtype-struct-for="BaseXmlFormatter">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-xml-formatter.h"/>
+ <field name="parent">
+ <type name="FormatterClass" c:type="GESFormatterClass"/>
+ </field>
+ <field name="content_parser">
+ <type name="GLib.MarkupParser" c:type="GMarkupParser"/>
+ </field>
+ <field name="save">
+ <callback name="save" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-xml-formatter.h"/>
+ <return-value transfer-ownership="full">
+ <type name="GLib.String" c:type="GString*"/>
+ </return-value>
+ <parameters>
+ <parameter name="formatter" transfer-ownership="none">
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseXmlFormatterPrivate" c:type="GESBaseXmlFormatterPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-base-xml-formatter.h"/>
+ </record>
+ <function-macro name="CLIP_CLASS_CAN_ADD_EFFECTS" c:identifier="GES_CLIP_CLASS_CAN_ADD_EFFECTS" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">Whether the class allows for the user to add additional non-core
+#GESBaseEffect-s to clips from this class.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <parameters>
+ <parameter name="klass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESClipClass</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTAINER_CHILDREN" c:identifier="GES_CONTAINER_CHILDREN" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">The #GList containing the children of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">a #GESContainer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTAINER_HEIGHT" c:identifier="GES_CONTAINER_HEIGHT" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">The #GESContainer:height of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">a #GESContainer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="ChildrenControlMode" c:type="GESChildrenControlMode">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">To be used by subclasses only. This indicate how to handle a change in
+a child.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <member name="update" value="0" c:identifier="GES_CHILDREN_UPDATE">
+ </member>
+ <member name="ignore_notifies" value="1" c:identifier="GES_CHILDREN_IGNORE_NOTIFIES">
+ </member>
+ <member name="update_offsets" value="2" c:identifier="GES_CHILDREN_UPDATE_OFFSETS">
+ </member>
+ <member name="update_all_values" value="3" c:identifier="GES_CHILDREN_UPDATE_ALL_VALUES">
+ </member>
+ <member name="last" value="4" c:identifier="GES_CHILDREN_LAST">
+ </member>
+ </enumeration>
+ <class name="Clip" c:symbol-prefix="clip" c:type="GESClip" parent="Container" abstract="1" glib:type-name="GESClip" glib:get-type="ges_clip_get_type" glib:type-struct="ClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">#GESClip-s are the core objects of a #GESLayer. Each clip may exist in
+a single layer but may control several #GESTrackElement-s that span
+several #GESTrack-s. A clip will ensure that all its children share the
+same #GESTimelineElement:start and #GESTimelineElement:duration in
+their tracks, which will match the #GESTimelineElement:start and
+#GESTimelineElement:duration of the clip itself. Therefore, changing
+the timing of the clip will change the timing of the children, and a
+change in the timing of a child will change the timing of the clip and
+subsequently all its siblings. As such, a clip can be treated as a
+singular object in its layer.
+
+For most uses of a #GESTimeline, it is often sufficient to only
+interact with #GESClip-s directly, which will take care of creating and
+organising the elements of the timeline's tracks.
+
+## Core Children
+
+In more detail, clips will usually have some *core* #GESTrackElement
+children, which are created by the clip when it is added to a layer in
+a timeline. The type and form of these core children will depend on the
+clip's subclass. You can use ges_track_element_is_core() to determine
+whether a track element is considered such a core track element. Note,
+if a core track element is part of a clip, it will always be treated as
+a core *child* of the clip. You can connect to the
+#GESContainer::child-added signal to be notified of their creation.
+
+When a child is added to a clip, the timeline will select its tracks
+using #GESTimeline::select-tracks-for-object. Note that it may be the
+case that the child will still have no set #GESTrackElement:track
+after this process. For example, if the timeline does not have a track
+of the corresponding #GESTrack:track-type. A clip can safely contain
+such children, which may have their track set later, although they will
+play no functioning role in the timeline in the meantime.
+
+If a clip may create track elements with various
+#GESTrackElement:track-type(s), such as a #GESUriClip, but you only
+want it to create a subset of these types, you should set the
+#GESClip:supported-formats of the clip to the subset of types. This
+should be done *before* adding the clip to a layer.
+
+If a clip will produce several core elements of the same
+#GESTrackElement:track-type, you should connect to the timeline's
+#GESTimeline::select-tracks-for-object signal to coordinate which
+tracks each element should land in. Note, no two core children within a
+clip can share the same #GESTrack, so you should not select the same
+track for two separate core children. Provided you stick to this rule,
+it is still safe to select several tracks for the same core child, the
+core child will be copied into the additional tracks. You can manually
+add the child to more tracks later using ges_clip_add_child_to_track().
+If you do not wish to use a core child, you can always select no track.
+
+The #GESTimelineElement:in-point of the clip will control the
+#GESTimelineElement:in-point of its core children to be the same
+value if their #GESTrackElement:has-internal-source is set to %TRUE.
+
+The #GESTimelineElement:max-duration of the clip is the minimum
+#GESTimelineElement:max-duration of its core children. If you set its
+value to anything other than its current value, this will also set the
+#GESTimelineElement:max-duration of all its core children to the same
+value if their #GESTrackElement:has-internal-source is set to %TRUE.
+As a special case, whilst a clip does not yet have any core children,
+its #GESTimelineElement:max-duration may be set to indicate what its
+value will be once they are created.
+
+## Effects
+
+Some subclasses (#GESSourceClip and #GESBaseEffectClip) may also allow
+their objects to have additional non-core #GESBaseEffect-s elements as
+children. These are additional effects that are applied to the output
+data of the core elements. They can be added to the clip using
+ges_clip_add_top_effect(), which will take care of adding the effect to
+the timeline's tracks. The new effect will be placed between the clip's
+core track elements and its other effects. As such, the newly added
+effect will be applied to any source data **before** the other existing
+effects. You can change the ordering of effects using
+ges_clip_set_top_effect_index().
+
+Tracks are selected for top effects in the same way as core children.
+If you add a top effect to a clip before it is part of a timeline, and
+later add the clip to a timeline, the track selection for the top
+effects will occur just after the track selection for the core
+children. If you add a top effect to a clip that is already part of a
+timeline, the track selection will occur immediately. Since a top
+effect must be applied on top of a core child, if you use
+#GESTimeline::select-tracks-for-object, you should ensure that the
+added effects are destined for a #GESTrack that already contains a core
+child.
+
+In addition, if the core child in the track is not
+#GESTrackElement:active, then neither can any of its effects be
+#GESTrackElement:active. Therefore, if a core child is made in-active,
+all of the additional effects in the same track will also become
+in-active. Similarly, if an effect is set to be active, then the core
+child will also become active, but other effects will be left alone.
+Finally, if an active effect is added to the track of an in-active core
+child, it will become in-active as well. Note, in contrast, setting a
+core child to be active, or an effect to be in-active will *not* change
+the other children in the same track.
+
+### Time Effects
+
+Some effects also change the timing of their data (see #GESBaseEffect
+for what counts as a time effect). Note that a #GESBaseEffectClip will
+refuse time effects, but a #GESSource will allow them.
+
+When added to a clip, time effects may adjust the timing of other
+children in the same track. Similarly, when changing the order of
+effects, making them (in)-active, setting their time property values
+or removing time effects. These can cause the #GESClip:duration-limit
+to change in value. However, if such an operation would ever cause the
+#GESTimelineElement:duration to shrink such that a clip's #GESSource is
+totally overlapped in the timeline, the operation would be prevented.
+Note that the same can happen when adding non-time effects with a
+finite #GESTimelineElement:max-duration.
+
+Therefore, when working with time effects, you should -- more so than
+usual -- not assume that setting the properties of the clip's children
+will succeed. In particular, you should use
+ges_timeline_element_set_child_property_full() when setting the time
+properties.
+
+If you wish to preserve the *internal* duration of a source in a clip
+during these time effect operations, you can do something like the
+following.
+
+```c
+void
+do_time_effect_change (GESClip * clip)
+{
+ GList *tmp, *children;
+ GESTrackElement *source;
+ GstClockTime source_outpoint;
+ GstClockTime new_end;
+ GError *error = NULL;
+
+ // choose some active source in a track to preserve the internal
+ // duration of
+ source = ges_clip_get_track_element (clip, NULL, GES_TYPE_SOURCE);
+
+ // note its current internal end time
+ source_outpoint = ges_clip_get_internal_time_from_timeline_time (
+ clip, source, GES_TIMELINE_ELEMENT_END (clip), NULL);
+
+ // handle invalid out-point
+
+ // stop the children's control sources from clamping when their
+ // out-point changes with a change in the time effects
+ children = ges_container_get_children (GES_CONTAINER (clip), FALSE);
+
+ for (tmp = children; tmp; tmp = tmp-&gt;next)
+ ges_track_element_set_auto_clamp_control_source (tmp-&gt;data, FALSE);
+
+ // add time effect, or set their children properties, or move them around
+ ...
+ // user can make sure that if a time effect changes one source, we should
+ // also change the time effect for another source. E.g. if
+ // "GstVideorate::rate" is set to 2.0, we also set "GstPitch::rate" to
+ // 2.0
+
+ // Note the duration of the clip may have already changed if the
+ // duration-limit of the clip dropped below its current value
+
+ new_end = ges_clip_get_timeline_time_from_internal_time (
+ clip, source, source_outpoint, &amp;error);
+ // handle error
+
+ if (!ges_timeline_elemnet_edit_full (GES_TIMELINE_ELEMENT (clip),
+ -1, GES_EDIT_MODE_TRIM, GES_EDGE_END, new_end, &amp;error))
+ // handle error
+
+ for (tmp = children; tmp; tmp = tmp-&gt;next)
+ ges_track_element_set_auto_clamp_control_source (tmp-&gt;data, TRUE);
+
+ g_list_free_full (children, gst_object_unref);
+ gst_object_unref (source);
+}
+```</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="create_track_element">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">The #GESTrackElement created
+by @clip, or %NULL if @clip can not provide a track element for the
+given @type or an error occurred.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESTrackType to create a #GESTrackElement for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_track_elements">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A list of
+the #GESTrackElement-s created by @clip for the given @type, or %NULL
+if no track elements are created or an error occurred.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESTrackType to create #GESTrackElement-s for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_asset" c:identifier="ges_clip_add_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Extracts a #GESTrackElement from an asset and adds it to the clip.
+This can be used to add effects that derive from the asset to the
+clip, but this method is not intended to be used to create the core
+elements of the clip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The newly created element, or
+%NULL if an error occurred.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">An asset with #GES_TYPE_TRACK_ELEMENT as its
+#GESAsset:extractable-type</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_child_to_track" c:identifier="ges_clip_add_child_to_track" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Adds the track element child of the clip to a specific track.
+
+If the given child is already in another track, this will create a copy
+of the child, add it to the clip, and add this copy to the track.
+
+You should only call this whilst a clip is part of a #GESTimeline, and
+for tracks that are in the same timeline.
+
+This method is an alternative to using the
+#GESTimeline::select-tracks-for-object signal, but can be used to
+complement it when, say, you wish to copy a clip's children from one
+track into a new one.
+
+When the child is a core child, it must be added to a track that does
+not already contain another core child of the same clip. If it is not a
+core child (an additional effect), then it must be added to a track
+that already contains one of the core children of the same clip.
+
+This method can also fail if the adding the track element to the track
+would break a configuration rule of the corresponding #GESTimeline,
+such as causing three sources to overlap at a single time, or causing
+a source to completely overlap another in the same track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The element that was added to @track, either
+@child or a copy of child, or %NULL if the element could not be added.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A child of @clip</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The track to add @child to</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_top_effect" c:identifier="ges_clip_add_top_effect" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Add a top effect to a clip at the given index.
+
+Unlike using ges_container_add(), this allows you to set the index
+in advance. It will also check that no error occurred during the track
+selection for the effect.
+
+Note, only subclasses of #GESClipClass that have
+#GES_CLIP_CLASS_CAN_ADD_EFFECTS set to %TRUE (such as #GESSourceClip
+and #GESBaseEffectClip) can have additional top effects added.
+
+Note, if the effect is a time effect, this may be refused if the clip
+would not be able to adapt itself once the effect is added.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">%TRUE if @effect was successfully added to @clip at @index.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A top effect to add</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The index to add @effect at, or -1 to add at the highest</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_track_element" c:identifier="ges_clip_find_track_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Finds an element controlled by the clip. If @track is given,
+then only the track elements in @track are searched for. If @type is
+given, then this function searches for a track element of the given
+@type.
+
+Note, if multiple track elements in the clip match the given criteria,
+this will return the element amongst them with the highest
+#GESTimelineElement:priority (numerically, the smallest). See
+ges_clip_find_track_elements() if you wish to find all such elements.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The element controlled by
+@clip, in @track, and of the given @type, or %NULL if no such element
+could be found.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The track to search in, or %NULL to search in
+all tracks</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The type of track element to search for, or `G_TYPE_NONE` to
+match any type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_track_elements" c:identifier="ges_clip_find_track_elements">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Finds the #GESTrackElement-s controlled by the clip that match the
+given criteria. If @track is given as %NULL and @track_type is given as
+#GES_TRACK_TYPE_UNKNOWN, then the search will match all elements in any
+track, including those with no track, and of any
+#GESTrackElement:track-type. Otherwise, if @track is not %NULL, but
+@track_type is #GES_TRACK_TYPE_UNKNOWN, then only the track elements in
+@track are searched for. Otherwise, if @track_type is not
+#GES_TRACK_TYPE_UNKNOWN, but @track is %NULL, then only the track
+elements whose #GESTrackElement:track-type matches @track_type are
+searched for. Otherwise, when both are given, the track elements that
+match **either** criteria are searched for. Therefore, if you wish to
+only find elements in a specific track, you should give the track as
+@track, but you should not give the track's #GESTrack:track-type as
+@track_type because this would also select elements from other tracks
+of the same type.
+
+You may also give @type to _further_ restrict the search to track
+elements of the given @type.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A list of all
+the #GESTrackElement-s controlled by @clip, in @track or of the given
+@track_type, and of the given @type.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The track to search in, or %NULL to search in
+all tracks</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ <parameter name="track_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The track-type of the track element to search for, or
+#GES_TRACK_TYPE_UNKNOWN to match any track type</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The type of track element to search for, or %G_TYPE_NONE to
+match any type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_duration_limit" c:identifier="ges_clip_get_duration_limit" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Gets the #GESClip:duration-limit of the clip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The duration-limit of @clip.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_internal_time_from_timeline_time" c:identifier="ges_clip_get_internal_time_from_timeline_time" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Convert the timeline time to an internal source time of the child.
+This will take any time effects placed on the clip into account (see
+#GESBaseEffect for what time effects are supported, and how to
+declare them in GES).
+
+When @timeline_time is above the #GESTimelineElement:start of @clip,
+this will return the internal time at which the content that appears at
+@timeline_time in the output of the timeline is created in @child. For
+example, if @timeline_time corresponds to the current seek position,
+this would let you know which part of a media file is being read.
+
+This will be done assuming the clip has an indefinite end, so the
+internal time may be beyond the current out-point of the child, or even
+its #GESTimelineElement:max-duration.
+
+If, instead, @timeline_time is below the current
+#GESTimelineElement:start of @clip, this will return what you would
+need to set the #GESTimelineElement:in-point of @child to if you set
+the #GESTimelineElement:start of @clip to @timeline_time and wanted
+to keep the content of @child currently found at the current
+#GESTimelineElement:start of @clip at the same timeline position. If
+this would be negative, the conversion fails. This is useful for
+determining what #GESTimelineElement:in-point would result from a
+#GES_EDIT_MODE_TRIM to @timeline_time.
+
+Note that whilst a clip has no time effects, this second return is
+equivalent to finding the internal time at which the content that
+appears at @timeline_time in the timeline can be found in @child if it
+had indefinite extent in both directions. However, with non-linear time
+effects this second return will be more distinct.
+
+In either case, the returned time would be appropriate to use for the
+#GESTimelineElement:in-point or #GESTimelineElement:max-duration of the
+child.
+
+See ges_clip_get_timeline_time_from_internal_time(), which performs the
+reverse.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The time in the internal coordinates of @child corresponding
+to @timeline_time, or #GST_CLOCK_TIME_NONE if the conversion could not
+be performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">An #GESTrackElement:active child of @clip with a
+#GESTrackElement:track</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="timeline_time" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A time in the timeline time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_layer" c:identifier="ges_clip_get_layer">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Gets the #GESClip:layer of the clip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The layer @clip is in, or %NULL if
+@clip is not in any layer.</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_supported_formats" c:identifier="ges_clip_get_supported_formats">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Gets the #GESClip:supported-formats of the clip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The #GESTrackType-s supported by @clip.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline_time_from_internal_time" c:identifier="ges_clip_get_timeline_time_from_internal_time" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Convert the internal source time from the child to a timeline time.
+This will take any time effects placed on the clip into account (see
+#GESBaseEffect for what time effects are supported, and how to
+declare them in GES).
+
+When @internal_time is above the #GESTimelineElement:in-point of
+@child, this will return the timeline time at which the internal
+content found at @internal_time appears in the output of the timeline's
+track. For example, this would let you know where in the timeline a
+particular scene in a media file would appear.
+
+This will be done assuming the clip has an indefinite end, so the
+timeline time may be beyond the end of the clip, or even breaking its
+#GESClip:duration-limit.
+
+If, instead, @internal_time is below the current
+#GESTimelineElement:in-point of @child, this will return what you would
+need to set the #GESTimelineElement:start of @clip to if you set the
+#GESTimelineElement:in-point of @child to @internal_time and wanted to
+keep the content of @child currently found at the current
+#GESTimelineElement:start of @clip at the same timeline position. If
+this would be negative, the conversion fails. This is useful for
+determining what position to use in a #GES_EDIT_MODE_TRIM if you wish
+to trim to a specific point in the internal content, such as a
+particular scene in a media file.
+
+Note that whilst a clip has no time effects, this second return is
+equivalent to finding the timeline time at which the content of @child
+at @internal_time would be found in the timeline if it had indefinite
+extent in both directions. However, with non-linear time effects this
+second return will be more distinct.
+
+In either case, the returned time would be appropriate to use in
+ges_timeline_element_edit() for #GES_EDIT_MODE_TRIM, and similar, if
+you wish to use a particular internal point as a reference. For
+example, you could choose to end a clip at a certain internal
+'out-point', similar to the #GESTimelineElement:in-point, by
+translating the desired end time into the timeline coordinates, and
+using this position to trim the end of a clip.
+
+See ges_clip_get_internal_time_from_timeline_time(), which performs the
+reverse, or ges_clip_get_timeline_time_from_source_frame() which does
+the same conversion, but using frame numbers.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The time in the timeline coordinates corresponding to
+@internal_time, or #GST_CLOCK_TIME_NONE if the conversion could not be
+performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">An #GESTrackElement:active child of @clip with a
+#GESTrackElement:track</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="internal_time" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A time in the internal time coordinates of @child</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline_time_from_source_frame" c:identifier="ges_clip_get_timeline_time_from_source_frame" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Convert the source frame number to a timeline time. This acts the same
+as ges_clip_get_timeline_time_from_internal_time() using the core
+children of the clip and using the frame number to specify the internal
+position, rather than a timestamp.
+
+The returned timeline time can be used to seek or edit to a specific
+frame.
+
+Note that you can get the frame timestamp of a particular clip asset
+with ges_clip_asset_get_frame_time().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The timestamp corresponding to @frame_number in the core
+children of @clip, in the timeline coordinates, or #GST_CLOCK_TIME_NONE
+if the conversion could not be performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The frame number to get the corresponding timestamp of
+in the timeline coordinates</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_top_effect_index" c:identifier="ges_clip_get_top_effect_index">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Gets the internal index of an effect in the clip. The index of effects
+in a clip will run from 0 to n-1, where n is the total number of
+effects. If two effects share the same #GESTrackElement:track, the
+effect with the numerically lower index will be applied to the source
+data **after** the other effect, i.e. output data will always flow from
+a higher index effect to a lower index effect.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The index of @effect in @clip, or -1 if something went wrong.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The effect we want to get the index of</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_top_effect_position" c:identifier="ges_clip_get_top_effect_position">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_top_effects" c:identifier="ges_clip_get_top_effects">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Gets the #GESBaseEffect-s that have been added to the clip. The
+returned list is ordered by their internal index in the clip. See
+ges_clip_get_top_effect_index().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A list of all
+#GESBaseEffect-s that have been added to @clip.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="move_to_layer" c:identifier="ges_clip_move_to_layer">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">See ges_clip_move_to_layer_full(), which also gives an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">%TRUE if @clip was successfully moved to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The new layer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="move_to_layer_full" c:identifier="ges_clip_move_to_layer_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Moves a clip to a new layer. If the clip already exists in a layer, it
+is first removed from its current layer before being added to the new
+layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">%TRUE if @clip was successfully moved to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The new layer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_top_effect" c:identifier="ges_clip_remove_top_effect" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Remove a top effect from the clip.
+
+Note, if the effect is a time effect, this may be refused if the clip
+would not be able to adapt itself once the effect is removed.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">%TRUE if @effect was successfully added to @clip at @index.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The top effect to remove</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_supported_formats" c:identifier="ges_clip_set_supported_formats">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Sets the #GESClip:supported-formats of the clip. This should normally
+only be called by subclasses, which should be responsible for updating
+its value, rather than the user.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="supportedformats" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The #GESTrackType-s supported by @clip</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_index" c:identifier="ges_clip_set_top_effect_index">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">See ges_clip_set_top_effect_index_full(), which also gives an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">%TRUE if @effect was successfully moved to @newindex.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">An effect within @clip to move</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newindex" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The index for @effect in @clip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_index_full" c:identifier="ges_clip_set_top_effect_index_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Set the index of an effect within the clip. See
+ges_clip_get_top_effect_index(). The new index must be an existing
+index of the clip. The effect is moved to the new index, and the other
+effects may be shifted in index accordingly to otherwise maintain the
+ordering.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">%TRUE if @effect was successfully moved to @newindex.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">An effect within @clip to move</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newindex" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The index for @effect in @clip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_priority" c:identifier="ges_clip_set_top_effect_priority">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newpriority" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="split" c:identifier="ges_clip_split">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">See ges_clip_split_full(), which also gives an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The newly created clip resulting
+from the splitting @clip, or %NULL if @clip can't be split.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The #GESClip to split</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The timeline position at which to perform the split</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="split_full" c:identifier="ges_clip_split_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">Splits a clip at the given timeline position into two clips. The clip
+must already have a #GESClip:layer.
+
+The original clip's #GESTimelineElement:duration is reduced such that
+its end point matches the split position. Then a new clip is created in
+the same layer, whose #GESTimelineElement:start matches the split
+position and #GESTimelineElement:duration will be set such that its end
+point matches the old end point of the original clip. Thus, the two
+clips together will occupy the same positions in the timeline as the
+original clip did.
+
+The children of the new clip will be new copies of the original clip's
+children, so it will share the same sources and use the same
+operations.
+
+The new clip will also have its #GESTimelineElement:in-point set so
+that any internal data will appear in the timeline at the same time.
+Thus, when the timeline is played, the playback of data should
+appear the same. This may be complicated by any additional
+#GESEffect-s that have been placed on the original clip that depend on
+the playback time or change the data consumption rate of sources. This
+method will attempt to translate these effects such that the playback
+appears the same. In such complex situations, you may get a better
+result if you place the clip in a separate sub #GESProject, which only
+contains this clip (and its effects), and in the original layer
+create two neighbouring #GESUriClip-s that reference this sub-project,
+but at a different #GESTimelineElement:in-point.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The newly created clip resulting
+from the splitting @clip, or %NULL if @clip can't be split.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The #GESClip to split</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The timeline position at which to perform the split, between
+the start and end of the clip</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="duration-limit" version="1.18" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The maximum #GESTimelineElement:duration that can be *currently* set
+for the clip, taking into account the #GESTimelineElement:in-point,
+#GESTimelineElement:max-duration, #GESTrackElement:active, and
+#GESTrackElement:track properties of its children, as well as any
+time effects. If there is no limit, this will be set to
+#GST_CLOCK_TIME_NONE.
+
+Note that whilst a clip has no children in any tracks, the limit will
+be unknown, and similarly set to #GST_CLOCK_TIME_NONE.
+
+If the duration-limit would ever go below the current
+#GESTimelineElement:duration of the clip due to a change in the above
+variables, its #GESTimelineElement:duration will be set to the new
+limit.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The layer this clip lies in.
+
+If you want to connect to this property's #GObject::notify signal,
+you should connect to it with g_signal_connect_after() since the
+signal emission may be stopped internally.</doc>
+ <type name="Layer"/>
+ </property>
+ <property name="supported-formats" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.c">The #GESTrackType-s that the clip supports, which it can create
+#GESTrackElement-s for. Note that this can be a combination of
+#GESTrackType flags to indicate support for several
+#GESTrackElement:track-type elements.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Container" c:type="GESContainer"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ClipPrivate" c:type="GESClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="ClipAsset" c:symbol-prefix="clip_asset" c:type="GESClipAsset" parent="Asset" glib:type-name="GESClipAsset" glib:get-type="ges_clip_asset_get_type" glib:type-struct="ClipAssetClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The #GESUriClipAsset is a special #GESAsset specilized in #GESClip.
+it is mostly used to get information about the #GESTrackType-s the objects extracted
+from it can potentialy create #GESTrackElement for.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <virtual-method name="get_natural_framerate" invoker="get_natural_framerate" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_frame_time" c:identifier="ges_clip_asset_get_frame_time" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">Converts the given frame number into a timestamp, using the "natural" frame
+rate of the asset.
+
+You can use this to reference a specific frame in a media file and use this
+as, for example, the `in-point` or `max-duration` of a #GESClip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The timestamp corresponding to @frame_number in the element source, given
+in internal time coordinates, or #GST_CLOCK_TIME_NONE if the clip asset does not have a
+natural frame rate.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The object for which to compute timestamp for specifed frame</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The frame number we want the internal time coordinate timestamp of</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_natural_framerate" c:identifier="ges_clip_asset_get_natural_framerate" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_supported_formats" c:identifier="ges_clip_asset_get_supported_formats">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">Gets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The track types on which @self will create TrackElement when added to
+a layer</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">a #GESClipAsset</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_supported_formats" c:identifier="ges_clip_asset_set_supported_formats">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">Sets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">a #GESClipAsset</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="supportedformats" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The track types supported by the GESClipAsset</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="supported-formats" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The formats supported by the asset.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Asset" c:type="GESAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ClipAssetPrivate" c:type="GESClipAssetPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ClipAssetClass" c:type="GESClipAssetClass" glib:is-gtype-struct-for="ClipAsset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <field name="parent">
+ <type name="AssetClass" c:type="GESAssetClass"/>
+ </field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip-asset.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ClipAssetPrivate" c:type="GESClipAssetPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip-asset.h"/>
+ </record>
+ <record name="ClipClass" c:type="GESClipClass" glib:is-gtype-struct-for="Clip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="ContainerClass" c:type="GESContainerClass"/>
+ </field>
+ <field name="create_track_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">Method to create the core #GESTrackElement of a clip
+of this class. If a clip of this class may create several track elements per
+track type, this should be left as %NULL, and
+GESClipClass::create_track_elements should be used instead. Otherwise, you
+should implement this class method and leave
+GESClipClass::create_track_elements as the default implementation</doc>
+ <type name="CreateTrackElementFunc" c:type="GESCreateTrackElementFunc"/>
+ </field>
+ <field name="create_track_elements">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">Method to create the (multiple) core
+#GESTrackElement-s of a clip of this class. If
+GESClipClass::create_track_element is implemented, this should be kept as the
+default implementation</doc>
+ <type name="CreateTrackElementsFunc" c:type="GESCreateTrackElementsFunc"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <field name="can_add_effects" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ </union>
+ </record>
+ <record name="ClipPrivate" c:type="GESClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ </record>
+ <class name="CommandLineFormatter" c:symbol-prefix="command_line_formatter" c:type="GESCommandLineFormatter" parent="Formatter" glib:type-name="GESCommandLineFormatter" glib:get-type="ges_command_line_formatter_get_type" glib:type-struct="CommandLineFormatterClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.h"/>
+ <implements name="Extractable"/>
+ <function name="get_help" c:identifier="ges_command_line_formatter_get_help" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.c">Creates a help string based on @commands.
+
+Result: (transfer full): A help string.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.h"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nargs" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.c">Number of commands in @commands</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="commands" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.c">Commands</doc>
+ <array length="0" zero-terminated="0" c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_timeline_uri" c:identifier="ges_command_line_formatter_get_timeline_uri" version="1.10">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.h"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.c">A GESTimeline to serialize</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <field name="parent_instance">
+ <type name="Formatter" c:type="GESFormatter"/>
+ </field>
+ <field name="priv">
+ <type name="CommandLineFormatterPrivate" c:type="GESCommandLineFormatterPrivate*"/>
+ </field>
+ </class>
+ <record name="CommandLineFormatterClass" c:type="GESCommandLineFormatterClass" glib:is-gtype-struct-for="CommandLineFormatter">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.h"/>
+ <field name="parent_class">
+ <type name="FormatterClass" c:type="GESFormatterClass"/>
+ </field>
+ </record>
+ <record name="CommandLineFormatterPrivate" c:type="GESCommandLineFormatterPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-command-line-formatter.h"/>
+ </record>
+ <class name="Container" c:symbol-prefix="container" c:type="GESContainer" parent="TimelineElement" abstract="1" glib:type-name="GESContainer" glib:get-type="ges_container_get_type" glib:type-struct="ContainerClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A #GESContainer is a timeline element that controls other
+#GESTimelineElement-s, which are its children. In particular, it is
+responsible for maintaining the relative #GESTimelineElement:start and
+#GESTimelineElement:duration times of its children. Therefore, if a
+container is temporally adjusted or moved to a new layer, it may
+accordingly adjust and move its children. Similarly, a change in one of
+its children may prompt the parent to correspondingly change its
+siblings.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <function name="group" c:identifier="ges_container_group">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Groups the containers into a single container by merging them. The
+containers must all belong to the same #GESTimelineElement:timeline.
+
+If the elements are all #GESClip-s then this method will attempt to
+combine them all into a single #GESClip. This should succeed if they:
+share the same #GESTimelineElement:start, #GESTimelineElement:duration
+and #GESTimelineElement:in-point; exist in the same layer; and all of
+the sources share the same #GESAsset. If this fails, or one of the
+elements is not a #GESClip, this method will try to create a #GESGroup
+instead.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The container created by merging
+@containers, or %NULL if they could not be merged into a single
+container.</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="containers" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">
+The #GESContainer-s to group</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="add_child">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="child_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="child_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="edit" invoker="edit" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Edits the container within its timeline.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The #GESContainer to edit</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edge of @container where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="remove_child">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="ungroup" invoker="ungroup">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Ungroups the container by splitting it into several containers
+containing various children of the original. The rules for how the
+container splits depends on the subclass. A #GESGroup will simply split
+into its children. A #GESClip will split into one #GESClip per
+#GESTrackType it overlaps with (so an audio-video clip will split into
+an audio clip and a video clip), where each clip contains all the
+#GESTrackElement-s from the original clip with a matching
+#GESTrackElement:track-type.
+
+If @recursive is %TRUE, and the container contains other containers as
+children, then they will also be ungrouped, and so on.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The container to ungroup</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Whether to recursively ungroup @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add" c:identifier="ges_container_add">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Adds a timeline element to the container. The element will now be a
+child of the container (and the container will be the
+#GESTimelineElement:parent of the added element), which means that it
+is now controlled by the container. This may change the properties of
+the child or the container, depending on the subclass.
+
+Additionally, the children properties of the newly added element will
+be shared with the container, meaning they can also be read and set
+using ges_timeline_element_get_child_property() and
+ges_timeline_element_set_child_property() on the container.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">%TRUE if @child was successfully added to @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A #GESContainer</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The element to add as a child</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit" c:identifier="ges_container_edit" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Edits the container within its timeline.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The #GESContainer to edit</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edge of @container where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_children" c:identifier="ges_container_get_children">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Get the list of timeline elements contained in the container. If
+@recursive is %TRUE, and the container contains other containers as
+children, then their children will be added to the list, in addition to
+themselves, and so on.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The list of
+#GESTimelineElement-s contained in @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TimelineElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A #GESContainer</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Whether to recursively get children in @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove" c:identifier="ges_container_remove">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Removes a timeline element from the container. The element will no
+longer be controlled by the container.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">%TRUE if @child was successfully removed from @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A #GESContainer</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The child to remove</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ungroup" c:identifier="ges_container_ungroup">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Ungroups the container by splitting it into several containers
+containing various children of the original. The rules for how the
+container splits depends on the subclass. A #GESGroup will simply split
+into its children. A #GESClip will split into one #GESClip per
+#GESTrackType it overlaps with (so an audio-video clip will split into
+an audio clip and a video clip), where each clip contains all the
+#GESTrackElement-s from the original clip with a matching
+#GESTrackElement:track-type.
+
+If @recursive is %TRUE, and the container contains other containers as
+children, then they will also be ungrouped, and so on.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The container to ungroup</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Whether to recursively ungroup @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The span of the container's children's #GESTimelineElement:priority
+values, which is the number of integers that lie between (inclusive)
+the minimum and maximum priorities found amongst the container's
+children (maximum - minimum + 1).</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="parent">
+ <type name="TimelineElement" c:type="GESTimelineElement"/>
+ </field>
+ <field name="children">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">The list of
+#GESTimelineElement-s controlled by this Container</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TimelineElement"/>
+ </type>
+ </field>
+ <field name="height">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.h">The #GESContainer:height of @obj</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="children_control_mode">
+ <type name="ChildrenControlMode" c:type="GESChildrenControlMode"/>
+ </field>
+ <field name="initiated_move">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ContainerPrivate" c:type="GESContainerPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="child-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Will be emitted after a child is added to the container. Usually,
+you should connect with g_signal_connect_after() since the signal
+may be stopped internally.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The child that was added</doc>
+ <type name="TimelineElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-removed" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Will be emitted after a child is removed from the container.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The child that was removed</doc>
+ <type name="TimelineElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ContainerClass" c:type="GESContainerClass" glib:is-gtype-struct-for="Container">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
+ </field>
+ <field name="child_added">
+ <callback name="child_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="child_removed">
+ <callback name="child_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_child">
+ <callback name="add_child">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="remove_child">
+ <callback name="remove_child">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="ungroup">
+ <callback name="ungroup">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The container to ungroup</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">Whether to recursively ungroup @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="group" introspectable="0">
+ <callback name="group" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value>
+ <type name="Container" c:type="GESContainer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="containers" transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="edit">
+ <callback name="edit">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The #GESContainer to edit</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edge of @container where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-container.c">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="grouping_priority" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ContainerPrivate" c:type="GESContainerPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-container.h"/>
+ </record>
+ <callback name="CreateElementForGapFunc" c:type="GESCreateElementForGapFunc" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.h">A function that creates a #GstElement that can be used as a source to
+fill the gaps of the track. A gap is a timeline region where the track
+has no #GESTrackElement sources.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value>
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.h">A source #GstElement to fill gaps in @track.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.h">The #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementFunc" c:type="GESCreateTrackElementFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A method for creating the core #GESTrackElement of a clip, to be added
+to a #GESTrack of the given track type.
+
+If a clip may produce several track elements per track type,
+#GESCreateTrackElementsFunc is more appropriate.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">The #GESTrackElement created
+by @clip, or %NULL if @clip can not provide a track element for the
+given @type or an error occurred.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESTrackType to create a #GESTrackElement for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementsFunc" c:type="GESCreateTrackElementsFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A method for creating the core #GESTrackElement-s of a clip, to be
+added to #GESTrack-s of the given track type.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A list of
+the #GESTrackElement-s created by @clip for the given @type, or %NULL
+if no track elements are created or an error occurred.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A #GESTrackType to create #GESTrackElement-s for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function-macro name="DECLARE_TYPE" c:identifier="GES_DECLARE_TYPE" introspectable="0">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-types.h"/>
+ <parameters>
+ <parameter name="ObjName">
+ </parameter>
+ <parameter name="obj_name">
+ </parameter>
+ <parameter name="OBJ_NAME">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEPRECATED_FOR" c:identifier="GES_DEPRECATED_FOR" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-prelude.h"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EXTRACTABLE_GET_INTERFACE" c:identifier="GES_EXTRACTABLE_GET_INTERFACE" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="Edge" glib:type-name="GESEdge" glib:get-type="ges_edge_get_type" c:type="GESEdge">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The edges of an object contain in a #GESTimeline or #GESTrack</doc>
+ <member name="edge_start" value="0" c:identifier="GES_EDGE_START" glib:nick="edge_start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Represents the start of an object.</doc>
+ </member>
+ <member name="start" value="0" c:identifier="GES_EDGE_START" glib:nick="start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Represents the start of an object.</doc>
+ </member>
+ <member name="edge_end" value="1" c:identifier="GES_EDGE_END" glib:nick="edge_end">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Represents the end of an object.</doc>
+ </member>
+ <member name="end" value="1" c:identifier="GES_EDGE_END" glib:nick="end">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Represents the end of an object.</doc>
+ </member>
+ <member name="edge_none" value="2" c:identifier="GES_EDGE_NONE" glib:nick="edge_none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Represent the fact we are not working with any edge of an
+ object.</doc>
+ </member>
+ <member name="none" value="2" c:identifier="GES_EDGE_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Represent the fact we are not working with any edge of an
+ object.</doc>
+ </member>
+ <function name="name" c:identifier="ges_edge_name" version="1.16">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-enums.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.c">A human friendly name for @edge</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.c">The #GESEdge to get the name of</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="EditMode" glib:type-name="GESEditMode" glib:get-type="ges_edit_mode_get_type" c:type="GESEditMode">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">When a single timeline element is edited within its timeline at some
+position, using ges_timeline_element_edit(), depending on the edit
+mode, its #GESTimelineElement:start, #GESTimelineElement:duration or
+#GESTimelineElement:in-point will be adjusted accordingly. In addition,
+any clips may change #GESClip:layer.
+
+Each edit can be broken down into a combination of three basic edits:
+
++ MOVE: This moves the start of the element to the edit position.
++ START-TRIM: This cuts or grows the start of the element, whilst
+ maintaining the time at which its internal content appears in the
+ timeline data output. If the element is made shorter, the data that
+ appeared at the edit position will still appear in the timeline at
+ the same time. If the element is made longer, the data that appeared
+ at the previous start of the element will still appear in the
+ timeline at the same time.
++ END-TRIM: Similar to START-TRIM, but the end of the element is cut or
+ grown.
+
+In particular, when editing a #GESClip:
+
++ MOVE: This will set the #GESTimelineElement:start of the clip to the
+ edit position.
++ START-TRIM: This will set the #GESTimelineElement:start of the clip
+ to the edit position. To keep the end time the same, the
+ #GESTimelineElement:duration of the clip will be adjusted in the
+ opposite direction. In addition, the #GESTimelineElement:in-point of
+ the clip will be shifted such that the content that appeared at the
+ new or previous start time, whichever is latest, still appears at the
+ same timeline time. For example, if a frame appeared at the start of
+ the clip, and the start of the clip is reduced, the in-point of the
+ clip will also reduce such that the frame will appear later within
+ the clip, but at the same timeline position.
++ END-TRIM: This will set the #GESTimelineElement:duration of the clip
+ such that its end time will match the edit position.
+
+When editing a #GESGroup:
+
++ MOVE: This will set the #GESGroup:start of the clip to the edit
+ position by shifting all of its children by the same amount. So each
+ child will maintain their relative positions.
++ START-TRIM: If the group is made shorter, this will START-TRIM any
+ clips under the group that start after the edit position to the same
+ edit position. If the group is made longer, this will START-TRIM any
+ clip under the group whose start matches the start of the group to
+ the same edit position.
++ END-TRIM: If the group is made shorter, this will END-TRIM any clips
+ under the group that end after the edit position to the same edit
+ position. If the group is made longer, this will END-TRIM any clip
+ under the group whose end matches the end of the group to the same
+ edit position.
+
+When editing a #GESTrackElement, if it has a #GESClip parent, this
+will be edited instead. Otherwise it is edited in the same way as a
+#GESClip.
+
+The layer priority of a #GESGroup is the lowest layer priority of any
+#GESClip underneath it. When a group is edited to a new layer
+priority, it will shift all clips underneath it by the same amount,
+such that their relative layers stay the same.
+
+If the #GESTimeline has a #GESTimeline:snapping-distance, then snapping
+may occur for some of the edges of the **main** edited element:
+
++ MOVE: The start or end edge of *any* #GESSource under the element may
+ be snapped.
++ START-TRIM: The start edge of a #GESSource whose start edge touches
+ the start edge of the element may snap.
++ END-TRIM: The end edge of a #GESSource whose end edge touches the end
+ edge of the element may snap.
+
+These edges may snap with either the start or end edge of *any* other
+#GESSource in the timeline that is not also being moved by the element,
+including those in different layers, if they are within the
+#GESTimeline:snapping-distance. During an edit, only up to one snap can
+occur. This will shift the edit position such that the snapped edges
+will touch once the edit has completed.
+
+Note that snapping can cause an edit to fail where it would have
+otherwise succeeded because it may push the edit position such that the
+edit would result in an unsupported timeline configuration. Similarly,
+snapping can cause an edit to succeed where it would have otherwise
+failed.
+
+For example, in #GES_EDIT_MODE_RIPPLE acting on #GES_EDGE_NONE, the
+main element is the MOVED toplevel of the edited element. Any source
+under the main MOVED toplevel may have its start or end edge snapped.
+Note, these sources cannot snap with each other. The edit may also
+push other elements, but any sources under these elements cannot snap,
+nor can they be snapped with. If a snap does occur, the MOVE of the
+toplevel *and* all other elements pushed by the ripple will be shifted
+by the same amount such that the snapped edges will touch.
+
+You can also find more explanation about the behaviour of those modes at:
+[trim, ripple and roll](http://pitivi.org/manual/trimming.html)
+and [clip management](http://pitivi.org/manual/usingclips.html).</doc>
+ <member name="edit_normal" value="0" c:identifier="GES_EDIT_MODE_NORMAL" glib:nick="edit_normal">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited the normal way (default).
+ If acting on the element as a whole (#GES_EDGE_NONE), this will MOVE
+ the element by MOVING its toplevel. When acting on the start of the
+ element (#GES_EDGE_START), this will only MOVE the element, but not
+ its toplevel parent. This can allow you to move a #GESClip or
+ #GESGroup to a new start time or layer within its container group,
+ without effecting other members of the group. When acting on the end
+ of the element (#GES_EDGE_END), this will END-TRIM the element,
+ leaving its toplevel unchanged.</doc>
+ </member>
+ <member name="normal" value="0" c:identifier="GES_EDIT_MODE_NORMAL" glib:nick="normal">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited the normal way (default).
+ If acting on the element as a whole (#GES_EDGE_NONE), this will MOVE
+ the element by MOVING its toplevel. When acting on the start of the
+ element (#GES_EDGE_START), this will only MOVE the element, but not
+ its toplevel parent. This can allow you to move a #GESClip or
+ #GESGroup to a new start time or layer within its container group,
+ without effecting other members of the group. When acting on the end
+ of the element (#GES_EDGE_END), this will END-TRIM the element,
+ leaving its toplevel unchanged.</doc>
+ </member>
+ <member name="edit_ripple" value="1" c:identifier="GES_EDIT_MODE_RIPPLE" glib:nick="edit_ripple">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in ripple mode: moving
+ itself as well as later elements, keeping their relative times. This
+ edits the element the same as #GES_EDIT_MODE_NORMAL. In addition, if
+ acting on the element as a whole, or the start of the element, any
+ toplevel element in the same timeline (including different layers)
+ whose start time is later than the *current* start time of the MOVED
+ element will also be MOVED by the same shift as the edited element.
+ If acting on the end of the element, any toplevel element whose start
+ time is later than the *current* end time of the edited element will
+ also be MOVED by the same shift as the change in the end of the
+ edited element. These additional elements will also be shifted by
+ the same shift in layers as the edited element.</doc>
+ </member>
+ <member name="ripple" value="1" c:identifier="GES_EDIT_MODE_RIPPLE" glib:nick="ripple">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in ripple mode: moving
+ itself as well as later elements, keeping their relative times. This
+ edits the element the same as #GES_EDIT_MODE_NORMAL. In addition, if
+ acting on the element as a whole, or the start of the element, any
+ toplevel element in the same timeline (including different layers)
+ whose start time is later than the *current* start time of the MOVED
+ element will also be MOVED by the same shift as the edited element.
+ If acting on the end of the element, any toplevel element whose start
+ time is later than the *current* end time of the edited element will
+ also be MOVED by the same shift as the change in the end of the
+ edited element. These additional elements will also be shifted by
+ the same shift in layers as the edited element.</doc>
+ </member>
+ <member name="edit_roll" value="2" c:identifier="GES_EDIT_MODE_ROLL" glib:nick="edit_roll">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in roll mode: swapping its
+ content for its neighbour's, or vis versa, in the timeline output.
+ This edits the element the same as #GES_EDIT_MODE_TRIM. In addition,
+ any neighbours are also TRIMMED at their opposite edge to the same
+ timeline position. When acting on the start of the element, a
+ neighbour is any earlier element in the timeline whose end time
+ matches the *current* start time of the edited element. When acting on
+ the end of the element, a neighbour is any later element in the
+ timeline whose start time matches the *current* start time of the
+ edited element. In addition, a neighbour have a #GESSource at its
+ end/start edge that shares a track with a #GESSource at the start/end
+ edge of the edited element. Basically, a neighbour is an element that
+ can be extended, or cut, to have its content replace, or be replaced
+ by, the content of the edited element. Acting on the element as a
+ whole (#GES_EDGE_NONE) is not defined. The element can not shift
+ layers under this mode.</doc>
+ </member>
+ <member name="roll" value="2" c:identifier="GES_EDIT_MODE_ROLL" glib:nick="roll">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in roll mode: swapping its
+ content for its neighbour's, or vis versa, in the timeline output.
+ This edits the element the same as #GES_EDIT_MODE_TRIM. In addition,
+ any neighbours are also TRIMMED at their opposite edge to the same
+ timeline position. When acting on the start of the element, a
+ neighbour is any earlier element in the timeline whose end time
+ matches the *current* start time of the edited element. When acting on
+ the end of the element, a neighbour is any later element in the
+ timeline whose start time matches the *current* start time of the
+ edited element. In addition, a neighbour have a #GESSource at its
+ end/start edge that shares a track with a #GESSource at the start/end
+ edge of the edited element. Basically, a neighbour is an element that
+ can be extended, or cut, to have its content replace, or be replaced
+ by, the content of the edited element. Acting on the element as a
+ whole (#GES_EDGE_NONE) is not defined. The element can not shift
+ layers under this mode.</doc>
+ </member>
+ <member name="edit_trim" value="3" c:identifier="GES_EDIT_MODE_TRIM" glib:nick="edit_trim">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in trim mode. When acting
+ on the start of the element, this will START-TRIM it. When acting on
+ the end of the element, this will END-TRIM it. Acting on the element
+ as a whole (#GES_EDGE_NONE) is not defined.</doc>
+ </member>
+ <member name="trim" value="3" c:identifier="GES_EDIT_MODE_TRIM" glib:nick="trim">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in trim mode. When acting
+ on the start of the element, this will START-TRIM it. When acting on
+ the end of the element, this will END-TRIM it. Acting on the element
+ as a whole (#GES_EDGE_NONE) is not defined.</doc>
+ </member>
+ <member name="edit_slide" value="4" c:identifier="GES_EDIT_MODE_SLIDE" glib:nick="edit_slide">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in slide mode (not yet
+ implemented): moving the element replacing or consuming content on
+ each end. When acting on the element as a whole, this will MOVE the
+ element, and TRIM any neighbours on either side. A neighbour is
+ defined in the same way as in #GES_EDIT_MODE_ROLL, but they may be on
+ either side of the edited elements. Elements at the end with be
+ START-TRIMMED to the new end position of the edited element. Elements
+ at the start will be END-TRIMMED to the new start position of the
+ edited element. Acting on the start or end of the element
+ (#GES_EDGE_START and #GES_EDGE_END) is not defined. The element can
+ not shift layers under this mode.</doc>
+ </member>
+ <member name="slide" value="4" c:identifier="GES_EDIT_MODE_SLIDE" glib:nick="slide">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The element is edited in slide mode (not yet
+ implemented): moving the element replacing or consuming content on
+ each end. When acting on the element as a whole, this will MOVE the
+ element, and TRIM any neighbours on either side. A neighbour is
+ defined in the same way as in #GES_EDIT_MODE_ROLL, but they may be on
+ either side of the edited elements. Elements at the end with be
+ START-TRIMMED to the new end position of the edited element. Elements
+ at the start will be END-TRIMMED to the new start position of the
+ edited element. Acting on the start or end of the element
+ (#GES_EDGE_START and #GES_EDGE_END) is not defined. The element can
+ not shift layers under this mode.</doc>
+ </member>
+ <function name="name" c:identifier="ges_edit_mode_name" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Return a string representation of @mode.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-enums.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">a string representation of @mode.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">a #GESEditMode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <class name="Effect" c:symbol-prefix="effect" c:type="GESEffect" parent="BaseEffect" glib:type-name="GESEffect" glib:get-type="ges_effect_get_type" glib:type-struct="EffectClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">Currently we only support effects with N sinkpads and one single srcpad.
+Apart from `gesaudiomixer` and `gescompositor` which can be used as effects
+and where sinkpads will be requested as needed based on the timeline topology
+GES will always request at most one sinkpad per effect (when required).
+
+&gt; Note: GES always adds converters (`audioconvert ! audioresample !
+&gt; audioconvert` for audio effects and `videoconvert` for video effects) to
+&gt; make it simpler for end users.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_effect_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">Creates a new #GESEffect from the description of the bin. It should be
+possible to determine the type of the effect through the element
+'klass' metadata of the GstElements that will be created.
+In that corner case, you should use:
+#ges_asset_request (GES_TYPE_EFFECT, "audio your ! bin ! description", NULL);
+and extract that asset to be in full control.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">a newly created #GESEffect, or %NULL if something went
+wrong.</doc>
+ <type name="Effect" c:type="GESEffect*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin_description" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">The gst-launch like bin description of the effect</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="bin-description" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">The description of the effect bin with a gst-launch-style
+pipeline description.
+
+Example: "videobalance saturation=1.5 hue=+0.5"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="BaseEffect" c:type="GESBaseEffect"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="EffectPrivate" c:type="GESEffectPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="EffectAsset" c:symbol-prefix="effect_asset" c:type="GESEffectAsset" parent="TrackElementAsset" glib:type-name="GESEffectAsset" glib:get-type="ges_effect_asset_get_type" glib:type-struct="EffectAssetClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-asset.c">This asset has a GStreamer bin-description as ID and is able to determine
+to what track type the effect should be used in.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <field name="parent_instance">
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
+ </field>
+ <field name="priv">
+ <type name="EffectAssetPrivate" c:type="GESEffectAssetPrivate*"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="EffectAssetClass" c:type="GESEffectAssetClass" glib:is-gtype-struct-for="EffectAsset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-asset.h"/>
+ <field name="parent_class">
+ <type name="TrackElementAssetClass" c:type="GESTrackElementAssetClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="EffectAssetPrivate" c:type="GESEffectAssetPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-asset.h"/>
+ </record>
+ <record name="EffectClass" c:type="GESEffectClass" glib:is-gtype-struct-for="Effect">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.h">parent class</doc>
+ <type name="BaseEffectClass" c:type="GESBaseEffectClass"/>
+ </field>
+ <field name="rate_properties" readable="0" private="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="register_rate_property" c:identifier="ges_effect_class_register_rate_property">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">Register an element that can change the rate at which media is playing.
+The property type must be float or double, and must be a factor of the
+rate, i.e. a value of 2.0 must mean that the media plays twice as fast.
+Several properties may be registered for a single element type,
+provided they all contribute to the rate as independent factors. For
+example, this is true for the "GstPitch::rate" and "GstPitch::tempo"
+properties. These are already registered by default in GES, along with
+#videorate:rate for #videorate and #scaletempo:rate for #scaletempo.
+
+If such a rate property becomes a child property of a #GESEffect upon
+its creation (the element is part of its #GESEffect:bin-description),
+it will be automatically registered as a time property (see
+ges_base_effect_register_time_property()) and will have its time
+translation functions set (see
+ges_base_effect_set_time_translation_funcs()) to use the overall rate
+of the rate properties. Note that if an effect contains a rate
+property as well as a non-rate time property, you should ensure to set
+the time translation functions to some other methods using
+ges_base_effect_set_time_translation_funcs().
+
+Note, you can obtain a reference to the GESEffectClass using
+
+```
+ GES_EFFECT_CLASS (g_type_class_ref (GES_TYPE_EFFECT));
+```</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">%TRUE if the rate property was successfully registered. When
+this method returns %FALSE, a warning is emitted with more information.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">Instance of the GESEffectClass</doc>
+ <type name="EffectClass" c:type="GESEffectClass*"/>
+ </instance-parameter>
+ <parameter name="element_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">The #GstElementFactory name of the element that changes
+the rate</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect.c">The name of the property that changes the rate</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="EffectClip" c:symbol-prefix="effect_clip" c:type="GESEffectClip" parent="BaseEffectClip" glib:type-name="GESEffectClip" glib:get-type="ges_effect_clip_get_type" glib:type-struct="EffectClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">The effect will be applied on the sources that have lower priorities
+(higher number) between the inpoint and the end of it.
+
+The asset ID of an effect clip is in the form:
+
+```
+ "audio ! bin ! description || video ! bin ! description"
+```</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_effect_clip_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">Creates a new #GESEffectClip from the description of the bin.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">a newly created #GESEffectClip, or
+%NULL if something went wrong.</doc>
+ <type name="EffectClip" c:type="GESEffectClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_bin_description" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">The gst-launch like bin description of the effect</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="audio_bin_description" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">The gst-launch like bin description of the effect</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="audio-bin-description" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">The description of the audio track of the effect bin with a gst-launch-style
+pipeline description. This should be used for test purposes.
+
+Example: "audiopanorama panorama=1.0"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="video-bin-description" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-effect-clip.c">The description of the video track of the effect bin with a gst-launch-style
+pipeline description. This should be used for test purposes.
+
+Example: "videobalance saturation=1.5 hue=+0.5"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="BaseEffectClip" c:type="GESBaseEffectClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="EffectClipPrivate" c:type="GESEffectClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="EffectClipClass" c:type="GESEffectClipClass" glib:is-gtype-struct-for="EffectClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="BaseEffectClipClass" c:type="GESBaseEffectClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="EffectClipPrivate" c:type="GESEffectClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect-clip.h"/>
+ </record>
+ <record name="EffectPrivate" c:type="GESEffectPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-effect.h"/>
+ </record>
+ <enumeration name="Error" c:type="GESError">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-gerror.h"/>
+ <member name="asset_wrong_id" value="0" c:identifier="GES_ERROR_ASSET_WRONG_ID">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">The ID passed is malformed</doc>
+ </member>
+ <member name="asset_loading" value="1" c:identifier="GES_ERROR_ASSET_LOADING">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">An error happened while loading the asset</doc>
+ </member>
+ <member name="formatter_malformed_input_file" value="2" c:identifier="GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">The formatted files was malformed</doc>
+ </member>
+ <member name="invalid_frame_number" value="3" c:identifier="GES_ERROR_INVALID_FRAME_NUMBER">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">The frame number is invalid</doc>
+ </member>
+ <member name="negative_layer" value="4" c:identifier="GES_ERROR_NEGATIVE_LAYER">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">The operation would lead to a negative
+#GES_TIMELINE_ELEMENT_LAYER_PRIORITY. (Since: 1.18)</doc>
+ </member>
+ <member name="negative_time" value="5" c:identifier="GES_ERROR_NEGATIVE_TIME">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">The operation would lead to a negative time.
+E.g. for the #GESTimelineElement:start #GESTimelineElement:duration or
+#GESTimelineElement:in-point. (Since: 1.18)</doc>
+ </member>
+ <member name="not_enough_internal_content" value="6" c:identifier="GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">Some #GESTimelineElement does
+not have a large enough #GESTimelineElement:max-duration to cover the
+desired operation. (Since: 1.18)</doc>
+ </member>
+ <member name="invalid_overlap_in_track" value="7" c:identifier="GES_ERROR_INVALID_OVERLAP_IN_TRACK">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-gerror.h">The operation would break one of
+the overlap conditions for the #GESTimeline. (Since: 1.18)</doc>
+ </member>
+ <member name="invalid_effect_bin_description" value="8" c:identifier="GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION">
+ </member>
+ </enumeration>
+ <interface name="Extractable" c:symbol-prefix="extractable" c:type="GESExtractable" glib:type-name="GESExtractable" glib:get-type="ges_extractable_get_type" glib:type-struct="ExtractableInterface">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">A #GObject that implements the #GESExtractable interface can be
+extracted from a #GESAsset using ges_asset_extract().
+
+Each extractable type will have its own way of interpreting the
+#GESAsset:id of an asset (or, if it is associated with a specific
+subclass of #GESAsset, the asset subclass may handle the
+interpretation of the #GESAsset:id). By default, the requested asset
+#GESAsset:id will be ignored by a #GESExtractable and will be set to
+the type name of the extractable instead. Also by default, when the
+requested asset is extracted, the returned object will simply be a
+newly created default object of that extractable type. You should check
+the documentation for each extractable type to see if they differ from
+the default.
+
+After the object is extracted, it will have a reference to the asset it
+came from, which you can retrieve using ges_extractable_get_asset().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <prerequisite name="GObject.InitiallyUnowned"/>
+ <virtual-method name="get_id" invoker="get_id">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">Gets the #GESAsset:id of some associated asset. It may be the case
+that the object has no set asset, or even that such an asset does not
+yet exist in the GES cache. Instead, this will return the asset
+#GESAsset:id that is _compatible_ with the current state of the object,
+as determined by the #GESExtractable implementer. If it was indeed
+extracted from an asset, this should return the same as its
+corresponding asset #GESAsset:id.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_asset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_asset_full">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_asset" c:identifier="ges_extractable_get_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">Get the asset that has been set on the extractable object.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">The asset set on @self, or %NULL
+if no asset has been set.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_id" c:identifier="ges_extractable_get_id">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">Gets the #GESAsset:id of some associated asset. It may be the case
+that the object has no set asset, or even that such an asset does not
+yet exist in the GES cache. Instead, this will return the asset
+#GESAsset:id that is _compatible_ with the current state of the object,
+as determined by the #GESExtractable implementer. If it was indeed
+extracted from an asset, this should return the same as its
+corresponding asset #GESAsset:id.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_asset" c:identifier="ges_extractable_set_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">Sets the asset for this extractable object.
+
+When an object is extracted from an asset using ges_asset_extract() its
+asset will be automatically set. Note that many classes that implement
+#GESExtractable will automatically create their objects using assets
+when you call their @new methods. However, you can use this method to
+associate an object with a compatible asset if it was created by other
+means and does not yet have an asset. Or, for some implementations of
+#GESExtractable, you can use this to change the asset of the given
+extractable object, which will lead to a change in its state to
+match the new asset #GESAsset:id.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">%TRUE if @asset could be successfully set on @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">The asset to set</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <callback name="ExtractableCheckId" c:type="GESExtractableCheckId" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.h">Method for checking that an ID is valid for the given #GESExtractable
+type. If the given ID is considered valid, it can be adjusted into some
+standard and returned to prevent the creation of separate #GESAsset-s,
+with different #GESAsset:id, that would otherwise act the same.
+
+Returns (transfer full) (nullable): The actual #GESAsset:id to set on
+any corresponding assets, based on @id, or %NULL if @id is not valid.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.h">The #GESExtractable type to check @id for</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.h">The ID to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ExtractableInterface" c:type="GESExtractableInterface" glib:is-gtype-struct-for="Extractable">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="asset_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.h">The subclass type of #GESAsset that should be created when
+an asset with the corresponding #GESAsset:extractable-type is
+requested.</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="check_id">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.h">The method to call to check whether a given ID is valid as
+an asset #GESAsset:id for the given #GESAsset:extractable-type. The
+returned ID is the actual #GESAsset:id that is set on the asset. The
+default implementation will simply always return the type name of the
+#GESAsset:extractable-type, even if the received ID is %NULL. As such,
+any given ID is considered valid (or is ignored), but only one is
+actually ever set on an asset, which means the given
+#GESAsset:extractable-type can only have one associated asset.</doc>
+ <type name="ExtractableCheckId" c:type="GESExtractableCheckId"/>
+ </field>
+ <field name="can_update_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.h">Whether an object of this class can have its
+#GESAsset change over its lifetime. This should be set to %TRUE if one
+of the object's parameters that is associated with its ID can change
+after construction, which would require an asset with a new ID. Note
+that the subclass is required to handle the requesting and setting of
+the new asset on the object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="set_asset">
+ <callback name="set_asset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_asset_full">
+ <callback name="set_asset_full">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_parameters_from_id" introspectable="0">
+ <callback name="get_parameters_from_id" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value>
+ <type name="GObject.Parameter" c:type="GParameter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="n_params" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_id">
+ <callback name="get_id">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-extractable.c">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_real_extractable_type">
+ <callback name="get_real_extractable_type">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="wanted_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="register_metas">
+ <callback name="register_metas">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-extractable.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="ExtractableInterface" c:type="GESExtractableInterface*"/>
+ </parameter>
+ <parameter name="klass" transfer-ownership="none">
+ <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="FRAME_NUMBER_IS_VALID" c:identifier="GES_FRAME_NUMBER_IS_VALID" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-types.h">Tests if a given GESFrameNumber represents a valid frame</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-types.h"/>
+ <parameters>
+ <parameter name="frames">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="FRAME_NUMBER_NONE" value="9223372036854775807" c:type="GES_FRAME_NUMBER_NONE">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-types.h">Constant to define an undefined frame number</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-types.h"/>
+ <type name="gint64" c:type="gint64"/>
+ </constant>
+ <callback name="FillTrackElementFunc" c:type="GESFillTrackElementFunc" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">A function that will be called when the nleobject of a corresponding
+track element needs to be filled.
+
+The implementer of this function shall add the proper #GstElement to @nleobj
+using gst_bin_add().</doc>
+ <doc-deprecated xml:space="preserve">This method type is no longer used.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">%TRUE if the implementer successfully filled the @nleobj.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">The #GESClip controlling the track elements</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ <parameter name="track_element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">The #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="nleobj" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-clip.h">The nleobject that needs to be filled</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="Formatter" c:symbol-prefix="formatter" c:type="GESFormatter" parent="GObject.InitiallyUnowned" abstract="1" glib:type-name="GESFormatter" glib:get-type="ges_formatter_get_type" glib:type-struct="FormatterClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">Base class for timeline data serialization and deserialization.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <implements name="Extractable"/>
+ <function name="can_load_uri" c:identifier="ges_formatter_can_load_uri" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Checks if there is a #GESFormatter available which can load a #GESTimeline
+from the given URI.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if there is a #GESFormatter that can support the given uri
+or FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to the URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="can_save_uri" c:identifier="ges_formatter_can_save_uri" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Returns TRUE if there is a #GESFormatter available which can save a
+#GESTimeline to the given URI.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the given @uri is supported, else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_default" c:identifier="ges_formatter_get_default">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Get the default #GESAsset to use as formatter. It will return
+the asset for the #GESFormatter that has the highest @rank</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The #GESAsset for the formatter with highest @rank</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ </function>
+ <virtual-method name="can_load_uri" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dummy_instance" transfer-ownership="none">
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="load_from_uri" invoker="load_from_uri" deprecated="1" deprecated-version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Load data from the given URI into timeline.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the timeline data was successfully loaded from the URI,
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="save_to_uri" invoker="save_to_uri" deprecated="1" deprecated-version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Save data from timeline to the given URI.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the timeline data was successfully saved to the URI
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="load_from_uri" c:identifier="ges_formatter_load_from_uri" deprecated="1" deprecated-version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Load data from the given URI into timeline.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the timeline data was successfully loaded from the URI,
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_to_uri" c:identifier="ges_formatter_save_to_uri" deprecated="1" deprecated-version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Save data from timeline to the given URI.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the timeline data was successfully saved to the URI
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="FormatterPrivate" c:type="GESFormatterPrivate*"/>
+ </field>
+ <field name="project" readable="0" private="1">
+ <type name="Project" c:type="GESProject*"/>
+ </field>
+ <field name="timeline" readable="0" private="1">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <callback name="FormatterCanLoadURIMethod" c:type="GESFormatterCanLoadURIMethod" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dummy_instance" transfer-ownership="none">
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="FormatterClass" c:type="GESFormatterClass" glib:is-gtype-struct-for="Formatter">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">GES Formatter class. Override the vmethods to implement the formatter functionnality.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">the parent class structure</doc>
+ <type name="GObject.InitiallyUnownedClass" c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="can_load_uri">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">Whether the URI can be loaded</doc>
+ <type name="FormatterCanLoadURIMethod" c:type="GESFormatterCanLoadURIMethod"/>
+ </field>
+ <field name="load_from_uri">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">class method to deserialize data from a URI</doc>
+ <type name="FormatterLoadFromURIMethod" c:type="GESFormatterLoadFromURIMethod"/>
+ </field>
+ <field name="save_to_uri">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">class method to serialize data to a URI</doc>
+ <type name="FormatterSaveToURIMethod" c:type="GESFormatterSaveToURIMethod"/>
+ </field>
+ <field name="name" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="extension" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="mimetype" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="version" readable="0" private="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="rank" readable="0" private="1">
+ <type name="Gst.Rank" c:type="GstRank"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="register_metas" c:identifier="ges_formatter_class_register_metas">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The class to register metas on</doc>
+ <type name="FormatterClass" c:type="GESFormatterClass*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The name of the formatter</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The formatter description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extensions" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">A list of coma separated file extensions handled
+by the formatter. The order of the extensions should match the
+list of the structures inside @caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The caps the formatter handled, they should match what
+gstreamer typefind mechanism will report for the files the formatter
+handles.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The version of the formatter</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The rank of the formatter</doc>
+ <type name="Gst.Rank" c:type="GstRank"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="FormatterLoadFromURIMethod" c:type="GESFormatterLoadFromURIMethod" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">Virtual method for loading a timeline from a given URI.
+
+Every #GESFormatter subclass needs to implement this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the timeline data was successfully loaded from the URI,
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="FormatterPrivate" c:type="GESFormatterPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ </record>
+ <callback name="FormatterSaveToURIMethod" c:type="GESFormatterSaveToURIMethod" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.h">Virtual method for saving a timeline to a uri.
+
+Every #GESFormatter subclass needs to implement this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">TRUE if the timeline data was successfully saved to the URI
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="Group" c:symbol-prefix="group" c:type="GESGroup" parent="Container" glib:type-name="GESGroup" glib:get-type="ges_group_get_type" glib:type-struct="GroupClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">A #GESGroup controls one or more #GESContainer-s (usually #GESClip-s,
+but it can also control other #GESGroup-s). Its children must share
+the same #GESTimeline, but can otherwise lie in separate #GESLayer-s
+and have different timings.
+
+To initialise a group, you may want to use ges_container_group(),
+and similarly use ges_container_ungroup() to dispose of it.
+
+A group will maintain the relative #GESTimelineElement:start times of
+its children, as well as their relative layer #GESLayer:priority.
+Therefore, if one of its children has its #GESTimelineElement:start
+set, all other children will have their #GESTimelineElement:start
+shifted by the same amount. Similarly, if one of its children moves to
+a new layer, the other children will also change layers to maintain the
+difference in their layer priorities. For example, if a child moves
+from a layer with #GESLayer:priority 1 to a layer with priority 3, then
+another child that was in a layer with priority 0 will move to the
+layer with priority 2.
+
+The #GESGroup:start of a group refers to the earliest start
+time of its children. If the group's #GESGroup:start is set, all the
+children will be shifted equally such that the earliest start time
+will match the set value. The #GESGroup:duration of a group is the
+difference between the earliest start time and latest end time of its
+children. If the group's #GESGroup:duration is increased, the children
+whose end time matches the end of the group will be extended
+accordingly. If it is decreased, then any child whose end time exceeds
+the new end time will also have their duration decreased accordingly.
+
+A group may span several layers, but for methods such as
+ges_timeline_element_get_layer_priority() and
+ges_timeline_element_edit() a group is considered to have a layer
+priority that is the highest #GESLayer:priority (numerically, the
+smallest) of all the layers it spans.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-group.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_group_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">Created a new empty group. You may wish to use
+ges_container_group() instead, which can return a different
+#GESContainer subclass if possible.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-group.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">The new empty group.</doc>
+ <type name="Group" c:type="GESGroup*"/>
+ </return-value>
+ </constructor>
+ <property name="duration" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">An overwrite of the #GESTimelineElement:duration property. For a
+#GESGroup, this is the difference between the earliest
+#GESTimelineElement:start time and the latest end time (given by
+#GESTimelineElement:start + #GESTimelineElement:duration) amongst
+its children.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="in-point" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">An overwrite of the #GESTimelineElement:in-point property. This has
+no meaning for a group and should not be set.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="max-duration" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">An overwrite of the #GESTimelineElement:max-duration property. This
+has no meaning for a group and should not be set.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="priority" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">An overwrite of the #GESTimelineElement:priority property.
+Setting #GESTimelineElement priorities is deprecated as all priority
+management is now done by GES itself.</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="start" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-group.c">An overwrite of the #GESTimelineElement:start property. For a
+#GESGroup, this is the earliest #GESTimelineElement:start time
+amongst its children.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="parent">
+ <type name="Container" c:type="GESContainer"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GroupPrivate" c:type="GESGroupPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GroupClass" c:type="GESGroupClass" glib:is-gtype-struct-for="Group">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-group.h"/>
+ <field name="parent_class">
+ <type name="ContainerClass" c:type="GESContainerClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GroupPrivate" c:type="GESGroupPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-group.h"/>
+ </record>
+ <class name="ImageSource" c:symbol-prefix="image_source" c:type="GESImageSource" deprecated="1" deprecated-version="1.18" parent="VideoSource" glib:type-name="GESImageSource" glib:get-type="ges_image_source_get_type" glib:type-struct="ImageSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-image-source.c">Outputs the video stream from a given file as a still frame. The frame chosen
+will be determined by the in-point property on the track element. For image
+files, do not set the in-point property.</doc>
+ <doc-deprecated xml:space="preserve">This won't be used anymore and has been replaced by
+#GESUriSource instead which now plugs an `imagefreeze` element when
+#ges_uri_source_asset_is_image returns %TRUE.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-image-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <property name="uri" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-image-source.c">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ImageSourcePrivate" c:type="GESImageSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ImageSourceClass" c:type="GESImageSourceClass" glib:is-gtype-struct-for="ImageSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-image-source.h"/>
+ <field name="parent_class">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ImageSourcePrivate" c:type="GESImageSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-image-source.h"/>
+ </record>
+ <class name="Layer" c:symbol-prefix="layer" c:type="GESLayer" parent="GObject.InitiallyUnowned" glib:type-name="GESLayer" glib:get-type="ges_layer_get_type" glib:type-struct="LayerClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">#GESLayer-s are responsible for collecting and ordering #GESClip-s.
+
+A layer within a timeline will have an associated priority,
+corresponding to their index within the timeline. A layer with the
+index/priority 0 will have the highest priority and the layer with the
+largest index will have the lowest priority (the order of priorities,
+in this sense, is the _reverse_ of the numerical ordering of the
+indices). ges_timeline_move_layer() should be used if you wish to
+change how layers are prioritised in a timeline.
+
+Layers with higher priorities will have their content priorities
+over content from lower priority layers, similar to how layers are
+used in image editing. For example, if two separate layers both
+display video content, then the layer with the higher priority will
+have its images shown first. The other layer will only have its image
+shown if the higher priority layer has no content at the given
+playtime, or is transparent in some way. Audio content in separate
+layers will simply play in addition.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_layer_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Creates a new layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">A new layer.</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="get_objects" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="object_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="object_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_asset" c:identifier="ges_layer_add_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">See ges_layer_add_asset_full(), which also gives an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The newly created clip.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The asset to extract the new clip from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTimelineElement:start value to set on the new clip
+If `start == #GST_CLOCK_TIME_NONE`, it will be added to the end
+of @layer, i.e. it will be set to @layer's duration</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTimelineElement:in-point value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTimelineElement:duration value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="track_types" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESClip:supported-formats to set on the the new
+clip, or #GES_TRACK_TYPE_UNKNOWN to use the default</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_asset_full" c:identifier="ges_layer_add_asset_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Extracts a new clip from an asset and adds it to the layer with
+the given properties.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The newly created clip.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The asset to extract the new clip from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTimelineElement:start value to set on the new clip
+If `start == #GST_CLOCK_TIME_NONE`, it will be added to the end
+of @layer, i.e. it will be set to @layer's duration</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTimelineElement:in-point value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTimelineElement:duration value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="track_types" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESClip:supported-formats to set on the the new
+clip, or #GES_TRACK_TYPE_UNKNOWN to use the default</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_clip" c:identifier="ges_layer_add_clip">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">See ges_layer_add_clip_full(), which also gives an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if @clip was properly added to @layer, or %FALSE
+if @layer refused to add @clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The clip to add</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_clip_full" c:identifier="ges_layer_add_clip_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Adds the given clip to the layer. If the method succeeds, the layer
+will take ownership of the clip.
+
+This method will fail and return %FALSE if @clip already resides in
+some layer. It can also fail if the additional clip breaks some
+compositional rules (see #GESTimelineElement).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if @clip was properly added to @layer, or %FALSE
+if @layer refused to add @clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The clip to add</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_active_for_track" c:identifier="ges_layer_get_active_for_track" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Gets whether the layer is active for the given track. See
+ges_layer_set_active_for_tracks().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if @layer is active for @track, or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESTrack to check if @layer is currently active for</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_transition" c:identifier="ges_layer_get_auto_transition">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Gets the #GESLayer:auto-transition of the layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if transitions are automatically added to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_clips" c:identifier="ges_layer_get_clips">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Get the #GESClip-s contained in this layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">A list of clips in
+@layer.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Clip"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_clips_in_interval" c:identifier="ges_layer_get_clips_in_interval">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Gets the clips within the layer that appear between @start and @end.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">A list of #GESClip-s
+that intersect the interval `[start, end)` in @layer.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Clip"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Start of the interval</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">End of the interval</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_duration" c:identifier="ges_layer_get_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Retrieves the duration of the layer, which is the difference
+between the start of the layer (always time 0) and the end (which will
+be the end time of the final clip).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The duration of @layer.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The layer to get the duration from</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_priority" c:identifier="ges_layer_get_priority">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Get the priority of the layer. When inside a timeline, this is its
+index in the timeline. See ges_timeline_move_layer().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The priority of @layer within its timeline.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline" c:identifier="ges_layer_get_timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Gets the timeline that the layer is a part of.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The timeline that @layer
+is currently part of, or %NULL if it is not associated with any
+timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_empty" c:identifier="ges_layer_is_empty">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Convenience method to check if the layer is empty (doesn't contain
+any #GESClip), or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if @layer is empty, %FALSE if it contains at least
+one clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer to check</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_clip" c:identifier="ges_layer_remove_clip">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Removes the given clip from the layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if @clip was removed from @layer, or %FALSE if the
+operation failed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The clip to remove</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active_for_tracks" c:identifier="ges_layer_set_active_for_tracks" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Activate or deactivate track elements in @tracks (or in all tracks if @tracks
+is %NULL).
+
+When a layer is deactivated for a track, all the #GESTrackElement-s in
+the track that belong to a #GESClip in the layer will no longer be
+active in the track, regardless of their individual
+#GESTrackElement:active value.
+
+Note that by default a layer will be active for all of its
+timeline's tracks.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">%TRUE if the operation worked %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Whether elements in @tracks should be active or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tracks" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The list of
+tracks @layer should be (de-)active in, or %NULL to include all the tracks
+in the @layer's timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Track"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_transition" c:identifier="ges_layer_set_auto_transition">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Sets #GESLayer:auto-transition for the layer. Use
+ges_timeline_set_auto_transition() if you want all layers within a
+#GESTimeline to have #GESLayer:auto-transition set to %TRUE. Use this
+method if you want different values for different layers (and make sure
+to keep #GESTimeline:auto-transition as %FALSE for the corresponding
+timeline).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="auto_transition" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Whether transitions should be automatically added to
+the layer</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_priority" c:identifier="ges_layer_set_priority" deprecated="1" deprecated-version="1.16.0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Sets the layer to the given priority. See #GESLayer:priority.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_move_layer instead. This deprecation means
+that you will not need to handle layer priorities at all yourself, GES
+will make sure there is never 'gaps' between layer priorities.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The priority to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_layer_set_timeline">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auto-transition" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Whether to automatically create a #GESTransitionClip whenever two
+#GESSource-s that both belong to a #GESClip in the layer overlap.
+See #GESTimeline for what counts as an overlap.
+
+When a layer is added to a #GESTimeline, if this property is left as
+%FALSE, but the timeline's #GESTimeline:auto-transition is %TRUE, it
+will be set to %TRUE as well.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="priority" deprecated="1" deprecated-version="1.16.0" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The priority of the layer in the #GESTimeline. 0 is the highest
+priority. Conceptually, a timeline is a stack of layers,
+and the priority of the layer represents its position in the stack. Two
+layers should not have the same priority within a given GESTimeline.
+
+Note that the timeline needs to be committed (with #ges_timeline_commit)
+for the change to be taken into account.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_move_layer instead. This deprecation means
+that you will not need to handle layer priorities at all yourself, GES
+will make sure there is never 'gaps' between layer priorities.</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.h">the #GESTimeline where this layer is being used.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </field>
+ <field name="min_nle_priority">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="max_nle_priority">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="priv">
+ <type name="LayerPrivate" c:type="GESLayerPrivate*"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="active-changed" when="first" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Will be emitted whenever the layer is activated or deactivated
+for some #GESTrack. See ges_layer_set_active_for_tracks().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Whether @layer has been made active or de-active in the @tracks</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tracks" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">A list of #GESTrack
+which have been activated or deactivated</doc>
+ <array name="GLib.PtrArray">
+ <type name="Track"/>
+ </array>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="clip-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Will be emitted after the clip is added to the layer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The clip that was added</doc>
+ <type name="Clip"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="clip-removed" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">Will be emitted after the clip is removed from the layer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.c">The clip that was removed</doc>
+ <type name="Clip"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="LayerClass" c:type="GESLayerClass" glib:is-gtype-struct-for="Layer">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-layer.h">Subclasses can override the @get_objects if they can provide a more
+efficient way of providing the list of contained #GESClip-s.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.InitiallyUnownedClass" c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="get_objects" introspectable="0">
+ <callback name="get_objects" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="object_added">
+ <callback name="object_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="object_removed">
+ <callback name="object_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="LayerPrivate" c:type="GESLayerPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-layer.h"/>
+ </record>
+ <constant name="META_DESCRIPTION" value="description" c:type="GES_META_DESCRIPTION">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The description of the object, to be used in various contexts (string).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_EXTENSION" value="extension" c:type="GES_META_FORMATTER_EXTENSION">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The file extension of files produced by a #GESFormatter (string).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_MIMETYPE" value="mimetype" c:type="GES_META_FORMATTER_MIMETYPE">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The mimetype used for the file produced by a #GESFormatter (string).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_NAME" value="name" c:type="GES_META_FORMATTER_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The name of a formatter, used as the #GESAsset:id for #GESFormatter
+assets (string).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_RANK" value="rank" c:type="GES_META_FORMATTER_RANK">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The rank of a #GESFormatter (a #GstRank).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_VERSION" value="version" c:type="GES_META_FORMATTER_VERSION">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The version of a #GESFormatter (double).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMAT_VERSION" value="format-version" c:type="GES_META_FORMAT_VERSION">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The version of the format in which a project is serialized (string).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_MARKER_COLOR" value="marker-color" c:type="GES_META_MARKER_COLOR">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The ARGB color of a #GESMarker (an AARRGGBB hex as a uint).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_VOLUME" value="volume" c:type="GES_META_VOLUME">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The volume for a #GESTrack or a #GESLayer (float).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_VOLUME_DEFAULT" value="1.000000" c:type="GES_META_VOLUME_DEFAULT">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The default volume for a #GESTrack or a #GESLayer as a float.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <type name="gdouble" c:type="gdouble"/>
+ </constant>
+ <constant name="MULTI_FILE_URI_PREFIX" value="multifile://" c:type="GES_MULTI_FILE_URI_PREFIX">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="Marker" c:symbol-prefix="marker" c:type="GESMarker" version="1.18" parent="GObject.Object" glib:type-name="GESMarker" glib:get-type="ges_marker_get_type" glib:type-struct="MarkerClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.h">A timed #GESMetaContainer object.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <implements name="MetaContainer"/>
+ <property name="position" version="1.18" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Current position (in nanoseconds) of the #GESMarker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ </class>
+ <record name="MarkerClass" c:type="GESMarkerClass" glib:is-gtype-struct-for="Marker">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <bitfield name="MarkerFlags" version="1.20" glib:type-name="GESMarkerFlags" glib:get-type="ges_marker_flags_get_type" c:type="GESMarkerFlags">
+ <member name="none" value="0" c:identifier="GES_MARKER_FLAG_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Marker does not serve any special purpose.</doc>
+ </member>
+ <member name="snappable" value="1" c:identifier="GES_MARKER_FLAG_SNAPPABLE" glib:nick="snappable">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Marker can be a snapping target.</doc>
+ </member>
+ </bitfield>
+ <class name="MarkerList" c:symbol-prefix="marker_list" c:type="GESMarkerList" version="1.18" parent="GObject.Object" glib:type-name="GESMarkerList" glib:get-type="ges_marker_list_get_type" glib:type-struct="MarkerListClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">A #GESMarker can be colored by setting the #GES_META_MARKER_COLOR meta.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <constructor name="new" c:identifier="ges_marker_list_new" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Creates a new #GESMarkerList.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">A new #GESMarkerList</doc>
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </return-value>
+ </constructor>
+ <method name="add" c:identifier="ges_marker_list_add" version="1.18">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">The newly-added marker, the list keeps ownership
+of the marker</doc>
+ <type name="Marker" c:type="GESMarker*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">The position of the new marker</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_markers" c:identifier="ges_marker_list_get_markers" version="1.18">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">a #GList
+of the #GESMarker within the GESMarkerList. The user will have
+to unref each #GESMarker and free the #GList.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Marker"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="move" c:identifier="ges_marker_list_move" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Moves a @marker in a @list to a new @position</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">%TRUE if the marker could be moved, %FALSE otherwise
+ (if the marker was not present in the list for example)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <type name="Marker" c:type="GESMarker*"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove" c:identifier="ges_marker_list_remove" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Removes @marker from @list, this decreases the refcount of the
+marker by 1.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">%TRUE if the marker could be removed, %FALSE otherwise
+ (if the marker was not present in the list for example)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <type name="Marker" c:type="GESMarker*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="size" c:identifier="ges_marker_list_size" version="1.18">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">The number of markers in @list</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="flags" version="1.20" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Flags indicating how markers on the list should be treated.</doc>
+ <type name="MarkerFlags"/>
+ </property>
+ <glib:signal name="marker-added" when="first" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Will be emitted after the marker was added to the marker-list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">the position of the added marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">the #GESMarker that was added.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="marker-moved" when="first" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Will be emitted after the marker was moved to.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="previous_position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">the previous position of the marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="new_position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">the new position of the marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">the #GESMarker that was moved.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="marker-removed" when="first" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">Will be emitted after the marker was removed the marker-list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-marker-list.c">the #GESMarker that was removed.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="MarkerListClass" c:type="GESMarkerListClass" glib:is-gtype-struct-for="MarkerList">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-marker-list.h"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <interface name="MetaContainer" c:symbol-prefix="meta_container" c:type="GESMetaContainer" glib:type-name="GESMetaContainer" glib:get-type="ges_meta_container_get_type" glib:type-struct="MetaContainerInterface">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GObject that implements #GESMetaContainer can have metadata set on
+it, that is data that is unimportant to its function within GES, but
+may hold some useful information. In particular,
+ges_meta_container_set_meta() can be used to store any #GValue under
+any generic field (specified by a string key). The same method can also
+be used to remove the field by passing %NULL. A number of convenience
+methods are also provided to make it easier to set common value types.
+The metadata can then be read with ges_meta_container_get_meta() and
+similar convenience methods.
+
+## Registered Fields
+
+By default, any #GValue can be set for a metadata field. However, you
+can register some fields as static, that is they only allow values of a
+specific type to be set under them, using
+ges_meta_container_register_meta() or
+ges_meta_container_register_static_meta(). The set #GESMetaFlag will
+determine whether the value can be changed, but even if it can be
+changed, it must be changed to a value of the same type.
+
+Internally, some GES objects will be initialized with static metadata
+fields. These will correspond to some standard keys, such as
+#GES_META_VOLUME.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <method name="add_metas_from_string" c:identifier="ges_meta_container_add_metas_from_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Deserializes the given string, and adds and sets the found fields and
+their values on the container. The string should be the return of
+ges_meta_container_metas_to_string().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the fields in @str was successfully deserialized
+and added to @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A string to deserialize and add to @container</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_meta_registered" c:identifier="ges_meta_container_check_meta_registered">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Checks whether the specified field has been registered as static, and
+gets the registered type and flags of the field, as used in
+ges_meta_container_register_meta() and
+ges_meta_container_register_static_meta().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field has been registered on
+@container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="flags" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A destination to get the registered flags of
+the field, or %NULL to ignore</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag*"/>
+ </parameter>
+ <parameter name="type" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A destination to get the registered type of
+the field, or %NULL to ignore</doc>
+ <type name="GType" c:type="GType*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="ges_meta_container_foreach">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Calls the given function on each of the meta container's set metadata
+fields.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" scope="call" closure="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A function to call on each of @container's set
+metadata fields</doc>
+ <type name="MetaForeachFunc" c:type="GESMetaForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">User data to send to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean" c:identifier="ges_meta_container_get_boolean">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current boolean value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the boolean value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date" c:identifier="ges_meta_container_get_date">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current date value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the date value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time" c:identifier="ges_meta_container_get_date_time">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current date time value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the date time value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="Gst.DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double" c:identifier="ges_meta_container_get_double">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current double value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the double value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float" c:identifier="ges_meta_container_get_float">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current float value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the float value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int" c:identifier="ges_meta_container_get_int">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current int value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the int value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64" c:identifier="ges_meta_container_get_int64">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current int64 value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the int64 value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_marker_list" c:identifier="ges_meta_container_get_marker_list" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current marker list value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A copy of the marker list value under @key,
+or %NULL if it could not be fetched.</doc>
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_meta" c:identifier="ges_meta_container_get_meta">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current value of the specified field of the meta container.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value under @key, or %NULL if @container
+does not have the field set.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_string" c:identifier="ges_meta_container_get_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current string value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The string value under @meta_item, or %NULL
+if it could not be fetched.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint" c:identifier="ges_meta_container_get_uint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current uint value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the uint value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64" c:identifier="ges_meta_container_get_uint64">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Gets the current uint64 value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the uint64 value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="metas_to_string" c:identifier="ges_meta_container_metas_to_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Serializes the set metadata fields of the meta container to a string.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A serialized @container.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="register_meta" c:identifier="ges_meta_container_register_meta">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given value, and registers the field to only hold a value of the
+same type. After calling this, only values of the same type as @value
+can be set for this field. The given flags can be set to make this
+field only readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold @value types, with the given @flags, and the
+field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_boolean" c:identifier="ges_meta_container_register_meta_boolean">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given boolean value, and registers the field to only hold a boolean
+typed value. After calling this, only boolean values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold boolean typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_date" c:identifier="ges_meta_container_register_meta_date">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given date value, and registers the field to only hold a date
+typed value. After calling this, only date values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold date typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="GLib.Date" c:type="const GDate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_date_time" c:identifier="ges_meta_container_register_meta_date_time">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given date time value, and registers the field to only hold a date time
+typed value. After calling this, only date time values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold date time typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="Gst.DateTime" c:type="const GstDateTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_double" c:identifier="ges_meta_container_register_meta_double">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given double value, and registers the field to only hold a double
+typed value. After calling this, only double values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold double typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_float" c:identifier="ges_meta_container_register_meta_float">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given float value, and registers the field to only hold a float
+typed value. After calling this, only float values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold float typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_int" c:identifier="ges_meta_container_register_meta_int">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given int value, and registers the field to only hold an int
+typed value. After calling this, only int values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold int typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_int64" c:identifier="ges_meta_container_register_meta_int64">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given int64 value, and registers the field to only hold an int64
+typed value. After calling this, only int64 values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold int64 typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_string" c:identifier="ges_meta_container_register_meta_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given string value, and registers the field to only hold a string
+typed value. After calling this, only string values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold string typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_uint" c:identifier="ges_meta_container_register_meta_uint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given uint value, and registers the field to only hold a uint
+typed value. After calling this, only uint values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold uint typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_uint64" c:identifier="ges_meta_container_register_meta_uint64">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given uint64 value, and registers the field to only hold a uint64
+typed value. After calling this, only uint64 values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold uint64 typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set for the registered field</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_static_meta" c:identifier="ges_meta_container_register_static_meta" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Registers a static metadata field on the container to only hold the
+specified type. After calling this, setting a value under this field
+can only succeed if its type matches the registered type of the field.
+
+Unlike ges_meta_container_register_meta(), no (initial) value is set
+for this field, which means you can use this method to reserve the
+space to be _optionally_ set later.
+
+Note that if a value has already been set for the field being
+registered, then its type must match the registering type, and its
+value will be left in place. If the field has no set value, then
+you will likely want to include #GES_META_WRITABLE in @flags to allow
+the value to be set later.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if the @meta_item field was successfully registered on
+@container to only hold @type values, with the given @flags.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The required value type for the registered field</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_boolean" c:identifier="ges_meta_container_set_boolean">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given boolean value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_date" c:identifier="ges_meta_container_set_date">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given date value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="GLib.Date" c:type="const GDate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_date_time" c:identifier="ges_meta_container_set_date_time">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given date time value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="Gst.DateTime" c:type="const GstDateTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_double" c:identifier="ges_meta_container_set_double">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given double value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_float" c:identifier="ges_meta_container_set_float">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given float value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_int" c:identifier="ges_meta_container_set_int">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given int value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_int64" c:identifier="ges_meta_container_set_int64">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given int64 value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_marker_list" c:identifier="ges_meta_container_set_marker_list" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given marker list value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="MarkerList" c:type="const GESMarkerList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_meta" c:identifier="ges_meta_container_set_meta">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to a
+copy of the given value. If the given @value is %NULL, the field
+given by @meta_item is removed and %TRUE is returned.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item, or %NULL to
+remove the corresponding field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_string" c:identifier="ges_meta_container_set_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given string value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uint" c:identifier="ges_meta_container_set_uint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given uint value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uint64" c:identifier="ges_meta_container_set_uint64">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">Sets the value of the specified field of the meta container to the
+given uint64 value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The value to set under @meta_item</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="notify-meta" when="first" no-recurse="1" detailed="1" no-hooks="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">This is emitted for a meta container whenever the metadata under one
+of its fields changes, is set for the first time, or is removed. In
+the latter case, @value will be %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The key for the @container field that changed</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.c">The new value under @key</doc>
+ <type name="GObject.Value"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="MetaContainerInterface" c:type="GESMetaContainerInterface" glib:is-gtype-struct-for="MetaContainer">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="MetaFlag" glib:type-name="GESMetaFlag" glib:get-type="ges_meta_flag_get_type" c:type="GESMetaFlag">
+ <member name="readable" value="1" c:identifier="GES_META_READABLE" glib:nick="readable">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The metadata is readable</doc>
+ </member>
+ <member name="writable" value="2" c:identifier="GES_META_WRITABLE" glib:nick="writable">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The metadata is writable</doc>
+ </member>
+ <member name="readwrite" value="3" c:identifier="GES_META_READ_WRITE" glib:nick="readwrite">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The metadata is readable and writable</doc>
+ </member>
+ </bitfield>
+ <callback name="MetaForeachFunc" c:type="GESMetaForeachFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">A method to be called on all of a meta container's fields.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-meta-container.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="const GESMetaContainer*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The key for one of @container's fields</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">The set value under @key</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-meta-container.h">User data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="MultiFileSource" c:symbol-prefix="multi_file_source" c:type="GESMultiFileSource" deprecated="1" deprecated-version="1.18" parent="VideoSource" glib:type-name="GESMultiFileSource" glib:get-type="ges_multi_file_source_get_type" glib:type-struct="MultiFileSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.c">Outputs the video stream from a given image sequence. The start frame chosen
+will be determined by the in-point property on the track element.
+
+This should not be used anymore, the `imagesequence://` protocol should be
+used instead. Check the #imagesequencesrc GStreamer element for more
+information.</doc>
+ <doc-deprecated xml:space="preserve">Use #GESUriSource instead</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_multi_file_source_new">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="MultiFileSource" c:type="GESMultiFileSource*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="uri" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.c">The uri of the file/resource to use. You can set a start index,
+a stop index and a sequence pattern.
+The format is &lt;multifile://start:stop\@location-pattern&gt;.
+The pattern uses printf string formating.
+
+Example uris:
+
+multifile:///home/you/image\%03d.jpg
+
+multifile://20:50@/home/you/sequence/\%04d.png</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="MultiFileSourcePrivate" c:type="GESMultiFileSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="MultiFileSourceClass" c:type="GESMultiFileSourceClass" glib:is-gtype-struct-for="MultiFileSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.h"/>
+ <field name="parent_class">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="MultiFileSourcePrivate" c:type="GESMultiFileSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-multi-file-source.h"/>
+ </record>
+ <class name="Operation" c:symbol-prefix="operation" c:type="GESOperation" parent="TrackElement" abstract="1" glib:type-name="GESOperation" glib:get-type="ges_operation_get_type" glib:type-struct="OperationClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-operation.h">Base class for overlays, transitions, and effects</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-operation.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="TrackElement" c:type="GESTrackElement"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="OperationPrivate" c:type="GESOperationPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="OperationClass" c:type="GESOperationClass" glib:is-gtype-struct-for="Operation">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-operation.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TrackElementClass" c:type="GESTrackElementClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="OperationClip" c:symbol-prefix="operation_clip" c:type="GESOperationClip" parent="Clip" abstract="1" glib:type-name="GESOperationClip" glib:get-type="ges_operation_clip_get_type" glib:type-struct="OperationClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-operation-clip.c">Operations are any kind of object that both outputs AND consumes data.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-operation-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Clip" c:type="GESClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="OperationClipPrivate" c:type="GESOperationClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="OperationClipClass" c:type="GESOperationClipClass" glib:is-gtype-struct-for="OperationClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-operation-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="ClipClass" c:type="GESClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="OperationClipPrivate" c:type="GESOperationClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-operation-clip.h"/>
+ </record>
+ <record name="OperationPrivate" c:type="GESOperationPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-operation.h"/>
+ </record>
+ <class name="OverlayClip" c:symbol-prefix="overlay_clip" c:type="GESOverlayClip" parent="OperationClip" abstract="1" glib:type-name="GESOverlayClip" glib:get-type="ges_overlay_clip_get_type" glib:type-struct="OverlayClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-overlay-clip.c">Overlays are objects which modify the underlying layer(s).
+
+Examples of overlays include text, image watermarks, or audio dubbing.
+
+Transitions, which change from one source to another over time, are
+not considered overlays.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-overlay-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="OperationClip" c:type="GESOperationClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="OverlayClipPrivate" c:type="GESOverlayClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="OverlayClipClass" c:type="GESOverlayClipClass" glib:is-gtype-struct-for="OverlayClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-overlay-clip.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-overlay-clip.h">parent class</doc>
+ <type name="OperationClipClass" c:type="GESOperationClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="OverlayClipPrivate" c:type="GESOverlayClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-overlay-clip.h"/>
+ </record>
+ <constant name="PADDING" value="4" c:type="GES_PADDING">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-types.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PADDING_LARGE" value="20" c:type="GES_PADDING_LARGE">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-types.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="Pipeline" c:symbol-prefix="pipeline" c:type="GESPipeline" parent="Gst.Pipeline" glib:type-name="GESPipeline" glib:get-type="ges_pipeline_get_type" glib:type-struct="PipelineClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline can take an audio-video #GESTimeline and conveniently
+link its #GESTrack-s to an internal #playsink element, for
+preview/playback, and an internal #encodebin element, for rendering.
+You can switch between these modes using ges_pipeline_set_mode().
+
+You can choose the specific audio and video sinks used for previewing
+the timeline by setting the #GESPipeline:audio-sink and
+#GESPipeline:video-sink properties.
+
+You can set the encoding and save location used in rendering by calling
+ges_pipeline_set_render_settings().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <implements name="Gst.ChildProxy"/>
+ <implements name="GstVideo.VideoOverlay"/>
+ <constructor name="new" c:identifier="ges_pipeline_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Creates a new pipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The newly created pipeline.</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </return-value>
+ </constructor>
+ <method name="get_mode" c:identifier="ges_pipeline_get_mode">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Gets the #GESPipeline:mode of the pipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The current mode of @pipeline.</doc>
+ <type name="PipelineFlags" c:type="GESPipelineFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_thumbnail" c:identifier="ges_pipeline_get_thumbnail">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Gets a sample from the pipeline of the currently displayed image in
+preview, in the specified format.
+
+Note that if you use "ANY" caps for @caps, then the current format of
+the image is used. You can retrieve these caps from the returned sample
+with gst_sample_get_caps().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A sample of @self's current image preview in
+the format given by @caps, or %NULL if an error prevented fetching the
+sample.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline in #GST_STATE_PLAYING or #GST_STATE_PAUSED</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Some caps to specifying the desired format, or
+#GST_CAPS_ANY to use the native format</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_thumbnail_rgb24" c:identifier="ges_pipeline_get_thumbnail_rgb24">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Gets a sample from the pipeline of the currently displayed image in
+preview, in the 24-bit "RGB" format and of the desired width and
+height.
+
+See ges_pipeline_get_thumbnail().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A sample of @self's current image preview in
+the "RGB" format, scaled to @width and @height, or %NULL if an error
+prevented fetching the sample.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The requested pixel width of the image, or -1 to use the native
+size</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The requested pixel height of the image, or -1 to use the
+native size</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="preview_get_audio_sink" c:identifier="ges_pipeline_preview_get_audio_sink">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Gets the #GESPipeline:audio-sink of the pipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The audio sink used by @self for preview.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="preview_get_video_sink" c:identifier="ges_pipeline_preview_get_video_sink">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Gets the #GESPipeline:video-sink of the pipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The video sink used by @self for preview.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="preview_set_audio_sink" c:identifier="ges_pipeline_preview_set_audio_sink">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Sets the #GESPipeline:audio-sink of the pipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline in #GST_STATE_NULL</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="sink" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A audio sink for @self to use for preview</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="preview_set_video_sink" c:identifier="ges_pipeline_preview_set_video_sink">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Sets the #GESPipeline:video-sink of the pipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline in #GST_STATE_NULL</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="sink" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A video sink for @self to use for preview</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_thumbnail" c:identifier="ges_pipeline_save_thumbnail" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Saves the currently displayed image of the pipeline in preview to the
+given location, in the specified dimensions and format.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">%TRUE if @self's current image preview was successfully saved
+to @location using the given @format, @height and @width.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The requested pixel width of the image, or -1 to use the native
+size</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The requested pixel height of the image, or -1 to use the
+native size</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The desired mime type (for example, "image/jpeg")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The path to save the thumbnail to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mode" c:identifier="ges_pipeline_set_mode">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Sets the #GESPipeline:mode of the pipeline.
+
+Note that the pipeline will be set to #GST_STATE_NULL during this call to
+perform the necessary changes. You will need to set the state again yourself
+after calling this.
+
+&gt; **NOTE**: [Rendering settings](ges_pipeline_set_render_settings) need to be
+&gt; set before setting @mode to #GES_PIPELINE_MODE_RENDER or
+&gt; #GES_PIPELINE_MODE_SMART_RENDER, the call to this method will fail
+&gt; otherwise.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">%TRUE if the mode of @pipeline was successfully set to @mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The mode to set for @pipeline</doc>
+ <type name="PipelineFlags" c:type="GESPipelineFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_render_settings" c:identifier="ges_pipeline_set_render_settings">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Specifies encoding setting to be used by the pipeline to render its
+#GESPipeline:timeline, and where the result should be written to.
+
+This method **must** be called before setting the pipeline mode to
+#GES_PIPELINE_MODE_RENDER.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">%TRUE if the settings were successfully set on @pipeline.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="output_uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The URI to save the #GESPipeline:timeline rendering
+result to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The encoding to use for rendering the #GESPipeline:timeline</doc>
+ <type name="GstPbutils.EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_pipeline_set_timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">Takes the given timeline and sets it as the #GESPipeline:timeline for
+the pipeline.
+
+Note that you should only call this method once on a given pipeline
+because a pipeline can not have its #GESPipeline:timeline changed after
+it has been set.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">%TRUE if @timeline was successfully given to @pipeline.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The timeline to set for @pipeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="audio-filter" version="1.6.0" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The audio filter(s) to apply during playback in preview mode,
+immediately before the #GESPipeline:audio-sink. This exposes the
+#playsink:audio-filter property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <property name="audio-sink" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The audio sink used for preview. This exposes the
+#playsink:audio-sink property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <property name="mode" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The pipeline's mode. In preview mode (for audio or video, or both)
+the pipeline can display the timeline's content to an end user. In
+rendering mode the pipeline can encode the timeline's content and
+save it to a file.</doc>
+ <type name="PipelineFlags"/>
+ </property>
+ <property name="timeline" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The timeline used by this pipeline, whose content it will play and
+render, or %NULL if the pipeline does not yet have a timeline.
+
+Note that after you set the timeline for the first time, subsequent
+calls to change the timeline will fail.</doc>
+ <type name="Timeline"/>
+ </property>
+ <property name="video-filter" version="1.6.0" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The video filter(s) to apply during playback in preview mode,
+immediately before the #GESPipeline:video-sink. This exposes the
+#playsink:video-filter property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <property name="video-sink" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.c">The video sink used for preview. This exposes the
+#playsink:video-sink property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Pipeline" c:type="GstPipeline"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PipelinePrivate" c:type="GESPipelinePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PipelineClass" c:type="GESPipelineClass" glib:is-gtype-struct-for="Pipeline">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pipeline.h">parent class</doc>
+ <type name="Gst.PipelineClass" c:type="GstPipelineClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PipelineFlags" glib:type-name="GESPipelineFlags" glib:get-type="ges_pipeline_flags_get_type" c:type="GESPipelineFlags">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The various modes a #GESPipeline can be configured to.</doc>
+ <member name="audio_preview" value="1" c:identifier="GES_PIPELINE_MODE_PREVIEW_AUDIO" glib:nick="audio_preview">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Output the #GESPipeline:timeline's
+audio to the soundcard</doc>
+ </member>
+ <member name="video_preview" value="2" c:identifier="GES_PIPELINE_MODE_PREVIEW_VIDEO" glib:nick="video_preview">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Output the #GESPipeline:timeline's
+video to the screen</doc>
+ </member>
+ <member name="full_preview" value="3" c:identifier="GES_PIPELINE_MODE_PREVIEW" glib:nick="full_preview">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Output both the #GESPipeline:timeline's
+audio and video to the soundcard and screen (default)</doc>
+ </member>
+ <member name="render" value="4" c:identifier="GES_PIPELINE_MODE_RENDER" glib:nick="render">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Render the #GESPipeline:timeline with
+forced decoding (the underlying #encodebin has its
+#encodebin:avoid-reencoding property set to %FALSE)</doc>
+ </member>
+ <member name="smart_render" value="8" c:identifier="GES_PIPELINE_MODE_SMART_RENDER" glib:nick="smart_render">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Render the #GESPipeline:timeline,
+avoiding decoding/reencoding (the underlying #encodebin has its
+#encodebin:avoid-reencoding property set to %TRUE).
+&gt; NOTE: Smart rendering can not work in tracks where #GESTrack:mixing
+&gt; is enabled.</doc>
+ </member>
+ </bitfield>
+ <record name="PipelinePrivate" c:type="GESPipelinePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pipeline.h"/>
+ </record>
+ <class name="PitiviFormatter" c:symbol-prefix="pitivi_formatter" c:type="GESPitiviFormatter" deprecated="1" deprecated-version="1.0" parent="Formatter" glib:type-name="GESPitiviFormatter" glib:get-type="ges_pitivi_formatter_get_type" glib:type-struct="PitiviFormatterClass">
+ <attribute name="doc.skip" value="true"/>
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-pitivi-formatter.c">This is a legacy format and you should avoid to use it. The formatter
+is really not in good shape and is deprecated.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pitivi-formatter.h"/>
+ <implements name="Extractable"/>
+ <constructor name="new" c:identifier="ges_pitivi_formatter_new">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pitivi-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="PitiviFormatter" c:type="GESPitiviFormatter*"/>
+ </return-value>
+ </constructor>
+ <field name="parent">
+ <type name="Formatter" c:type="GESFormatter"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PitiviFormatterPrivate" c:type="GESPitiviFormatterPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PitiviFormatterClass" c:type="GESPitiviFormatterClass" glib:is-gtype-struct-for="PitiviFormatter">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pitivi-formatter.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="FormatterClass" c:type="GESFormatterClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="PitiviFormatterPrivate" c:type="GESPitiviFormatterPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-pitivi-formatter.h"/>
+ </record>
+ <class name="Project" c:symbol-prefix="project" c:type="GESProject" parent="Asset" glib:type-name="GESProject" glib:get-type="ges_project_get_type" glib:type-struct="ProjectClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESProject is used to control a set of #GESAsset and is a
+#GESAsset with `GES_TYPE_TIMELINE` as @extractable_type itself. That
+means that you can extract #GESTimeline from a project as followed:
+
+|[
+ GESProject *project;
+ GESTimeline *timeline;
+
+ project = ges_project_new ("file:///path/to/a/valid/project/uri");
+
+ // Here you can connect to the various signal to get more infos about
+ // what is happening and recover from errors if possible
+ ...
+
+ timeline = ges_asset_extract (GES_ASSET (project));
+]|
+
+The #GESProject class offers a higher level API to handle #GESAsset-s.
+It lets you request new asset, and it informs you about new assets through
+a set of signals. Also it handles problem such as missing files/missing
+#GstElement and lets you try to recover from those.
+
+## Subprojects
+
+In order to add a subproject, the only thing to do is to add the subproject
+to the main project:
+
+``` c
+ges_project_add_asset (project, GES_ASSET (subproject));
+```
+then the subproject will be serialized in the project files. To use
+the subproject in a timeline, you should use a #GESUriClip with the
+same subproject URI.
+
+When loading a project with subproject, subprojects URIs will be temporary
+writable local files. If you want to edit the subproject timeline,
+you should retrieve the subproject from the parent project asset list and
+extract the timeline with ges_asset_extract() and save it at
+the same temporary location.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <constructor name="new" c:identifier="ges_project_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Creates a new #GESProject and sets its uri to @uri if provided. Note that
+if @uri is not valid or %NULL, the uri of the project will then be set
+the first time you save the project. If you then save the project to
+other locations, it will never be updated again and the first valid URI is
+the URI it will keep refering to.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A newly created #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The uri to be set after creating the project.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="asset_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="asset_loading">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="asset_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loaded">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loading" version="1.18">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.h">The self</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.h">The loading timeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loading_error">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="missing_uri">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="wrong_asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_asset" c:identifier="ges_project_add_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Adds a #GESAsset to @project, the project will keep a reference on
+@asset.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE if the asset could be added %FALSE it was already
+in the project</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESAsset to add to @project</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_encoding_profile" c:identifier="ges_project_add_encoding_profile">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Adds @profile to the project. It lets you save in what format
+the project has been renders and keep a reference to those formats.
+Also, those formats will be saves to the project file when possible.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE if @profile could be added, %FALSE otherwize</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GstEncodingProfile to add to the project. If a profile with
+the same name already exists, it will be replaced</doc>
+ <type name="GstPbutils.EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_formatter" c:identifier="ges_project_add_formatter" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Adds a formatter as used to load @project</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The project to add a formatter to</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A formatter used by @project</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_asset" c:identifier="ges_project_create_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Create and add a #GESAsset to @project. You should connect to the
+"asset-added" signal to get the asset when it finally gets added to
+@project</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE if the asset started to be added %FALSE it was already
+in the project</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The id of the asset to create and add to @project</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GType of the asset to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_asset_sync" c:identifier="ges_project_create_asset_sync" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Create and add a #GESAsset to @project. You should connect to the
+"asset-added" signal to get the asset when it finally gets added to
+@project</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The newly created #GESAsset or %NULL.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The id of the asset to create and add to @project</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GType of the asset to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_asset" c:identifier="ges_project_get_asset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESAsset with
+@id or %NULL if no asset with @id as an ID</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The id of the asset to retrieve</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The extractable_type of the asset
+to retrieve from @object</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_loading_assets" c:identifier="ges_project_get_loading_assets">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Get the assets that are being loaded</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A set of loading asset
+that will be added to @project. Note that those Asset are *not* loaded yet,
+and thus can not be used</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri" c:identifier="ges_project_get_uri">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Retrieve the uri that is currently set on @project</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">a newly allocated string representing uri.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_assets" c:identifier="ges_project_list_assets">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">List all @asset contained in @project filtering per extractable_type
+as defined by @filter. It copies the asset and thus will not be updated
+in time.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The list of
+#GESAsset the object contains</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Type of assets to list, `GES_TYPE_EXTRACTABLE` will list
+all assets</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_encoding_profiles" c:identifier="ges_project_list_encoding_profiles">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Lists the encoding profile that have been set to @project. The first one
+is the latest added.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The
+list of #GstEncodingProfile used in @project</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="GstPbutils.EncodingProfile"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load" c:identifier="ges_project_load" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Loads @project into @timeline</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE if the project could be loaded %FALSE otherwize.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject that has an @uri set already</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A blank timeline to load @project into</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_asset" c:identifier="ges_project_remove_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">remove a @asset to from @project.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE if the asset could be removed %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESAsset to remove from @project</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save" c:identifier="ges_project_save" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Save the timeline of @project to @uri. You should make sure that @timeline
+is one of the timelines that have been extracted from @project
+(using ges_asset_extract (@project);)</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE if the project could be save, %FALSE otherwize</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">A #GESProject to save</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESTimeline to save, it must have been extracted from @project</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The uri where to save @project and @timeline</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="formatter_asset" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The formatter asset to
+use or %NULL. If %NULL, will try to save in the same format as the one
+from which the timeline as been loaded or default to the best formatter
+as defined in #ges_find_formatter_for_uri</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="uri" writable="1" construct-only="1" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent">
+ <type name="Asset" c:type="GESAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ProjectPrivate" c:type="GESProjectPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="asset-added" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESAsset that has been added to @project</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="asset-loading" when="last" version="1.8">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESAsset that started loading</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="asset-removed" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESAsset that has been removed from @project</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="error-loading" when="last" version="1.18">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The timeline that failed loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GError defining the error that occured</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="error-loading-asset" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">Informs you that a #GESAsset could not be created. In case of
+missing GStreamer plugins, the error will be set to #GST_CORE_ERROR
+#GST_CORE_ERROR_MISSING_PLUGIN</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GError defining the error that occured, might be %NULL</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The @id of the asset that failed loading</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The @extractable_type of the asset that
+failed loading</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="loaded" when="first">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESTimeline that completed loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="loading" when="first" version="1.18">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The #GESTimeline that started loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="missing-uri" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">|[
+static gchar
+source_moved_cb (GESProject *project, GError *error, GESAsset *asset_with_error)
+{
+ return g_strdup ("file:///the/new/uri.ogg");
+}
+
+static int
+main (int argc, gchar ** argv)
+{
+ GESTimeline *timeline;
+ GESProject *project = ges_project_new ("file:///some/uri.xges");
+
+ g_signal_connect (project, "missing-uri", source_moved_cb, NULL);
+ timeline = ges_asset_extract (GES_ASSET (project));
+}
+]|</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The new URI of @wrong_asset</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The error that happened</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ <parameter name="wrong_asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.c">The asset with the wrong ID, you should us it and its content
+only to find out what the new location is.</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ProjectClass" c:type="GESProjectClass" glib:is-gtype-struct-for="Project">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <field name="parent_class">
+ <type name="AssetClass" c:type="GESAssetClass"/>
+ </field>
+ <field name="asset_added">
+ <callback name="asset_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="asset_loading">
+ <callback name="asset_loading">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="asset_removed">
+ <callback name="asset_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="missing_uri">
+ <callback name="missing_uri">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="wrong_asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loading_error">
+ <callback name="loading_error">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loaded">
+ <callback name="loaded">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loading">
+ <callback name="loading">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.h">The self</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-project.h">The loading timeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ProjectPrivate" c:type="GESProjectPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ </record>
+ <class name="Source" c:symbol-prefix="source" c:type="GESSource" parent="TrackElement" glib:type-name="GESSource" glib:get-type="ges_source_get_type" glib:type-struct="SourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">Base class for single-media sources</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="create_source" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">Creates the GstElement to put in the source topbin. Other elements will be
+queued, like a volume. In the case of a AudioUriSource, for example, the
+subclass will return a decodebin, and we will append a volume.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The source element to use.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The #GESAudioSource</doc>
+ <type name="Source" c:type="GESSource*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="select_pad" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">Check whether @pad should be exposed/used.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">%TRUE if @pad should be used %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The @source for which to check if @pad should be used or not</doc>
+ <type name="Source" c:type="GESSource*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The pad to check</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="parent" readable="0" private="1">
+ <type name="TrackElement" c:type="GESTrackElement"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SourcePrivate" c:type="GESSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="SourceClass" c:type="GESSourceClass" glib:is-gtype-struct-for="Source">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TrackElementClass" c:type="GESTrackElementClass"/>
+ </field>
+ <field name="select_pad">
+ <callback name="select_pad">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">%TRUE if @pad should be used %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The @source for which to check if @pad should be used or not</doc>
+ <type name="Source" c:type="GESSource*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The pad to check</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_source">
+ <callback name="create_source">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The source element to use.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source.h">The #GESAudioSource</doc>
+ <type name="Source" c:type="GESSource*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="SourceClip" c:symbol-prefix="source_clip" c:type="GESSourceClip" parent="Clip" glib:type-name="GESSourceClip" glib:get-type="ges_source_clip_get_type" glib:type-struct="SourceClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source-clip.c">#GESSourceClip-s are clips whose core elements are #GESSource-s.
+
+## Effects
+
+#GESSourceClip-s can also have #GESBaseEffect-s added as non-core
+elements. These effects are applied to the core sources of the clip
+that they share a #GESTrack with. See #GESClip for how to add and move
+these effects from the clip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new_time_overlay" c:identifier="ges_source_clip_new_time_overlay" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-time-overlay-clip.c">Creates a new #GESSourceClip that renders a time overlay on top</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-time-overlay-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-time-overlay-clip.c">The newly created #GESSourceClip,
+or %NULL if there was an error.</doc>
+ <type name="SourceClip" c:type="GESSourceClip*"/>
+ </return-value>
+ </constructor>
+ <field name="parent">
+ <type name="Clip" c:type="GESClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SourceClipPrivate" c:type="GESSourceClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="SourceClipAsset" c:symbol-prefix="source_clip_asset" c:type="GESSourceClipAsset" version="1.18" parent="ClipAsset" glib:type-name="GESSourceClipAsset" glib:get-type="ges_source_clip_asset_get_type" glib:type-struct="SourceClipAssetClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-source-clip-asset.h">An asset types from which #GESSourceClip will be extracted</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source-clip-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <field name="parent_instance">
+ <type name="ClipAsset" c:type="GESClipAsset"/>
+ </field>
+ </class>
+ <record name="SourceClipAssetClass" c:type="GESSourceClipAssetClass" glib:is-gtype-struct-for="SourceClipAsset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source-clip-asset.h"/>
+ <field name="parent_class">
+ <type name="ClipAssetClass" c:type="GESClipAssetClass"/>
+ </field>
+ </record>
+ <record name="SourceClipClass" c:type="GESSourceClipClass" glib:is-gtype-struct-for="SourceClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="ClipClass" c:type="GESClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="SourceClipPrivate" c:type="GESSourceClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source-clip.h"/>
+ </record>
+ <record name="SourcePrivate" c:type="GESSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-source.h"/>
+ </record>
+ <function-macro name="TIMELINE_ELEMENT_DURATION" c:identifier="GES_TIMELINE_ELEMENT_DURATION" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:duration of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_END" c:identifier="GES_TIMELINE_ELEMENT_END" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The end position of @obj: #GESTimelineElement:start +
+#GESTimelineElement:duration.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_INPOINT" c:identifier="GES_TIMELINE_ELEMENT_INPOINT" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:in-point of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_LAYER_PRIORITY" c:identifier="GES_TIMELINE_ELEMENT_LAYER_PRIORITY" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">See #ges_timeline_element_get_layer_priority.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The object to retrieve the layer priority from</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_MAX_DURATION" c:identifier="GES_TIMELINE_ELEMENT_MAX_DURATION" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:max-duration of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_NAME" c:identifier="GES_TIMELINE_ELEMENT_NAME" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:name of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TIMELINE_ELEMENT_NO_LAYER_PRIORITY" value="4294967295" c:type="GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">Layer priority when a timeline element is not in any layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <type name="guint32" c:type="guint32"/>
+ </constant>
+ <function-macro name="TIMELINE_ELEMENT_PARENT" c:identifier="GES_TIMELINE_ELEMENT_PARENT" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:parent of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_PRIORITY" c:identifier="GES_TIMELINE_ELEMENT_PRIORITY" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:priority of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_START" c:identifier="GES_TIMELINE_ELEMENT_START" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:start of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_TIMELINE" c:identifier="GES_TIMELINE_ELEMENT_TIMELINE" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:timeline of @obj.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_GET_LAYERS" c:identifier="GES_TIMELINE_GET_LAYERS" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_GET_TRACKS" c:identifier="GES_TIMELINE_GET_TRACKS" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE" c:identifier="GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">What the default #GESTrackElement:has-internal-source value should be
+for new elements from this class.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <parameters>
+ <parameter name="klass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">A #GESTrackElementClass</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="TestClip" c:symbol-prefix="test_clip" c:type="GESTestClip" parent="SourceClip" glib:type-name="GESTestClip" glib:get-type="ges_test_clip_get_type" glib:type-struct="TestClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Useful for testing purposes.
+
+## Asset
+
+The default asset ID is GESTestClip, but the framerate and video
+size can be overridden using an ID of the form:
+
+```
+framerate=60/1, width=1920, height=1080, max-duration=5.0
+```
+Note: `max-duration` can be provided in seconds as float, or as GstClockTime
+as guint64 or gint.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_test_clip_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Creates a new #GESTestClip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The newly created #GESTestClip,
+or %NULL if there was an error.</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_for_nick" c:identifier="ges_test_clip_new_for_nick">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Creates a new #GESTestClip for the provided @nick.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The newly created #GESTestClip,
+or %NULL if there was an error.</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the nickname for which to create the #GESTestClip</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_frequency" c:identifier="ges_test_clip_get_frequency">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Get the frequency @self generates.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The frequency @self generates. See audiotestsrc element.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_volume" c:identifier="ges_test_clip_get_volume">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Get the volume of the test audio signal applied on @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The volume of the test audio signal applied on @self.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_vpattern" c:identifier="ges_test_clip_get_vpattern">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Get the #GESVideoTestPattern which is applied on @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The #GESVideoTestPattern which is applied on @self.</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_muted" c:identifier="ges_test_clip_is_muted">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Let you know if the audio track of @self is muted or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Whether the audio track of @self is muted or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_frequency" c:identifier="ges_test_clip_set_frequency">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Sets the frequency to generate. See audiotestsrc element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the #GESTestClip to set the frequency on</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="freq" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the frequency you want to use on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute" c:identifier="ges_test_clip_set_mute">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Sets whether the audio track of this clip is muted or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the #GESTestClip on which to mute or unmute the audio track</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">%TRUE to mute the audio track, %FALSE to unmute it</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume" c:identifier="ges_test_clip_set_volume">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Sets the volume of the test audio signal.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the #GESTestClip to set the volume on</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the volume of the audio signal you want to use on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_vpattern" c:identifier="ges_test_clip_set_vpattern">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Sets which video pattern to display on @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the #GESTestClip to set the pattern on</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="vpattern" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">the #GESVideoTestPattern to use on @self</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="freq" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The frequency to generate for audio track elements.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="mute" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Whether the sound will be played or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="volume" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">The volume for the audio track elements.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="vpattern" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-test-clip.c">Video pattern to display in video track elements.</doc>
+ <type name="VideoTestPattern"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClip" c:type="GESSourceClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TestClipPrivate" c:type="GESTestClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TestClipClass" c:type="GESTestClipClass" glib:is-gtype-struct-for="TestClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClipClass" c:type="GESSourceClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TestClipPrivate" c:type="GESTestClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-test-clip.h"/>
+ </record>
+ <enumeration name="TextHAlign" glib:type-name="GESTextHAlign" glib:get-type="ges_text_halign_get_type" c:type="GESTextHAlign">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Horizontal alignment of the text.</doc>
+ <member name="left" value="0" c:identifier="GES_TEXT_HALIGN_LEFT" glib:nick="left">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">align text left</doc>
+ </member>
+ <member name="center" value="1" c:identifier="GES_TEXT_HALIGN_CENTER" glib:nick="center">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">align text center</doc>
+ </member>
+ <member name="right" value="2" c:identifier="GES_TEXT_HALIGN_RIGHT" glib:nick="right">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">align text right</doc>
+ </member>
+ <member name="position" value="4" c:identifier="GES_TEXT_HALIGN_POSITION" glib:nick="position">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">align text on xpos position</doc>
+ </member>
+ <member name="absolute" value="5" c:identifier="GES_TEXT_HALIGN_ABSOLUTE" glib:nick="absolute">
+ </member>
+ </enumeration>
+ <class name="TextOverlay" c:symbol-prefix="text_overlay" c:type="GESTextOverlay" parent="Operation" glib:type-name="GESTextOverlay" glib:get-type="ges_text_overlay_get_type" glib:type-struct="TextOverlayClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_text_overlay_new" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Creates a new #GESTextOverlay.</doc>
+ <doc-deprecated xml:space="preserve">This should never be called by applications as this will
+be created by clips.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The newly created #GESTextOverlay or
+%NULL if something went wrong.</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </return-value>
+ </constructor>
+ <method name="get_color" c:identifier="ges_text_overlay_get_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the color used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The color used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc" c:identifier="ges_text_overlay_get_font_desc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the pango font description currently set on @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The pango font description currently set on @source.</doc>
+ <type name="utf8" c:type="const char*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment" c:identifier="ges_text_overlay_get_halignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the horizontal aligment used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The horizontal aligment used by @source.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text" c:identifier="ges_text_overlay_get_text">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the text currently set on @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The text currently set on @source.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment" c:identifier="ges_text_overlay_get_valignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the vertical aligment used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The vertical aligment used by @source.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_text_overlay_get_xpos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the horizontal position used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The horizontal position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_text_overlay_get_ypos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Get the vertical position used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The vertical position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_color" c:identifier="ges_text_overlay_set_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the color of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay* to set</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc" c:identifier="ges_text_overlay_set_font_desc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the pango font description of the text this track element
+will render.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halignment" c:identifier="ges_text_overlay_set_halignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the horizontal aligment of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay* to set text on</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The #GESTextHAlign defining the horizontal alignment
+of the text render by @self.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text" c:identifier="ges_text_overlay_set_text">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the text this track element will render.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay* to set text on</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valignment" c:identifier="ges_text_overlay_set_valignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the vertical aligment of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay* to set text on</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The #GESTextVAlign defining the vertical alignment
+of the text render by @self.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_text_overlay_set_xpos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the horizontal position of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay* to set</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_text_overlay_set_ypos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">Sets the vertical position of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">the #GESTextOverlay* to set</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay.c">The vertical position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="Operation" c:type="GESOperation"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TextOverlayPrivate" c:type="GESTextOverlayPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TextOverlayClass" c:type="GESTextOverlayClass" glib:is-gtype-struct-for="TextOverlay">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ <field name="parent_class">
+ <type name="OperationClass" c:type="GESOperationClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TextOverlayClip" c:symbol-prefix="text_overlay_clip" c:type="GESTextOverlayClip" parent="OverlayClip" glib:type-name="GESTextOverlayClip" glib:get-type="ges_text_overlay_clip_get_type" glib:type-struct="TextOverlayClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Renders text onto the next lower priority stream using textrender.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_text_overlay_clip_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Creates a new #GESTextOverlayClip</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The newly created
+#GESTextOverlayClip, or %NULL if there was an error.</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </return-value>
+ </constructor>
+ <method name="get_color" c:identifier="ges_text_overlay_clip_get_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the color used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The color used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc" c:identifier="ges_text_overlay_clip_get_font_desc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the pango font description used by @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The pango font description used by @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment" c:identifier="ges_text_overlay_clip_get_halignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the horizontal aligment used by @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The horizontal aligment used by @self.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text" c:identifier="ges_text_overlay_clip_get_text">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the text currently set on @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The text currently set on @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment" c:identifier="ges_text_overlay_clip_get_valignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the vertical aligment used by @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The vertical aligment used by @self.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_text_overlay_clip_get_xpos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the horizontal position used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The horizontal position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_text_overlay_clip_get_ypos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Get the vertical position used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The vertical position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_color" c:identifier="ges_text_overlay_clip_set_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the color of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip* to set</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc" c:identifier="ges_text_overlay_clip_set_font_desc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the pango font description of the text</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip*</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halign" c:identifier="ges_text_overlay_clip_set_halign">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the horizontal aligment of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip* to set horizontal alignement of text on</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">#GESTextHAlign</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text" c:identifier="ges_text_overlay_clip_set_text">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the text this clip will render.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip* to set text on</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valign" c:identifier="ges_text_overlay_clip_set_valign">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the vertical aligment of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip* to set vertical alignement of text on</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">#GESTextVAlign</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_text_overlay_clip_set_xpos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the horizontal position of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip* to set</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_text_overlay_clip_set_ypos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Sets the vertical position of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">the #GESTextOverlayClip* to set</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The vertical position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="color" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The color of the text</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="font-desc" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Pango font description string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="halignment" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Horizontal alignment of the text</doc>
+ <type name="TextHAlign"/>
+ </property>
+ <property name="text" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The text to diplay</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="valignment" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">Vertical alignent of the text</doc>
+ <type name="TextVAlign"/>
+ </property>
+ <property name="xpos" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The horizontal position of the text</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="ypos" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.c">The vertical position of the text</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <field name="parent">
+ <type name="OverlayClip" c:type="GESOverlayClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TextOverlayClipPrivate" c:type="GESTextOverlayClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TextOverlayClipClass" c:type="GESTextOverlayClipClass" glib:is-gtype-struct-for="TextOverlayClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OverlayClipClass" c:type="GESOverlayClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TextOverlayClipPrivate" c:type="GESTextOverlayClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay-clip.h"/>
+ </record>
+ <record name="TextOverlayPrivate" c:type="GESTextOverlayPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-text-overlay.h"/>
+ </record>
+ <enumeration name="TextVAlign" glib:type-name="GESTextVAlign" glib:get-type="ges_text_valign_get_type" c:type="GESTextVAlign">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Vertical alignment of the text.</doc>
+ <member name="baseline" value="0" c:identifier="GES_TEXT_VALIGN_BASELINE" glib:nick="baseline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">draw text on the baseline</doc>
+ </member>
+ <member name="bottom" value="1" c:identifier="GES_TEXT_VALIGN_BOTTOM" glib:nick="bottom">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">draw text on the bottom</doc>
+ </member>
+ <member name="top" value="2" c:identifier="GES_TEXT_VALIGN_TOP" glib:nick="top">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">draw text on top</doc>
+ </member>
+ <member name="position" value="3" c:identifier="GES_TEXT_VALIGN_POSITION" glib:nick="position">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">draw text on ypos position</doc>
+ </member>
+ <member name="center" value="4" c:identifier="GES_TEXT_VALIGN_CENTER" glib:nick="center">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">draw text on the center</doc>
+ </member>
+ <member name="absolute" value="5" c:identifier="GES_TEXT_VALIGN_ABSOLUTE" glib:nick="absolute">
+ </member>
+ </enumeration>
+ <class name="Timeline" c:symbol-prefix="timeline" c:type="GESTimeline" parent="Gst.Bin" glib:type-name="GESTimeline" glib:get-type="ges_timeline_get_type" glib:type-struct="TimelineClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">#GESTimeline is the central object for any multimedia timeline.
+
+A timeline is composed of a set of #GESTrack-s and a set of
+#GESLayer-s, which are added to the timeline using
+ges_timeline_add_track() and ges_timeline_append_layer(), respectively.
+
+The contained tracks define the supported types of the timeline
+and provide the media output. Essentially, each track provides an
+additional source #GstPad.
+
+Most usage of a timeline will likely only need a single #GESAudioTrack
+and/or a single #GESVideoTrack. You can create such a timeline with
+ges_timeline_new_audio_video(). After this, you are unlikely to need to
+work with the tracks directly.
+
+A timeline's layers contain #GESClip-s, which in turn control the
+creation of #GESTrackElement-s, which are added to the timeline's
+tracks. See #GESTimeline::select-tracks-for-object if you wish to have
+more control over which track a clip's elements are added to.
+
+The layers are ordered, with higher priority layers having their
+content prioritised in the tracks. This ordering can be changed using
+ges_timeline_move_layer().
+
+## Editing
+
+See #GESTimelineElement for the various ways the elements of a timeline
+can be edited.
+
+If you change the timing or ordering of a timeline's
+#GESTimelineElement-s, then these changes will not actually be taken
+into account in the output of the timeline's tracks until the
+ges_timeline_commit() method is called. This allows you to move its
+elements around, say, in response to an end user's mouse dragging, with
+little expense before finalising their effect on the produced data.
+
+## Overlaps and Auto-Transitions
+
+There are certain restrictions placed on how #GESSource-s may overlap
+in a #GESTrack that belongs to a timeline. These will be enforced by
+GES, so the user will not need to keep track of them, but they should
+be aware that certain edits will be refused as a result if the overlap
+rules would be broken.
+
+Consider two #GESSource-s, `A` and `B`, with start times `startA` and
+`startB`, and end times `endA` and `endB`, respectively. The start
+time refers to their #GESTimelineElement:start, and the end time is
+their #GESTimelineElement:start + #GESTimelineElement:duration. These
+two sources *overlap* if:
+
++ they share the same #GESTrackElement:track (non %NULL), which belongs
+ to the timeline;
++ they share the same #GES_TIMELINE_ELEMENT_LAYER_PRIORITY; and
++ `startA &lt; endB` and `startB &lt; endA `.
+
+Note that when `startA = endB` or `startB = endA` then the two sources
+will *touch* at their edges, but are not considered overlapping.
+
+If, in addition, `startA &lt; startB &lt; endA`, then we can say that the
+end of `A` overlaps the start of `B`.
+
+If, instead, `startA &lt;= startB` and `endA &gt;= endB`, then we can say
+that `A` fully overlaps `B`.
+
+The overlap rules for a timeline are that:
+
+1. One source cannot fully overlap another source.
+2. A source can only overlap the end of up to one other source at its
+ start.
+3. A source can only overlap the start of up to one other source at its
+ end.
+
+The last two rules combined essentially mean that at any given timeline
+position, only up to two #GESSource-s may overlap at that position. So
+triple or more overlaps are not allowed.
+
+If you switch on #GESTimeline:auto-transition, then at any moment when
+the end of one source (the first source) overlaps the start of another
+(the second source), a #GESTransitionClip will be automatically created
+for the pair in the same layer and it will cover their overlap. If the
+two elements are edited in a way such that the end of the first source
+no longer overlaps the start of the second, the transition will be
+automatically removed from the timeline. However, if the two sources
+still overlap at the same edges after the edit, then the same
+transition object will be kept, but with its timing and layer adjusted
+accordingly.
+
+NOTE: if you know what you are doing and want to be in full control of the
+timeline layout, you can disable the edit APIs with
+#ges_timeline_disable_edit_apis.
+
+## Saving
+
+To save/load a timeline, you can use the ges_timeline_load_from_uri()
+and ges_timeline_save_to_uri() methods that use the default format.
+
+## Playing
+
+A timeline is a #GstBin with a source #GstPad for each of its
+tracks, which you can fetch with ges_timeline_get_pad_for_track(). You
+will likely want to link these to some compatible sink #GstElement-s to
+be able to play or capture the content of the timeline.
+
+You can use a #GESPipeline to easily preview/play the timeline's
+content, or render it to a file.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_timeline_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Creates a new empty timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The new timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_audio_video" c:identifier="ges_timeline_new_audio_video">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-utils.c">Creates a new timeline containing a single #GESAudioTrack and a
+single #GESVideoTrack.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-utils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-utils.c">The new timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_from_uri" c:identifier="ges_timeline_new_from_uri" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Creates a timeline from the given URI.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A new timeline if the uri was loaded
+successfully, or %NULL if the uri could not be loaded.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The URI to load from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="group_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="group_removed" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ <parameter name="children" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="layer_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="layer_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="track_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="track_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_layer" c:identifier="ges_timeline_add_layer" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Add a layer to the timeline.
+
+If the layer contains #GESClip-s, then this may trigger the creation of
+their core track element children for the timeline's tracks, and the
+placement of the clip's children in the tracks of the timeline using
+#GESTimeline::select-tracks-for-object. Some errors may occur if this
+would break one of the configuration rules of the timeline in one of
+its tracks. In such cases, some track elements would fail to be added
+to their tracks, but this method would still return %TRUE. As such, it
+is advised that you only add clips to layers that already part of a
+timeline. In such situations, ges_layer_add_clip() is able to fail if
+adding the clip would cause such an error.</doc>
+ <doc-deprecated xml:space="preserve">This method requires you to ensure the layer's
+#GESLayer:priority will be unique to the timeline. Use
+ges_timeline_append_layer() and ges_timeline_move_layer() instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if @layer was properly added.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The layer to add</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_track" c:identifier="ges_timeline_add_track">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Add a track to the timeline.
+
+If the timeline already contains clips, then this may trigger the
+creation of their core track element children for the track, and the
+placement of the clip's children in the track of the timeline using
+#GESTimeline::select-tracks-for-object. Some errors may occur if this
+would break one of the configuration rules for the timeline in the
+track. In such cases, some track elements would fail to be added to the
+track, but this method would still return %TRUE. As such, it is advised
+that you avoid adding tracks to timelines that already contain clips.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if @track was properly added.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The track to add</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_layer" c:identifier="ges_timeline_append_layer">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Append a newly created layer to the timeline. The layer will
+be added at the lowest #GESLayer:priority (numerically, the highest).</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The newly created layer.</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="commit" c:identifier="ges_timeline_commit">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Commit all the pending changes of the clips contained in the
+timeline.
+
+When changes happen in a timeline, they are not immediately executed
+internally, in a way that effects the output data of the timeline. You
+should call this method when you are done with a set of changes and you
+want them to be executed.
+
+Any pending changes will be executed in the backend. The
+#GESTimeline::commited signal will be emitted once this has completed.
+You should not try to change the state of the timeline, seek it or add
+tracks to it before receiving this signal. You can use
+ges_timeline_commit_sync() if you do not want to perform other tasks in
+the mean time.
+
+Note that all the pending changes will automatically be executed when
+the timeline goes from #GST_STATE_READY to #GST_STATE_PAUSED, which is
+usually triggered by a corresponding state changes in a containing
+#GESPipeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="commit_sync" c:identifier="ges_timeline_commit_sync">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Commit all the pending changes of the clips contained in the
+timeline and wait for the changes to complete.
+
+See ges_timeline_commit().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="disable_edit_apis" c:identifier="ges_timeline_disable_edit_apis" version="1.22">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">WARNING: When using that mode, GES won't guarantee the coherence of the
+timeline. You need to ensure that the rules described in the [Overlaps and
+auto transitions](#overlaps-and-autotransitions) section are respected any time
+the timeline is [commited](ges_timeline_commit) (otherwise playback will most
+probably fail in different ways).
+
+When disabling editing APIs, GES won't be able to enforce the rules that
+makes the timeline overall state to be valid but some feature won't be
+usable:
+ * #GESTimeline:snapping-distance
+ * #GESTimeline:auto-transition</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="disable_edit_apis" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE to disable all the edit APIs so the user is in full
+control of ensuring timeline state validity %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="freeze_commit" c:identifier="ges_timeline_freeze_commit" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Freezes the timeline from being committed. This is usually needed while the
+timeline is being rendered to ensure that not change to the timeline are
+taken into account during that moment. Once the rendering is done, you
+should call #ges_timeline_thaw_commit so that committing becomes possible
+again and any call to `commit()` that happened during the rendering is
+actually taken into account.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_transition" c:identifier="ges_timeline_get_auto_transition">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Gets #GESTimeline:auto-transition for the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The auto-transition of @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_duration" c:identifier="ges_timeline_get_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Get the current #GESTimeline:duration of the timeline</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The current duration of @timeline.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_edit_apis_disabled" c:identifier="ges_timeline_get_edit_apis_disabled" version="1.22">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if edit APIs are disabled, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_element" c:identifier="ges_timeline_get_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Gets the element contained in the timeline with the given name.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The timeline element in @timeline
+with the given @name, or %NULL if it was not found.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The name of the element to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_at" c:identifier="ges_timeline_get_frame_at" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">This method allows you to convert a timeline #GstClockTime into its
+corresponding #GESFrameNumber in the timeline's output.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The frame number @timestamp corresponds to.</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The timestamp to get the corresponding frame number of</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_time" c:identifier="ges_timeline_get_frame_time" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">This method allows you to convert a timeline output frame number into a
+timeline #GstClockTime. For example, this time could be used to seek to a
+particular frame in the timeline's output, or as the edit position for
+an element within the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The timestamp corresponding to @frame_number in the output of @self.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The self on which to retrieve the timestamp for @frame_number</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The frame number to get the corresponding timestamp of in the
+ timeline coordinates</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_groups" c:identifier="ges_timeline_get_groups">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Get the list of #GESGroup-s present in the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The list of
+groups that contain clips present in @timeline's layers.
+Must not be changed.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Group"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_layer" c:identifier="ges_timeline_get_layer">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Retrieve the layer whose index in the timeline matches the given
+priority.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The layer with the given
+@priority, or %NULL if none was found.
+
+Since 1.6</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline to retrieve a layer from</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The priority/index of the layer to find</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_layers" c:identifier="ges_timeline_get_layers">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Get the list of #GESLayer-s present in the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The list of
+layers present in @timeline sorted by priority.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_for_track" c:identifier="ges_timeline_get_pad_for_track">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Search for the #GstPad corresponding to the given timeline's track.
+You can link to this pad to receive the output data of the given track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The pad corresponding to @track,
+or %NULL if there is an error.</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A track</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_snapping_distance" c:identifier="ges_timeline_get_snapping_distance">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Gets the #GESTimeline:snapping-distance for the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The snapping distance (in nanoseconds) of @timeline.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track_for_pad" c:identifier="ges_timeline_get_track_for_pad">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Search for the #GESTrack corresponding to the given timeline's pad.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The track corresponding to @pad,
+or %NULL if there is an error.</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A pad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tracks" c:identifier="ges_timeline_get_tracks">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Get the list of #GESTrack-s used by the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The list of tracks
+used by @timeline.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Track"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_empty" c:identifier="ges_timeline_is_empty">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Check whether the timeline is empty or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if @timeline is empty.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load_from_uri" c:identifier="ges_timeline_load_from_uri" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Loads the contents of URI into the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if the timeline was loaded successfully from @uri.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">An empty #GESTimeline into which to load the formatter</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The URI to load from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="move_layer" c:identifier="ges_timeline_move_layer" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Moves a layer within the timeline to the index given by
+@new_layer_priority.
+An index of 0 corresponds to the layer with the highest priority in a
+timeline. If @new_layer_priority is greater than the number of layers
+present in the timeline, it will become the lowest priority layer.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A layer within @timeline, whose priority should be changed</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The new index for @layer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="paste_element" c:identifier="ges_timeline_paste_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Paste an element inside the timeline. @element **must** be the return of
+ges_timeline_element_copy() with `deep=TRUE`,
+and it should not be changed before pasting. @element itself is not
+placed in the timeline, instead a new element is created, alike to the
+originally copied element. Note that the originally copied element must
+also lie within @timeline, at both the point of copying and pasting.
+
+Pasting may fail if it would place the timeline in an unsupported
+configuration.
+
+After calling this function @element should not be used. In particular,
+@element can **not** be pasted again. Instead, you can copy the
+returned element and paste that copy (although, this is only possible
+if the paste was successful).
+
+See also ges_timeline_element_paste().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The newly created element, or
+%NULL if pasting fails.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline onto which @element should be pasted</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The element to paste</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The position in the timeline @element should be pasted to,
+i.e. the #GESTimelineElement:start value for the pasted element.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The layer into which the element should be pasted.
+-1 means paste to the same layer from which @element has been copied from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_layer" c:identifier="ges_timeline_remove_layer">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Removes a layer from the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if @layer was properly removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The layer to remove</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_track" c:identifier="ges_timeline_remove_track">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Remove a track from the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if @track was properly removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The track to remove</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_to_uri" c:identifier="ges_timeline_save_to_uri" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Saves the timeline to the given location. If @formatter_asset is %NULL,
+the method will attempt to save in the same format the timeline was
+loaded from, before defaulting to the formatter with highest rank.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE if @timeline was successfully saved to @uri.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The location to save to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="formatter_asset" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The formatter asset to use, or %NULL</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_transition" c:identifier="ges_timeline_set_auto_transition">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Sets #GESTimeline:auto-transition for the timeline. This will also set
+the corresponding #GESLayer:auto-transition for all of the timeline's
+layers to the same value. See ges_layer_set_auto_transition() if you
+wish to set the layer's #GESLayer:auto-transition individually.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="auto_transition" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Whether transitions should be automatically added
+to @timeline's layers</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_snapping_distance" c:identifier="ges_timeline_set_snapping_distance">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Sets #GESTimeline:snapping-distance for the timeline. This new value
+will only effect future snappings and will not be used to snap the
+current element positions within the timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="snapping_distance" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The snapping distance to use (in nanoseconds)</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="thaw_commit" c:identifier="ges_timeline_thaw_commit" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Thaw the timeline so that comiting becomes possible
+again and any call to `commit()` that happened during the rendering is
+actually taken into account.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="auto-transition" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Whether to automatically create a transition whenever two
+#GESSource-s overlap in a track of the timeline. See
+#GESLayer:auto-transition if you want this to only happen in some
+layers.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The current duration (in nanoseconds) of the timeline. A timeline
+'starts' at time 0, so this is the maximum end time of all of its
+#GESTimelineElement-s.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="snapping-distance" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The distance (in nanoseconds) at which a #GESTimelineElement being
+moved within the timeline should snap one of its #GESSource-s with
+another #GESSource-s edge. See #GESEditMode for which edges can
+snap during an edit. 0 means no snapping.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Bin" c:type="GstBin"/>
+ </field>
+ <field name="layers">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.h">A list of #GESLayer-s sorted by
+priority. NOTE: Do not modify.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </field>
+ <field name="tracks">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.h">Deprecated:1.10: (element-type GES.Track): This is not thread
+safe, use #ges_timeline_get_tracks instead.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TimelinePrivate" c:type="GESTimelinePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="commited" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">This signal will be emitted once the changes initiated by
+ges_timeline_commit() have been executed in the backend. Use
+ges_timeline_commit_sync() if you do not want to have to connect
+to this signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="group-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted after the group is added to to the timeline. This can
+happen when grouping with `ges_container_group`, or by adding
+containers to a newly created group.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which groups
+were created for the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="group" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The group that was added to @timeline</doc>
+ <type name="Group"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="group-removed" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted after the group is removed from the timeline through
+`ges_container_ungroup`. Note that @group will no longer contain its
+former children, these are held in @children.
+
+Note that if a group is emptied, then it will no longer belong to the
+timeline, but this signal will **not** be emitted in such a case.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="group" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The group that was removed from @timeline</doc>
+ <type name="Group"/>
+ </parameter>
+ <parameter name="children" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A list
+of #GESContainer-s that _were_ the children of the removed @group</doc>
+ <array name="GLib.PtrArray">
+ <type name="Container"/>
+ </array>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="layer-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted after the layer is added to the timeline.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which
+layers were created for the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The layer that was added to @timeline</doc>
+ <type name="Layer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="layer-removed" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted after the layer is removed from the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The layer that was removed from @timeline</doc>
+ <type name="Layer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="select-element-track" when="last" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Simplified version of #GESTimeline::select-tracks-for-object which only
+allows @track_element to be added to a single #GESTrack.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">A track to put @track_element into, or %NULL if
+it should be discarded.</doc>
+ <type name="Track"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The clip that @track_element is being added to</doc>
+ <type name="Clip"/>
+ </parameter>
+ <parameter name="track_element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The element being added</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="select-tracks-for-object" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">This will be emitted whenever the timeline needs to determine which
+tracks a clip's children should be added to. The track element will
+be added to each of the tracks given in the return. If a track
+element is selected to go into multiple tracks, it will be copied
+into the additional tracks, under the same clip. Note that the copy
+will *not* keep its properties or state in sync with the original.
+
+Connect to this signal once if you wish to control which element
+should be added to which track. Doing so will overwrite the default
+behaviour, which adds @track_element to all tracks whose
+#GESTrack:track-type includes the @track_element's
+#GESTrackElement:track-type.
+
+Note that under the default track selection, if a clip would produce
+multiple core children of the same #GESTrackType, it will choose
+one of the core children arbitrarily to place in the corresponding
+tracks, with a warning for the other core children that are not
+placed in the track. For example, this would happen for a #GESUriClip
+that points to a file that contains multiple audio streams. If you
+wish to choose the stream, you could connect to this signal, and use,
+say, ges_uri_source_asset_get_stream_info() to choose which core
+source to add.
+
+When a clip is first added to a timeline, its core elements will
+be created for the current tracks in the timeline if they have not
+already been created. Then this will be emitted for each of these
+core children to select which tracks, if any, they should be added
+to. It will then be called for any non-core children in the clip.
+
+In addition, if a new track element is ever added to a clip in a
+timeline (and it is not already part of a track) this will be emitted
+to select which tracks the element should be added to.
+
+Finally, as a special case, if a track is added to the timeline
+*after* it already contains clips, then it will request the creation
+of the clips' core elements of the corresponding type, if they have
+not already been created, and this signal will be emitted for each of
+these newly created elements. In addition, this will also be released
+for all other track elements in the timeline's clips that have not
+yet been assigned a track. However, in this final case, the timeline
+will only check whether the newly added track appears in the track
+list. If it does appear, the track element will be added to the newly
+added track. All other tracks in the returned track list are ignored.
+
+In this latter case, track elements that are already part of a track
+will not be asked if they want to be copied into the new track. If
+you wish to do this, you can use ges_clip_add_child_to_track().
+
+Note that the returned #GPtrArray should own a new reference to each
+of its contained #GESTrack. The timeline will set the #GDestroyNotify
+free function on the #GPtrArray to dereference the elements.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">An array of
+#GESTrack-s that @track_element should be added to, or %NULL to
+not add the element to any track.</doc>
+ <array name="GLib.PtrArray">
+ <type name="Track"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The clip that @track_element is being added to</doc>
+ <type name="Clip"/>
+ </parameter>
+ <parameter name="track_element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The element being added</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="snapping-ended" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted whenever a snapping event ends. After a snap event
+has started (see #GESTimeline::snapping-started), it can later end
+because either another timeline edit has occurred (which may or may
+not have created a new snapping event), or because the timeline has
+been committed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The first element that was snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="obj2" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The second element that was snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The position where the two objects were to be snapped to</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="snapping-started" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted whenever an element's movement invokes a snapping
+event during an edit (usually of one of its ancestors) because its
+start or end point lies within the #GESTimeline:snapping-distance of
+another element's start or end point.
+
+See #GESEditMode to see what can snap during an edit.
+
+Note that only up to one snapping-started signal will be emitted per
+element edit within a timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The first element that is snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="obj2" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The second element that is snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The position where the two objects will snap to</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="track-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted after the track is added to the timeline.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which
+tracks were created for the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The track that was added to @timeline</doc>
+ <type name="Track"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="track-removed" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">Will be emitted after the track is removed from the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.c">The track that was removed from @timeline</doc>
+ <type name="Track"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TimelineClass" c:type="GESTimelineClass" glib:is-gtype-struct-for="Timeline">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.h">parent class</doc>
+ <type name="Gst.BinClass" c:type="GstBinClass"/>
+ </field>
+ <field name="track_added">
+ <callback name="track_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="track_removed">
+ <callback name="track_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="layer_added">
+ <callback name="layer_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="layer_removed">
+ <callback name="layer_removed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="group_added">
+ <callback name="group_added">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="group_removed" introspectable="0">
+ <callback name="group_removed" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ <parameter name="children" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TimelineElement" c:symbol-prefix="timeline_element" c:type="GESTimelineElement" parent="GObject.InitiallyUnowned" abstract="1" glib:type-name="GESTimelineElement" glib:get-type="ges_timeline_element_get_type" glib:type-struct="TimelineElementClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement will have some temporal extent in its
+corresponding #GESTimelineElement:timeline, controlled by its
+#GESTimelineElement:start and #GESTimelineElement:duration. This
+determines when its content will be displayed, or its effect applied,
+in the timeline. Several objects may overlap within a given
+#GESTimeline, in which case their #GESTimelineElement:priority is used
+to determine their ordering in the timeline. Priority is mostly handled
+internally by #GESLayer-s and #GESClip-s.
+
+A timeline element can have a #GESTimelineElement:parent,
+such as a #GESClip, which is responsible for controlling its timing.
+
+## Editing
+
+Elements can be moved around in their #GESTimelineElement:timeline by
+setting their #GESTimelineElement:start and
+#GESTimelineElement:duration using ges_timeline_element_set_start()
+and ges_timeline_element_set_duration(). Additionally, which parts of
+the underlying content are played in the timeline can be adjusted by
+setting the #GESTimelineElement:in-point using
+ges_timeline_element_set_inpoint(). The library also provides
+ges_timeline_element_edit(), with various #GESEditMode-s, which can
+adjust these properties in a convenient way, as well as introduce
+similar changes in neighbouring or later elements in the timeline.
+
+However, a timeline may refuse a change in these properties if they
+would place the timeline in an unsupported configuration. See
+#GESTimeline for its overlap rules.
+
+Additionally, an edit may be refused if it would place one of the
+timing properties out of bounds (such as a negative time value for
+#GESTimelineElement:start, or having insufficient internal
+content to last for the desired #GESTimelineElement:duration).
+
+## Time Coordinates
+
+There are three main sets of time coordinates to consider when using
+timeline elements:
+
++ Timeline coordinates: these are the time coordinates used in the
+ output of the timeline in its #GESTrack-s. Each track share the same
+ coordinates, so there is only one set of coordinates for the
+ timeline. These extend indefinitely from 0. The times used for
+ editing (including setting #GESTimelineElement:start and
+ #GESTimelineElement:duration) use these coordinates, since these
+ define when an element is present and for how long the element lasts
+ for in the timeline.
++ Internal source coordinates: these are the time coordinates used
+ internally at the element's output. This is only really defined for
+ #GESTrackElement-s, where it refers to time coordinates used at the
+ final source pad of the wrapped #GstElement-s. However, these
+ coordinates may also be used in a #GESClip in reference to its
+ children. In particular, these are the coordinates used for
+ #GESTimelineElement:in-point and #GESTimelineElement:max-duration.
++ Internal sink coordinates: these are the time coordinates used
+ internally at the element's input. A #GESSource has no input, so
+ these would be undefined. Otherwise, for most #GESTrackElement-s
+ these will be the same set of coordinates as the internal source
+ coordinates because the element does not change the timing
+ internally. Only #GESBaseEffect can support elements where these
+ are different. See #GESBaseEffect for more information.
+
+You can determine the timeline time for a given internal source time
+in a #GESTrack in a #GESClip using
+ges_clip_get_timeline_time_from_internal_time(), and vice versa using
+ges_clip_get_internal_time_from_timeline_time(), for the purposes of
+editing and setting timings properties.
+
+## Children Properties
+
+If a timeline element owns another #GstObject and wishes to expose
+some of its properties, it can do so by registering the property as one
+of the timeline element's children properties using
+ges_timeline_element_add_child_property(). The registered property of
+the child can then be read and set using the
+ges_timeline_element_get_child_property() and
+ges_timeline_element_set_child_property() methods, respectively. Some
+sub-classed objects will be created with pre-registered children
+properties; for example, to expose part of an underlying #GstElement
+that is used internally. The registered properties can be listed with
+ges_timeline_element_list_children_properties().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="deep_copy">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_layer_priority" invoker="get_layer_priority" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the priority of the layer the element is in. A #GESGroup may span
+several layers, so this would return the highest priority (numerically,
+the smallest) amongst them.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_natural_framerate" invoker="get_natural_framerate" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Get the "natural" framerate of @self. This is to say, for example
+for a #GESVideoUriSource the framerate of the source.
+
+Note that a #GESAudioSource may also have a natural framerate if it derives
+from the same #GESSourceClip asset as a #GESVideoSource, and its value will
+be that of the video source. For example, if the uri of a #GESUriClip points
+to a file that contains both a video and audio stream, then the corresponding
+#GESAudioUriSource will share the natural framerate of the corresponding
+#GESVideoUriSource.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_track_types" invoker="get_track_types" version="1.6.0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the track types that the element can interact with, i.e. the type
+of #GESTrack it can exist in, or will create #GESTrackElement-s for.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The track types that @self supports.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="list_children_properties" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="lookup_child" invoker="lookup_child">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Looks up a child property of the element.
+
+@prop_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to look up (as used in g_object_get()), and "TypeName" is the type name
+of the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will be passed to @child, and the
+registered specification of this property will be passed to @pspec.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of a child property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="child" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the
+found child</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the
+specification of the child property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="paste" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="ref_element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="paste_position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="ripple" invoker="ripple">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the start time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_NONE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="ripple_end" invoker="ripple_end">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the end time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_END.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new end time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="roll_end" invoker="roll_end">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the end time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_END.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new end time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="roll_start" invoker="roll_start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the start time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_START.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_child_property" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">Method for setting the child property given by
+@pspec on @child to @value. Default implementation will use
+g_object_set_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_child_property_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">Similar to @set_child_property, except setting can fail, with the @error
+being optionally set. Default implementation will call @set_child_property
+and return %TRUE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_duration" invoker="set_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:duration for the element.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the
+#GESTimelineElement:duration of the element may be snapped to a
+different timeline time difference from the one given. In addition,
+setting may fail if it would place the timeline in an unsupported
+configuration, or the element does not have enough internal content to
+last the desired duration.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The desired duration in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_inpoint" invoker="set_inpoint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:in-point for the element. If the new in-point
+is above the current #GESTimelineElement:max-duration of the element,
+this method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The in-point, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_max_duration" invoker="set_max_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:max-duration for the element. If the new
+maximum duration is below the current #GESTimelineElement:in-point of
+the element, this method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The maximum duration, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_parent" invoker="set_parent">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the #GESTimelineElement:parent for the element.
+
+This is used internally and you should normally not call this. A
+#GESContainer will set the #GESTimelineElement:parent of its children
+in ges_container_add() and ges_container_remove().
+
+Note, if @parent is not %NULL, @self must not already have a parent
+set. Therefore, if you wish to switch parents, you will need to call
+this function twice: first to set the parent to %NULL, and then to the
+new parent.
+
+If @parent is not %NULL, you must ensure it already has a
+(non-floating) reference to @self before calling this.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @parent could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_priority" invoker="set_priority" deprecated="1" deprecated-version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the priority of the element within the containing layer.</doc>
+ <doc-deprecated xml:space="preserve">All priority management is done by GES itself now.
+To set #GESEffect priorities #ges_clip_set_top_effect_index should
+be used.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_start" invoker="set_start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:start for the element. If the element has a
+parent, this will also move its siblings with the same shift.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the
+#GESTimelineElement:start of the element may be snapped to a different
+timeline time from the one given. In addition, setting may fail if it
+would place the timeline in an unsupported configuration.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The desired start position of the element in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="trim" invoker="trim">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the start time of an element within its timeline in trim mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_TRIM and
+#GES_EDGE_START.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to trim</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in trim mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_child_property" c:identifier="ges_timeline_element_add_child_property">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Register a property of a child of the element to allow it to be
+written with ges_timeline_element_set_child_property() and read with
+ges_timeline_element_get_child_property(). A change in the property
+will also appear in the #GESTimelineElement::deep-notify signal.
+
+@pspec should be unique from other children properties that have been
+registered on @self.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the property was successfully registered.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification for the property to add</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GstObject who the property belongs to</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="ges_timeline_element_copy">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Create a copy of @self. All the properties of @self are copied into
+a new element, with the exception of #GESTimelineElement:parent,
+#GESTimelineElement:timeline and #GESTimelineElement:name. Other data,
+such the list of a #GESContainer's children, is **not** copied.
+
+If @deep is %TRUE, then the new element is prepared so that it can be
+used in ges_timeline_element_paste() or ges_timeline_paste_element().
+In the case of copying a #GESContainer, this ensures that the children
+of @self will also be pasted. The new element should not be used for
+anything else and can only be used **once** in a pasting operation. In
+particular, the new element itself is not an actual 'deep' copy of
+@self, but should be thought of as an intermediate object used for a
+single paste operation.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The newly create element, copied from @self.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to copy</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="deep" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Whether the copy is needed for pasting</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit" c:identifier="ges_timeline_element_edit" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">See ges_timeline_element_edit_full(), which also gives an error.
+
+Note that the @layers argument is currently ignored, so you should
+just pass %NULL.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to edit</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority/index of the layer @self should be
+moved to. -1 means no move</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The edge of @self where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The edit position: a new location for the edge of @self
+(in nanoseconds) in the timeline coordinates</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit_full" c:identifier="ges_timeline_element_edit_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the element within its timeline by adjusting its
+#GESTimelineElement:start, #GESTimelineElement:duration or
+#GESTimelineElement:in-point, and potentially doing the same for
+other elements in the timeline. See #GESEditMode for details about each
+edit mode. An edit may fail if it would place one of these properties
+out of bounds, or if it would place the timeline in an unsupported
+configuration.
+
+Note that if you act on a #GESTrackElement, this will edit its parent
+#GESClip instead. Moreover, for any #GESTimelineElement, if you select
+#GES_EDGE_NONE for #GES_EDIT_MODE_NORMAL or #GES_EDIT_MODE_RIPPLE, this
+will edit the toplevel instead, but still in such a way as to make the
+#GESTimelineElement:start of @self reach the edit @position.
+
+Note that if the element's timeline has a
+#GESTimeline:snapping-distance set, then the edit position may be
+snapped to the edge of some element under the edited element.
+
+@new_layer_priority can be used to switch @self, and other elements
+moved by the edit, to a new layer. New layers may be be created if the
+the corresponding layer priority/index does not yet exist for the
+timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to edit</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority/index of the layer @self should be
+moved to. -1 means no move</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The edge of @self where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The edit position: a new location for the edge of @self
+(in nanoseconds) in the timeline coordinates</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_properties" c:identifier="ges_timeline_element_get_child_properties" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets several of the children properties of the element. See
+ges_timeline_element_get_child_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the first child property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the first property, followed
+optionally by more name/return location pairs, followed by %NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property" c:identifier="ges_timeline_element_get_child_property">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the property of a child of the element.
+
+@property_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to get (as used in g_object_get()), and "TypeName" is the type name of
+the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will have the corresponding
+property copied into @value.
+
+Note that ges_timeline_element_get_child_properties() may be more
+convenient for C programming.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the property was found and copied to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the child property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_by_pspec" c:identifier="ges_timeline_element_get_child_property_by_pspec">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the property of a child of the element. Specifically, the property
+corresponding to the @pspec used in
+ges_timeline_element_add_child_property() is copied into @value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification of a registered child property to get</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_valist" c:identifier="ges_timeline_element_get_child_property_valist" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets several of the children properties of the element. See
+ges_timeline_element_get_child_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the first child property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the first property, followed
+optionally by more name/return location pairs, followed by %NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_duration" c:identifier="ges_timeline_element_get_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:duration for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The duration of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_inpoint" c:identifier="ges_timeline_element_get_inpoint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:in-point for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The in-point of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_layer_priority" c:identifier="ges_timeline_element_get_layer_priority" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the priority of the layer the element is in. A #GESGroup may span
+several layers, so this would return the highest priority (numerically,
+the smallest) amongst them.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_duration" c:identifier="ges_timeline_element_get_max_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:max-duration for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The max-duration of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="ges_timeline_element_get_name">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:name for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of @self.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_natural_framerate" c:identifier="ges_timeline_element_get_natural_framerate" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Get the "natural" framerate of @self. This is to say, for example
+for a #GESVideoUriSource the framerate of the source.
+
+Note that a #GESAudioSource may also have a natural framerate if it derives
+from the same #GESSourceClip asset as a #GESVideoSource, and its value will
+be that of the video source. For example, if the uri of a #GESUriClip points
+to a file that contains both a video and audio stream, then the corresponding
+#GESAudioUriSource will share the natural framerate of the corresponding
+#GESVideoUriSource.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_parent" c:identifier="ges_timeline_element_get_parent">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:parent for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The parent of @self, or %NULL if
+@self has no parent.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_priority" c:identifier="ges_timeline_element_get_priority">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:priority for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority of @self.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_start" c:identifier="ges_timeline_element_get_start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:start for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The start of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline" c:identifier="ges_timeline_element_get_timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the #GESTimelineElement:timeline for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The timeline of @self, or %NULL
+if @self has no timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_toplevel_parent" c:identifier="ges_timeline_element_get_toplevel_parent">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the toplevel #GESTimelineElement:parent of the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The toplevel parent of @self.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to get the toplevel parent from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track_types" c:identifier="ges_timeline_element_get_track_types" version="1.6.0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Gets the track types that the element can interact with, i.e. the type
+of #GESTrack it can exist in, or will create #GESTrackElement-s for.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The track types that @self supports.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_children_properties" c:identifier="ges_timeline_element_list_children_properties">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Get a list of children properties of the element, which is a list of
+all the specifications passed to
+ges_timeline_element_add_child_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">An array of
+#GParamSpec corresponding to the child properties of @self, or %NULL if
+something went wrong.</doc>
+ <array length="0" zero-terminated="0" c:type="GParamSpec**">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the length of the
+returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup_child" c:identifier="ges_timeline_element_lookup_child">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Looks up a child property of the element.
+
+@prop_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to look up (as used in g_object_get()), and "TypeName" is the type name
+of the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will be passed to @child, and the
+registered specification of this property will be passed to @pspec.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of a child property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="child" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the
+found child</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the
+specification of the child property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="paste" c:identifier="ges_timeline_element_paste" version="1.6.0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Paste an element inside the same timeline and layer as @self. @self
+**must** be the return of ges_timeline_element_copy() with `deep=TRUE`,
+and it should not be changed before pasting.
+@self is not placed in the timeline, instead a new element is created,
+alike to the originally copied element. Note that the originally
+copied element must stay within the same timeline and layer, at both
+the point of copying and pasting.
+
+Pasting may fail if it would place the timeline in an unsupported
+configuration.
+
+After calling this function @element should not be used. In particular,
+@element can **not** be pasted again. Instead, you can copy the
+returned element and paste that copy (although, this is only possible
+if the paste was successful).
+
+See also ges_timeline_paste_element().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The newly created element, or
+%NULL if pasting fails.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to paste</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="paste_position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The position in the timeline @element should be pasted
+to, i.e. the #GESTimelineElement:start value for the pasted element.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_child_property" c:identifier="ges_timeline_element_remove_child_property">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Remove a child property from the element. @pspec should be a
+specification that was passed to
+ges_timeline_element_add_child_property(). The corresponding property
+will no longer be registered as a child property for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the property was successfully un-registered for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification for the property to remove</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ripple" c:identifier="ges_timeline_element_ripple">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the start time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_NONE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in ripple mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ripple_end" c:identifier="ges_timeline_element_ripple_end">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the end time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_END.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new end time of @self in ripple mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="roll_end" c:identifier="ges_timeline_element_roll_end">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the end time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_END.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new end time of @self in roll mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="roll_start" c:identifier="ges_timeline_element_roll_start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the start time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_START.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in roll mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_properties" c:identifier="ges_timeline_element_set_child_properties" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets several of the children properties of the element. See
+ges_timeline_element_set_child_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the first child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The value for the first property, followed optionally by more
+name/value pairs, followed by %NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property" c:identifier="ges_timeline_element_set_child_property">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">See ges_timeline_element_set_child_property_full(), which also gives an
+error.
+
+Note that ges_timeline_element_set_child_properties() may be more
+convenient for C programming.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the property was found and set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_by_pspec" c:identifier="ges_timeline_element_set_child_property_by_pspec">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the property of a child of the element. Specifically, the property
+corresponding to the @pspec used in
+ges_timeline_element_add_child_property() is set to @value.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification of a registered child property to set</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_full" c:identifier="ges_timeline_element_set_child_property_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the property of a child of the element.
+
+@property_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to set (as used in g_object_set()), and "TypeName" is the type name of
+the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will have the corresponding
+property set to @value. Other children that may have also matched the
+property name (and type name) are left unchanged!</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the property was found and set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_valist" c:identifier="ges_timeline_element_set_child_property_valist" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets several of the children properties of the element. See
+ges_timeline_element_set_child_property().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the first child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The value for the first property, followed optionally by more
+name/value pairs, followed by %NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration" c:identifier="ges_timeline_element_set_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:duration for the element.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the
+#GESTimelineElement:duration of the element may be snapped to a
+different timeline time difference from the one given. In addition,
+setting may fail if it would place the timeline in an unsupported
+configuration, or the element does not have enough internal content to
+last the desired duration.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The desired duration in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_inpoint" c:identifier="ges_timeline_element_set_inpoint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:in-point for the element. If the new in-point
+is above the current #GESTimelineElement:max-duration of the element,
+this method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The in-point, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_duration" c:identifier="ges_timeline_element_set_max_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:max-duration for the element. If the new
+maximum duration is below the current #GESTimelineElement:in-point of
+the element, this method will fail.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The maximum duration, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="ges_timeline_element_set_name">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the #GESTimelineElement:name for the element. If %NULL is given
+for @name, then the library will instead generate a new name based on
+the type name of the element, such as the name "uriclip3" for a
+#GESUriClip, and will set that name instead.
+
+If @self already has a #GESTimelineElement:timeline, you should not
+call this function with @name set to %NULL.
+
+You should ensure that, within each #GESTimeline, every element has a
+unique name. If you call this function with @name as %NULL, then
+the library should ensure that the set generated name is unique from
+previously **generated** names. However, if you choose a @name that
+interferes with the naming conventions of the library, the library will
+attempt to ensure that the generated names will not conflict with the
+chosen name, which may lead to a different name being set instead, but
+the uniqueness between generated and user-chosen names is not
+guaranteed.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @name or a generated name for @self could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name @self should take</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent" c:identifier="ges_timeline_element_set_parent">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the #GESTimelineElement:parent for the element.
+
+This is used internally and you should normally not call this. A
+#GESContainer will set the #GESTimelineElement:parent of its children
+in ges_container_add() and ges_container_remove().
+
+Note, if @parent is not %NULL, @self must not already have a parent
+set. Therefore, if you wish to switch parents, you will need to call
+this function twice: first to set the parent to %NULL, and then to the
+new parent.
+
+If @parent is not %NULL, you must ensure it already has a
+(non-floating) reference to @self before calling this.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @parent could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_priority" c:identifier="ges_timeline_element_set_priority" deprecated="1" deprecated-version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the priority of the element within the containing layer.</doc>
+ <doc-deprecated xml:space="preserve">All priority management is done by GES itself now.
+To set #GESEffect priorities #ges_clip_set_top_effect_index should
+be used.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_start" c:identifier="ges_timeline_element_set_start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets #GESTimelineElement:start for the element. If the element has a
+parent, this will also move its siblings with the same shift.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the
+#GESTimelineElement:start of the element may be snapped to a different
+timeline time from the one given. In addition, setting may fail if it
+would place the timeline in an unsupported configuration.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The desired start position of the element in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_timeline_element_set_timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Sets the #GESTimelineElement:timeline of the element.
+
+This is used internally and you should normally not call this. A
+#GESClip will have its #GESTimelineElement:timeline set through its
+#GESLayer. A #GESTrack will similarly take care of setting the
+#GESTimelineElement:timeline of its #GESTrackElement-s. A #GESGroup
+will adopt the same #GESTimelineElement:timeline as its children.
+
+If @timeline is %NULL, this will stop its current
+#GESTimelineElement:timeline from tracking it, otherwise @timeline will
+start tracking @self. Note, in the latter case, @self must not already
+have a timeline set. Therefore, if you wish to switch timelines, you
+will need to call this function twice: first to set the timeline to
+%NULL, and then to the new timeline.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @timeline could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement
+@timeline (nullable): The #GESTimeline @self should be in</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="trim" c:identifier="ges_timeline_element_trim">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Edits the start time of an element within its timeline in trim mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_TRIM and
+#GES_EDGE_START.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to trim</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in trim mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="duration" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The duration that the element is in effect for in the timeline (a
+time difference in nanoseconds using the time coordinates of the
+timeline). For example, for a source element, this would determine
+for how long it should output its internal content for. For an
+operation element, this would determine for how long its effect
+should be applied to any source content.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="in-point" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The initial offset to use internally when outputting content (in
+nanoseconds, but in the time coordinates of the internal content).
+
+For example, for a #GESVideoUriSource that references some media
+file, the "internal content" is the media file data, and the
+in-point would correspond to some timestamp in the media file.
+When playing the timeline, and when the element is first reached at
+timeline-time #GESTimelineElement:start, it will begin outputting the
+data from the timestamp in-point **onwards**, until it reaches the
+end of its #GESTimelineElement:duration in the timeline.
+
+For elements that have no internal content, this should be kept
+as 0.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="max-duration" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The full duration of internal content that is available (a time
+difference in nanoseconds using the time coordinates of the internal
+content).
+
+This will act as a cap on the #GESTimelineElement:in-point of the
+element (which is in the same time coordinates), and will sometimes
+be used to limit the #GESTimelineElement:duration of the element in
+the timeline.
+
+For example, for a #GESVideoUriSource that references some media
+file, this would be the length of the media file.
+
+For elements that have no internal content, or whose content is
+indefinite, this should be kept as #GST_CLOCK_TIME_NONE.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="name" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of the element. This should be unique within its timeline.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="parent" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The parent container of the element.</doc>
+ <type name="TimelineElement"/>
+ </property>
+ <property name="priority" deprecated="1" deprecated-version="1.10" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority of the element.</doc>
+ <doc-deprecated xml:space="preserve">Priority management is now done by GES itself.</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="serialize" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Whether the element should be serialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="start" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The starting position of the element in the timeline (in nanoseconds
+and in the time coordinates of the timeline). For example, for a
+source element, this would determine the time at which it should
+start outputting its internal content. For an operation element, this
+would determine the time at which it should start applying its effect
+to any source content.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="timeline" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The timeline that the element lies within.</doc>
+ <type name="Timeline"/>
+ </property>
+ <field name="parent_instance">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="parent">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:parent of the element</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </field>
+ <field name="asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESAsset from which the object has been extracted</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </field>
+ <field name="start">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:start of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="inpoint">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:in-point of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:duration of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="maxduration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:max-duration of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="priority">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:priority of the element</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:timeline of the element</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </field>
+ <field name="name">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement:name of the element</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TimelineElementPrivate" c:type="GESTimelineElementPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="child-property-added" when="first" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Emitted when the element has a new child property registered. See
+ges_timeline_element_add_child_property().
+
+Note that some GES elements will be automatically created with
+pre-registered children properties. You can use
+ges_timeline_element_list_children_properties() to list these.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The child whose property has been registered</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification for the property that has been registered</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-property-removed" when="first" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Emitted when the element has a child property unregistered. See
+ges_timeline_element_remove_child_property().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The child whose property has been unregistered</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification for the property that has been unregistered</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="deep-notify" when="first" no-recurse="1" detailed="1" no-hooks="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Emitted when a child of the element has one of its registered
+properties set. See ges_timeline_element_add_child_property().
+Note that unlike #GObject::notify, a child property name can not be
+used as a signal detail.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The child whose property has been set</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The specification for the property that been set</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TimelineElementClass" c:type="GESTimelineElementClass" glib:is-gtype-struct-for="TimelineElement">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h">The #GESTimelineElement base class. Subclasses should override at least
+@set_start @set_inpoint @set_duration @ripple @ripple_end @roll_start
+@roll_end and @trim.
+
+Vmethods in subclasses should apply all the operation they need to but
+the real method implementation is in charge of setting the proper field,
+and emitting the notify signal.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <field name="parent_class">
+ <type name="GObject.InitiallyUnownedClass" c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="set_parent">
+ <callback name="set_parent">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @parent could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_start">
+ <callback name="set_start">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The desired start position of the element in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_inpoint">
+ <callback name="set_inpoint">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The in-point, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_duration">
+ <callback name="set_duration">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The desired duration in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_max_duration">
+ <callback name="set_max_duration">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The maximum duration, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_priority">
+ <callback name="set_priority">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="ripple">
+ <callback name="ripple">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="ripple_end">
+ <callback name="ripple_end">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new end time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="roll_start">
+ <callback name="roll_start">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="roll_end">
+ <callback name="roll_end">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new end time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="trim">
+ <callback name="trim">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to trim</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The new start time of @self in trim mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="deep_copy">
+ <callback name="deep_copy">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="paste" introspectable="0">
+ <callback name="paste" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="ref_element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="paste_position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="list_children_properties" introspectable="0">
+ <callback name="list_children_properties" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="lookup_child">
+ <callback name="lookup_child">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The name of a child property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="child" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the
+found child</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The return location for the
+specification of the child property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_track_types">
+ <callback name="get_track_types">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The track types that @self supports.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_child_property">
+ <callback name="set_child_property">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_layer_priority">
+ <callback name="get_layer_priority">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline-element.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_child_property_full">
+ <callback name="set_child_property_full" throws="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="14">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TimelineElementPrivate" c:type="GESTimelineElementPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline-element.h"/>
+ </record>
+ <record name="TimelinePrivate" c:type="GESTimelinePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ </record>
+ <class name="TitleClip" c:symbol-prefix="title_clip" c:type="GESTitleClip" parent="SourceClip" glib:type-name="GESTitleClip" glib:get-type="ges_title_clip_get_type" glib:type-struct="TitleClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Renders the given text in the specified font, at specified position, and
+with the specified background pattern.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_title_clip_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Creates a new #GESTitleClip</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The newly created #GESTitleClip,
+or %NULL if there was an error.</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </return-value>
+ </constructor>
+ <method name="get_background_color" c:identifier="ges_title_clip_get_background_color" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the background used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The color used by @self.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc" c:identifier="ges_title_clip_get_font_desc" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the pango font description used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The pango font description used by @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment" c:identifier="ges_title_clip_get_halignment" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the horizontal aligment used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The horizontal aligment used by @self.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text" c:identifier="ges_title_clip_get_text" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the text currently set on @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The text currently set on @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_color" c:identifier="ges_title_clip_get_text_color" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the color used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The color used by @self.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment" c:identifier="ges_title_clip_get_valignment" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the vertical aligment used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The vertical aligment used by @self.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_title_clip_get_xpos" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the horizontal position used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The horizontal position used by @self.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_title_clip_get_ypos" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Get the vertical position used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_property instead</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The vertical position used by @self.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_background" c:identifier="ges_title_clip_set_background" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the background of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="background" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_color" c:identifier="ges_title_clip_set_color" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the color of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc" c:identifier="ges_title_clip_set_font_desc" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the pango font description of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip*</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halignment" c:identifier="ges_title_clip_set_halignment" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the horizontal aligment of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set horizontal alignement of text on</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">#GESTextHAlign</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text" c:identifier="ges_title_clip_set_text" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the text this clip will render.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set text on</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valignment" c:identifier="ges_title_clip_set_valignment" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the vertical aligment of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set vertical alignement of text on</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">#GESTextVAlign</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_title_clip_set_xpos" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the horizontal position of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_title_clip_set_ypos" deprecated="1" deprecated-version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Sets the vertical position of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The vertical position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="background" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The background of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="color" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The color of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="font-desc" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Pango font description string</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="halignment" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Horizontal alignment of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="TextHAlign"/>
+ </property>
+ <property name="text" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The text to diplay</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="valignment" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">Vertical alignent of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="TextVAlign"/>
+ </property>
+ <property name="xpos" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The horizontal position of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="ypos" deprecated="1" deprecated-version="1.6" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-clip.c">The vertical position of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClip" c:type="GESSourceClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TitleClipPrivate" c:type="GESTitleClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TitleClipClass" c:type="GESTitleClipClass" glib:is-gtype-struct-for="TitleClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClipClass" c:type="GESSourceClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TitleClipPrivate" c:type="GESTitleClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-clip.h"/>
+ </record>
+ <class name="TitleSource" c:symbol-prefix="title_source" c:type="GESTitleSource" parent="VideoSource" glib:type-name="GESTitleSource" glib:get-type="ges_title_source_get_type" glib:type-struct="TitleSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">#GESTitleSource is a GESTimelineElement that implements the notion
+of titles in GES.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_background_color" c:identifier="ges_title_source_get_background_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the background used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The background used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc" c:identifier="ges_title_source_get_font_desc" deprecated="1" deprecated-version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the pango font description used by @source.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead
+(this actually returns a newly allocated string)</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The pango font description used by this
+@source.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment" c:identifier="ges_title_source_get_halignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the horizontal aligment used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The horizontal aligment used by @source.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text" c:identifier="ges_title_source_get_text" deprecated="1" deprecated-version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the text currently set on the @source.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead
+(this actually returns a newly allocated string)</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The text currently set on the @source.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_color" c:identifier="ges_title_source_get_text_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the color used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The color used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment" c:identifier="ges_title_source_get_valignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the vertical aligment used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The vertical aligment used by @source.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_title_source_get_xpos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the horizontal position used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The horizontal position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_title_source_get_ypos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Get the vertical position used by @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">The vertical position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_background_color" c:identifier="ges_title_source_set_background_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the color of the background</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc" c:identifier="ges_title_source_set_font_desc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Set the pango font description this source will use to render
+the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halignment" c:identifier="ges_title_source_set_halignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the vertical aligment of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set text on</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">#GESTextHAlign</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text" c:identifier="ges_title_source_set_text" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the text this track element will render.</doc>
+ <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
+GESTrackElement instead</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set text on</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text_color" c:identifier="ges_title_source_set_text_color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the color of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valignment" c:identifier="ges_title_source_set_valignment">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the vertical aligment of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set text on</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">#GESTextVAlign</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_title_source_set_xpos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the horizontal position of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_title_source_set_ypos">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">Sets the vertical position of the text.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.c">the color @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TitleSourcePrivate" c:type="GESTitleSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TitleSourceClass" c:type="GESTitleSourceClass" glib:is-gtype-struct-for="TitleSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-title-source.h">parent class</doc>
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TitleSourcePrivate" c:type="GESTitleSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-title-source.h"/>
+ </record>
+ <class name="Track" c:symbol-prefix="track" c:type="GESTrack" parent="Gst.Bin" glib:type-name="GESTrack" glib:get-type="ges_track_get_type" glib:type-struct="TrackClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack acts an output source for a #GESTimeline. Each one
+essentially provides an additional #GstPad for the timeline, with
+#GESTrack:restriction-caps capabilities. Internally, a track
+wraps an #nlecomposition filtered by a #capsfilter.
+
+A track will contain a number of #GESTrackElement-s, and its role is
+to select and activate these elements according to their timings when
+the timeline in played. For example, a track would activate a
+#GESSource when its #GESTimelineElement:start is reached by outputting
+its data for its #GESTimelineElement:duration. Similarly, a
+#GESOperation would be activated by applying its effect to the source
+data, starting from its #GESTimelineElement:start time and lasting for
+its #GESTimelineElement:duration.
+
+For most users, it will usually be sufficient to add newly created
+tracks to a timeline, but never directly add an element to a track.
+Whenever a #GESClip is added to a timeline, the clip adds its
+elements to the timeline's tracks and assumes responsibility for
+updating them.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_track_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Creates a new track with the given track-type and caps.
+
+If @type is #GES_TRACK_TYPE_VIDEO, and @caps is a subset of
+"video/x-raw(ANY)", then a #GESVideoTrack is created. This will
+automatically choose a gap creation method suitable for video data. You
+will likely want to set #GESTrack:restriction-caps separately. You may
+prefer to use the ges_video_track_new() method instead.
+
+If @type is #GES_TRACK_TYPE_AUDIO, and @caps is a subset of
+"audio/x-raw(ANY)", then a #GESAudioTrack is created. This will
+automatically choose a gap creation method suitable for audio data, and
+will set the #GESTrack:restriction-caps to the default for
+#GESAudioTrack. You may prefer to use the ges_audio_track_new() method
+instead.
+
+Otherwise, a plain #GESTrack is returned. You will likely want to set
+the #GESTrack:restriction-caps and call
+ges_track_set_create_element_for_gap_func() on the returned track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A new track.</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The #GESTrack:track-type for the track</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The #GESTrack:caps for the track</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="get_mixing_element" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_element" c:identifier="ges_track_add_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">See ges_track_add_element(), which also gives an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">%TRUE if @object was successfully added to @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The element to add</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_element_full" c:identifier="ges_track_add_element_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Adds the given track element to the track, which takes ownership of the
+element.
+
+Note that this can fail if it would break a configuration rule of the
+track's #GESTimeline.
+
+Note that a #GESTrackElement can only be added to one track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">%TRUE if @object was successfully added to @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The element to add</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="commit" c:identifier="ges_track_commit">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Commits all the pending changes for the elements contained in the
+track.
+
+When changes are made to the timing or priority of elements within a
+track, they are not directly executed for the underlying
+#nlecomposition and its children. This method will finally execute
+these changes so they are reflected in the data output of the track.
+
+Any pending changes will be executed in the backend. The
+#GESTimeline::commited signal will be emitted once this has completed.
+
+Note that ges_timeline_commit() will call this method on all of its
+tracks, so you are unlikely to need to use this directly.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="ges_track_get_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Get the #GESTrack:caps of the track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The caps of @track.</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_elements" c:identifier="ges_track_get_elements">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Gets the track elements contained in the track. The returned list is
+sorted by the element's #GESTimelineElement:priority and
+#GESTimelineElement:start.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A list of
+all the #GESTrackElement-s in @track.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_mixing" c:identifier="ges_track_get_mixing">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Gets the #GESTrack:mixing of the track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Whether @track is mixing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_restriction_caps" c:identifier="ges_track_get_restriction_caps" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Gets the #GESTrack:restriction-caps of the track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The restriction-caps of @track.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline" c:identifier="ges_track_get_timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Get the timeline this track belongs to.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The timeline that @track belongs to, or %NULL if
+it does not belong to a timeline.</doc>
+ <type name="Timeline" c:type="const GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_element" c:identifier="ges_track_remove_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">See ges_track_remove_element_full(), which also returns an error.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">%TRUE if @object was successfully removed from @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The element to remove</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_element_full" c:identifier="ges_track_remove_element_full" version="1.18" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Removes the given track element from the track, which revokes
+ownership of the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">%TRUE if @object was successfully removed from @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The element to remove</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_create_element_for_gap_func" c:identifier="ges_track_set_create_element_for_gap_func" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Sets the function that will be used to create a #GstElement that can be
+used as a source to fill the gaps of the track. A gap is a timeline
+region where the track has no #GESTrackElement sources. Therefore, you
+are likely to want the #GstElement returned by the function to always
+produce 'empty' content, defined relative to the stream type, such as
+transparent frames for a video, or mute samples for audio.
+
+#GESAudioTrack and #GESVideoTrack objects are created with such a
+function already set appropriately.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" scope="notified">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The function to be used to create a source
+#GstElement that can fill gaps in @track</doc>
+ <type name="CreateElementForGapFunc" c:type="GESCreateElementForGapFunc"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mixing" c:identifier="ges_track_set_mixing">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Sets the #GESTrack:mixing for the track.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="mixing" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Whether @track should be mixing</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_restriction_caps" c:identifier="ges_track_set_restriction_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Sets the #GESTrack:restriction-caps for the track.
+
+&gt; **NOTE**: Restriction caps are **not** taken into account when
+&gt; using #GESPipeline:mode=#GES_PIPELINE_MODE_SMART_RENDER.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The new restriction-caps for @track</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_track_set_timeline">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Informs the track that it belongs to the given timeline. Calling this
+does not actually add the track to the timeline. For that, you should
+use ges_timeline_add_track(), which will also take care of informing
+the track that it belongs to the timeline. As such, there is no need
+for you to call this method.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack
+@timeline (nullable): A #GESTimeline</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_restriction_caps" c:identifier="ges_track_update_restriction_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Updates the #GESTrack:restriction-caps of the track using the fields
+found in the given caps. Each of the #GstStructure-s in @caps is
+compared against the existing structure with the same index in the
+current #GESTrack:restriction-caps. If there is no corresponding
+existing structure at that index, then the new structure is simply
+copied to that index. Otherwise, any fields in the new structure are
+copied into the existing structure. This will replace existing values,
+and may introduce new ones, but any fields 'missing' in the new
+structure are left unchanged in the existing structure.
+
+For example, if the existing #GESTrack:restriction-caps are
+"video/x-raw, width=480, height=360", and the updating caps is
+"video/x-raw, format=I420, width=500; video/x-bayer, width=400", then
+the new #GESTrack:restriction-caps after calling this will be
+"video/x-raw, width=500, height=360, format=I420; video/x-bayer,
+width=400".</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The caps to update the restriction-caps with</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The capabilities used to choose the output of the #GESTrack's
+elements. Internally, this is used to select output streams when
+several may be available, by determining whether its #GstPad is
+compatible (see #NleObject:caps for #nlecomposition). As such,
+this is used as a weaker indication of the desired output type of the
+track, **before** the #GESTrack:restriction-caps is applied.
+Therefore, this should be set to a *generic* superset of the
+#GESTrack:restriction-caps, such as "video/x-raw(ANY)". In addition,
+it should match with the track's #GESTrack:track-type.
+
+Note that when you set this property, the #GstCapsFeatures of all its
+#GstStructure-s will be automatically set to #GST_CAPS_FEATURES_ANY.
+
+Once a track has been added to a #GESTimeline, you should not change
+this.
+
+Default value: #GST_CAPS_ANY.</doc>
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="duration" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Current duration of the track
+
+Default value: O</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="id" version="1.18" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The #nlecomposition:id of the underlying #nlecomposition.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="mixing" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Whether the track should support the mixing of #GESLayer data, such
+as composing the video data of each layer (when part of the video
+data is transparent, the next layer will become visible) or adding
+together the audio data. As such, for audio and video tracks, you'll
+likely want to keep this set to %TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="restriction-caps" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The capabilities that specifies the final output format of the
+#GESTrack. For example, for a video track, it would specify the
+height, width, framerate and other properties of the stream.
+
+You may change this property after the track has been added to a
+#GESTimeline, but it must remain compatible with the track's
+#GESTrack:caps.
+
+Default value: #GST_CAPS_ANY.</doc>
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="track-type" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The track type of the track. This controls the type of
+#GESTrackElement-s that can be added to the track. This should
+match with the track's #GESTrack:caps.
+
+Once a track has been added to a #GESTimeline, you should not change
+this.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Bin" c:type="GstBin"/>
+ </field>
+ <field name="type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.h">The #GESTrack:track-type of the track</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TrackPrivate" c:type="GESTrackPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="commited" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">This signal will be emitted once the changes initiated by
+ges_track_commit() have been executed in the backend. In particular,
+this will be emitted whenever the underlying #nlecomposition has been
+committed (see #nlecomposition::commited).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="track-element-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Will be emitted after a track element is added to the track.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The element that was added</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="track-element-removed" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">Will be emitted after a track element is removed from the track.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track.c">The element that was removed</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TrackClass" c:type="GESTrackClass" glib:is-gtype-struct-for="Track">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="Gst.BinClass" c:type="GstBinClass"/>
+ </field>
+ <field name="get_mixing_element" introspectable="0">
+ <callback name="get_mixing_element" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TrackElement" c:symbol-prefix="track_element" c:type="GESTrackElement" parent="TimelineElement" abstract="1" glib:type-name="GESTrackElement" glib:get-type="ges_track_element_get_type" glib:type-struct="TrackElementClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement is a #GESTimelineElement that specifically belongs
+to a single #GESTrack of its #GESTimelineElement:timeline. Its
+#GESTimelineElement:start and #GESTimelineElement:duration specify its
+temporal extent in the track. Specifically, a track element wraps some
+nleobject, such as an #nlesource or #nleoperation, which can be
+retrieved with ges_track_element_get_nleobject(), and its
+#GESTimelineElement:start, #GESTimelineElement:duration,
+#GESTimelineElement:in-point, #GESTimelineElement:priority and
+#GESTrackElement:active properties expose the corresponding nleobject
+properties. When a track element is added to a track, its nleobject is
+added to the corresponding #nlecomposition that the track wraps.
+
+Most users will not have to work directly with track elements since a
+#GESClip will automatically create track elements for its timeline's
+tracks and take responsibility for updating them. The only track
+elements that are not automatically created by clips, but a user is
+likely to want to create, are #GESEffect-s.
+
+## Control Bindings for Children Properties
+
+You can set up control bindings for a track element child property
+using ges_track_element_set_control_source(). A
+#GstTimedValueControlSource should specify the timed values using the
+internal source coordinates (see #GESTimelineElement). By default,
+these will be updated to lie between the #GESTimelineElement:in-point
+and out-point of the element. This can be switched off by setting
+#GESTrackElement:auto-clamp-control-sources to %FALSE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="active_changed">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">Notify when the #GESTrackElement:active property changes</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">Whether the element is active or not inside the #nlecomposition</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="changed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_element">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">the #GstElement that the underlying nleobject
+controls.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">The #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_gnl_object">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">the #NLEObject to use in the #nlecomposition</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">The #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="list_children_properties" introspectable="0" deprecated="1" deprecated-version="1.14">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">Listing children properties is handled by
+ges_timeline_element_list_children_properties() instead.</doc>
+ <doc-deprecated xml:space="preserve">Use #GESTimelineElementClass::list_children_properties
+instead</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="lookup_child" invoker="lookup_child" deprecated="1" deprecated-version="1.14">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Looks up which @element and @pspec would be effected by the given @name. If various
+contained elements have this property name you will get the first one, unless you
+specify the class name in @name.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_lookup_child</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @element are not modified. Unref @element after
+usage.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Object to lookup the property in</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Name of the property to look up. You can specify the name of the
+ class as such: "ClassName::property-name", to guarantee that you get the
+ proper GParamSpec in case various GstElement-s contain the same property
+ name. If you don't do so, you will get the first element found, having
+ this property and the and the corresponding GParamSpec.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">pointer to a #GstElement that
+ takes the real object to set property on</doc>
+ <type name="Gst.Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">pointer to take the specification
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_children_props" c:identifier="ges_track_element_add_children_props">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Adds all the properties of a #GstElement that match the criteria as
+children properties of the track element. If the name of @element's
+#GstElementFactory is not in @blacklist, and the factory's
+#GST_ELEMENT_METADATA_KLASS contains at least one member of
+@wanted_categories (e.g. #GST_ELEMENT_FACTORY_KLASS_DECODER), then
+all the properties of @element that are also in @whitelist are added as
+child properties of @self using
+ges_timeline_element_add_child_property().
+
+This is intended to be used by subclasses when constructing.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The child object to retrieve properties from</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="wanted_categories" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">
+An array of element factory "klass" categories to whitelist, or %NULL
+to accept all categories</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="blacklist" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A
+blacklist of element factory names, or %NULL to not blacklist any
+element factory</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="whitelist" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A
+whitelist of element property names, or %NULL to whitelist all
+writeable properties</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clamp_control_source" c:identifier="ges_track_element_clamp_control_source" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Clamp the #GstTimedValueControlSource for the specified child property
+to lie between the #GESTimelineElement:in-point and out-point of the
+element. The out-point is the #GES_TIMELINE_ELEMENT_END of the element
+translated from the timeline coordinates to the internal source
+coordinates of the element.
+
+If the property does not have a #GstTimedValueControlSource set by
+ges_track_element_set_control_source(), nothing happens. Otherwise, if
+a timed value for the control source lies before the in-point of the
+element, or after its out-point, then it will be removed. At the
+in-point and out-point times, a new interpolated value will be placed.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the child property to clamp the control
+source of</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit" c:identifier="ges_track_element_edit" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Edits the element within its track.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if the edit of @object completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GESTrackElement to edit</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The edge of @object where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The edit position: a new location for the edge of @object
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all_control_bindings" c:identifier="ges_track_element_get_all_control_bindings">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Get all the control bindings that have been created for the children
+properties of the track element using
+ges_track_element_set_control_source(). The keys used in the returned
+hash table are the child property names that were passed to
+ges_track_element_set_control_source(), and their values are the
+corresponding created #GstControlBinding.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A
+hash table containing all child-property-name/control-binding pairs
+for @trackelement.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="Gst.ControlBinding"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trackelement" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_clamp_control_sources" c:identifier="ges_track_element_get_auto_clamp_control_sources" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets #GESTrackElement:auto-clamp-control-sources.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Whether the control sources for the child properties of
+@object are automatically clamped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_child_properties" c:identifier="ges_track_element_get_child_properties" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets properties of a child of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The origin #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the first property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">return location for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property" c:identifier="ges_track_element_get_child_property" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">In general, a copy is made of the property contents and
+the caller is responsible for freeing the memory by calling
+g_value_unset().
+
+Gets a property of a GstElement contained in @object.
+
+Note that #ges_track_element_get_child_property is really
+intended for language bindings, #ges_track_element_get_child_properties
+is much more convenient for C programming.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if the property was found, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The origin #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">return location for the property value, it will
+be initialized if it is initialized with 0</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_by_pspec" c:identifier="ges_track_element_get_child_property_by_pspec" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets a property of a child of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_by_pspec</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GParamSpec that specifies the property you want to get</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" direction="out" caller-allocates="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">return location for the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_valist" c:identifier="ges_track_element_get_child_property_valist" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets a property of a child of @object. If there are various child elements
+that have the same property name, you can distinguish them using the following
+syntax: 'ClasseName::property_name' as property name. If you don't, the
+corresponding property of the first element found will be set.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_valist</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GESTrackElement parent object</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the first property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Value for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_control_binding" c:identifier="ges_track_element_get_control_binding">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets the control binding that was created for the specified child
+property of the track element using
+ges_track_element_set_control_source(). The given @property_name must
+be the same name of the child property that was passed to
+ges_track_element_set_control_source().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The control binding that was
+created for the specified child property of @object, or %NULL if
+@property_name does not correspond to any control binding.</doc>
+ <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the child property to return the control
+binding of</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_element" c:identifier="ges_track_element_get_element">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Get the #GstElement that the track element's underlying nleobject
+controls.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GstElement being controlled by the
+nleobject that @object wraps.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gnlobject" c:identifier="ges_track_element_get_gnlobject" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Get the GNonLin object this object is controlling.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_track_element_get_nleobject instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The GNonLin object this object is controlling.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_nleobject" c:identifier="ges_track_element_get_nleobject" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Get the nleobject that this element wraps.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The nleobject that @object wraps.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track" c:identifier="ges_track_element_get_track">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Get the #GESTrackElement:track for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The track that @object belongs to,
+or %NULL if it does not belong to a track.</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track_type" c:identifier="ges_track_element_get_track_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets the #GESTrackElement:track-type for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The track-type of @object.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_internal_source" c:identifier="ges_track_element_has_internal_source" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets #GESTrackElement:has-internal-source for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if @object can have its 'internal time' properties set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="ges_track_element_is_active">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets #GESTrackElement:active for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if @object is active in its track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_core" c:identifier="ges_track_element_is_core" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Get whether the given track element is a core track element. That is,
+it was created by the @create_track_elements #GESClipClass method for
+some #GESClip.
+
+Note that such a track element can only be added to a clip that shares
+the same #GESAsset as the clip that created it. For example, you are
+allowed to move core children between clips that resulted from
+ges_container_ungroup(), but you could not move the core child from a
+#GESUriClip to a #GESTitleClip or another #GESUriClip with a different
+#GESUriClip:uri.
+
+Moreover, if a core track element is added to a clip, it will always be
+added as a core child. Therefore, if this returns %TRUE, then @element
+will be a core child of its parent clip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if @element is a core track element.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_children_properties" c:identifier="ges_track_element_list_children_properties" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Gets an array of #GParamSpec* for all configurable properties of the
+children of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_list_children_properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">An array of #GParamSpec* which should be freed after use or
+%NULL if something went wrong.</doc>
+ <array length="0" zero-terminated="0" c:type="GParamSpec**">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GESTrackElement to get the list of children properties from</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">return location for the length of the returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup_child" c:identifier="ges_track_element_lookup_child" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Looks up which @element and @pspec would be effected by the given @name. If various
+contained elements have this property name you will get the first one, unless you
+specify the class name in @name.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_lookup_child</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @element are not modified. Unref @element after
+usage.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Object to lookup the property in</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Name of the property to look up. You can specify the name of the
+ class as such: "ClassName::property-name", to guarantee that you get the
+ proper GParamSpec in case various GstElement-s contain the same property
+ name. If you don't do so, you will get the first element found, having
+ this property and the and the corresponding GParamSpec.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">pointer to a #GstElement that
+ takes the real object to set property on</doc>
+ <type name="Gst.Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">pointer to take the specification
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_control_binding" c:identifier="ges_track_element_remove_control_binding">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Removes the #GstControlBinding that was created for the specified child
+property of the track element using
+ges_track_element_set_control_source(). The given @property_name must
+be the same name of the child property that was passed to
+ges_track_element_set_control_source().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if the control binding was removed from the specified
+child property of @object, or %FALSE if an error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the child property to remove the control
+binding from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active" c:identifier="ges_track_element_set_active">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets #GESTrackElement:active for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if the property was *toggled*.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Whether @object should be active in its track</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_clamp_control_sources" c:identifier="ges_track_element_set_auto_clamp_control_sources" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets #GESTrackElement:auto-clamp-control-sources. If set to %TRUE, this
+will immediately clamp all the control sources.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="auto_clamp" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Whether to automatically clamp the control sources for the
+child properties of @object</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_properties" c:identifier="ges_track_element_set_child_properties" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets a property of a child of @object. If there are various child elements
+that have the same property name, you can distinguish them using the following
+syntax: 'ClasseName::property_name' as property name. If you don't, the
+corresponding property of the first element found will be set.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_properties</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GESTrackElement parent object</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the first property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">value for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property" c:identifier="ges_track_element_set_child_property" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets a property of a GstElement contained in @object.
+
+Note that #ges_track_element_set_child_property is really
+intended for language bindings, #ges_track_element_set_child_properties
+is much more convenient for C programming.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_child_property instead</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if the property was set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The origin #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_by_pspec" c:identifier="ges_track_element_set_child_property_by_pspec" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets a property of a child of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_by_spec</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GParamSpec that specifies the property you want to set</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_valist" c:identifier="ges_track_element_set_child_property_valist" introspectable="0" deprecated="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets a property of a child of @object. If there are various child elements
+that have the same property name, you can distinguish them using the following
+syntax: 'ClasseName::property_name' as property name. If you don't, the
+corresponding property of the first element found will be set.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_valist</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-deprecated.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The #GESTrackElement parent object</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the first property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Value for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_control_source" c:identifier="ges_track_element_set_control_source">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Creates a #GstControlBinding for the specified child property of the
+track element using the given control source. The given @property_name
+should refer to an existing child property of the track element, as
+used in ges_timeline_element_lookup_child().
+
+If @binding_type is "direct", then the control binding is created with
+gst_direct_control_binding_new() using the given control source. If
+@binding_type is "direct-absolute", it is created with
+gst_direct_control_binding_new_absolute() instead.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%TRUE if the specified child property could be bound to
+@source, or %FALSE if an error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The control source to bind the child property to</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The name of the child property to control</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="binding_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The type of binding to create ("direct" or
+"direct-absolute")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_has_internal_source" c:identifier="ges_track_element_set_has_internal_source" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets #GESTrackElement:has-internal-source for the element. If this is
+set to %FALSE, this method will also set the
+#GESTimelineElement:in-point of the element to 0 and its
+#GESTimelineElement:max-duration to #GST_CLOCK_TIME_NONE.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">%FALSE if @has_internal_source is forbidden for @object and
+%TRUE in any other case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="has_internal_source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Whether the @object should be allowed to have its
+'internal time' properties set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_track_type" c:identifier="ges_track_element_set_track_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Sets the #GESTrackElement:track-type for the element.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The new track-type for @object</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="active" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Whether the effect of the element should be applied in its
+#GESTrackElement:track. If set to %FALSE, it will not be used in
+the output of the track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="auto-clamp-control-sources" version="1.18" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Whether the control sources on the element (see
+ges_track_element_set_control_source()) will be automatically
+updated whenever the #GESTimelineElement:in-point or out-point of the
+element change in value.
+
+See ges_track_element_clamp_control_source() for how this is done
+per control source.
+
+Default value: %TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="has-internal-source" version="1.18" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">This property is used to determine whether the 'internal time'
+properties of the element have any meaning. In particular, unless
+this is set to %TRUE, the #GESTimelineElement:in-point and
+#GESTimelineElement:max-duration can not be set to any value other
+than the default 0 and #GST_CLOCK_TIME_NONE, respectively.
+
+If an element has some *internal* *timed* source #GstElement that it
+reads stream data from as part of its function in a #GESTrack, then
+you'll likely want to set this to %TRUE to allow the
+#GESTimelineElement:in-point and #GESTimelineElement:max-duration to
+be set.
+
+The default value is determined by the #GESTrackElementClass
+@default_has_internal_source class property. For most
+#GESSourceClass-es, this will be %TRUE, with the exception of those
+that have a potentially *static* source, such as #GESImageSourceClass
+and #GESTitleSourceClass. Otherwise, this will usually be %FALSE.
+
+For most #GESOperation-s you will likely want to leave this set to
+%FALSE. The exception may be for an operation that reads some stream
+data from some private internal source as part of manipulating the
+input data from the usual linked upstream #GESTrackElement.
+
+For example, you may want to set this to %TRUE for a
+#GES_TRACK_TYPE_VIDEO operation that wraps a #textoverlay that reads
+from a subtitle file and places its text on top of the received video
+data. The #GESTimelineElement:in-point of the element would be used
+to shift the initial seek time on the #textoverlay away from 0, and
+the #GESTimelineElement:max-duration could be set to reflect the
+time at which the subtitle file runs out of data.
+
+Note that GES can not support track elements that have both internal
+content and manipulate the timing of their data streams (time
+effects).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="track" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The track that this element belongs to, or %NULL if it does not
+belong to a track.</doc>
+ <type name="Track"/>
+ </property>
+ <property name="track-type" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The track type of the element, which determines the type of track the
+element can be added to (see #GESTrack:track-type). This should
+correspond to the type of data that the element can produce or
+process.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="TimelineElement" c:type="GESTimelineElement"/>
+ </field>
+ <field name="active" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TrackElementPrivate" c:type="GESTrackElementPrivate*"/>
+ </field>
+ <field name="asset" readable="0" private="1">
+ <type name="Asset" c:type="GESAsset*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="control-binding-added" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">This is emitted when a control binding is added to a child property
+of the track element.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="control_binding" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The control binding that has been added</doc>
+ <type name="Gst.ControlBinding"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="control-binding-removed" when="first">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">This is emitted when a control binding is removed from a child
+property of the track element.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="control_binding" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">The control binding that has been removed</doc>
+ <type name="Gst.ControlBinding"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <class name="TrackElementAsset" c:symbol-prefix="track_element_asset" c:type="GESTrackElementAsset" parent="Asset" glib:type-name="GESTrackElementAsset" glib:get-type="ges_track_element_asset_get_type" glib:type-struct="TrackElementAssetClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <virtual-method name="get_natural_framerate" invoker="get_natural_framerate" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_natural_framerate" c:identifier="ges_track_element_asset_get_natural_framerate" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_track_type" c:identifier="ges_track_element_asset_get_track_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">Get the GESAssetTrackType the #GESTrackElement extracted from @self
+should get into</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">a #GESTrackType</doc>
+ <type name="TrackType" c:type="const GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_track_type" c:identifier="ges_track_element_asset_set_track_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">Set the #GESTrackType the #GESTrackElement extracted from @self
+should get into</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">A #GESTrackType</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="track-type" writable="1" construct="1" transfer-ownership="none">
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Asset" c:type="GESAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TrackElementAssetPrivate" c:type="GESTrackElementAssetPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TrackElementAssetClass" c:type="GESTrackElementAssetClass" glib:is-gtype-struct-for="TrackElementAsset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <field name="parent_class">
+ <type name="AssetClass" c:type="GESAssetClass"/>
+ </field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </parameter>
+ <parameter name="framerate_n" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.c">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TrackElementAssetPrivate" c:type="GESTrackElementAssetPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element-asset.h"/>
+ </record>
+ <record name="TrackElementClass" c:type="GESTrackElementClass" glib:is-gtype-struct-for="TrackElement">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
+ </field>
+ <field name="nleobject_factorytype">
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="create_gnl_object">
+ <callback name="create_gnl_object">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">the #NLEObject to use in the #nlecomposition</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">The #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_element">
+ <callback name="create_element">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">the #GstElement that the underlying nleobject
+controls.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">The #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="active_changed">
+ <callback name="active_changed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.h">Whether the element is active or not inside the #nlecomposition</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="changed">
+ <callback name="changed">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="list_children_properties" introspectable="0">
+ <callback name="list_children_properties" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="lookup_child">
+ <callback name="lookup_child">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @element are not modified. Unref @element after
+usage.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Object to lookup the property in</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">Name of the property to look up. You can specify the name of the
+ class as such: "ClassName::property-name", to guarantee that you get the
+ proper GParamSpec in case various GstElement-s contain the same property
+ name. If you don't do so, you will get the first element found, having
+ this property and the and the corresponding GParamSpec.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">pointer to a #GstElement that
+ takes the real object to set property on</doc>
+ <type name="Gst.Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-track-element.c">pointer to take the specification
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ <field name="default_has_internal_source" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="default_track_type" writable="1">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </field>
+ </record>
+ </union>
+ </record>
+ <record name="TrackElementPrivate" c:type="GESTrackElementPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track-element.h"/>
+ </record>
+ <record name="TrackPrivate" c:type="GESTrackPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-track.h"/>
+ </record>
+ <bitfield name="TrackType" glib:type-name="GESTrackType" glib:get-type="ges_track_type_get_type" c:type="GESTrackType">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Types of content handled by a track. If the content is not one of
+@GES_TRACK_TYPE_AUDIO, @GES_TRACK_TYPE_VIDEO or @GES_TRACK_TYPE_TEXT,
+the user of the #GESTrack must set the type to @GES_TRACK_TYPE_CUSTOM.
+
+@GES_TRACK_TYPE_UNKNOWN is for internal purposes and should not be used
+by users</doc>
+ <member name="unknown" value="1" c:identifier="GES_TRACK_TYPE_UNKNOWN" glib:nick="unknown">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A track of unknown type (i.e. invalid)</doc>
+ </member>
+ <member name="audio" value="2" c:identifier="GES_TRACK_TYPE_AUDIO" glib:nick="audio">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">An audio track</doc>
+ </member>
+ <member name="video" value="4" c:identifier="GES_TRACK_TYPE_VIDEO" glib:nick="video">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A video track</doc>
+ </member>
+ <member name="text" value="8" c:identifier="GES_TRACK_TYPE_TEXT" glib:nick="text">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A text (subtitle) track</doc>
+ </member>
+ <member name="custom" value="16" c:identifier="GES_TRACK_TYPE_CUSTOM" glib:nick="custom">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A custom-content track</doc>
+ </member>
+ <function name="name" c:identifier="ges_track_type_name">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-enums.h"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <class name="Transition" c:symbol-prefix="transition" c:type="GESTransition" parent="Operation" abstract="1" glib:type-name="GESTransition" glib:get-type="ges_transition_get_type" glib:type-struct="TransitionClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition.h">Base class for media transitions.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Operation" c:type="GESOperation"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TransitionPrivate" c:type="GESTransitionPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TransitionClass" c:type="GESTransitionClass" glib:is-gtype-struct-for="Transition">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OperationClass" c:type="GESOperationClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TransitionClip" c:symbol-prefix="transition_clip" c:type="GESTransitionClip" parent="BaseTransitionClip" glib:type-name="GESTransitionClip" glib:get-type="ges_transition_clip_get_type" glib:type-struct="TransitionClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">Creates an object that mixes together the two underlying objects, A and B.
+The A object is assumed to have a higher prioirity (lower number) than the
+B object. At the transition in point, only A will be visible, and by the
+end only B will be visible.
+
+The shape of the video transition depends on the value of the "vtype"
+property. The default value is "crossfade". For audio, only "crossfade" is
+supported.
+
+The ID of the ExtractableType is the nickname of the vtype property value. Note
+that this value can be changed after creation and the GESExtractable.asset value
+will be updated when needed.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_transition_clip_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">Creates a new #GESTransitionClip.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">a newly created #GESTransitionClip,
+or %NULL if something went wrong.</doc>
+ <type name="TransitionClip" c:type="GESTransitionClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vtype" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">the type of transition to create</doc>
+ <type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_for_nick" c:identifier="ges_transition_clip_new_for_nick">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">Creates a new #GESTransitionClip for the provided @nick.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">The newly created #GESTransitionClip,
+or %NULL if something went wrong</doc>
+ <type name="TransitionClip" c:type="GESTransitionClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">a string representing the type of transition to create</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="vtype" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.c">a #GESVideoStandardTransitionType representing the wipe to use</doc>
+ <type name="VideoStandardTransitionType"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="BaseTransitionClip" c:type="GESBaseTransitionClip"/>
+ </field>
+ <field name="vtype">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-transition-clip.h">a #GESVideoStandardTransitionType indicating the type of video transition
+to apply.</doc>
+ <type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TransitionClipPrivate" c:type="GESTransitionClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TransitionClipClass" c:type="GESTransitionClipClass" glib:is-gtype-struct-for="TransitionClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="BaseTransitionClipClass" c:type="GESBaseTransitionClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TransitionClipPrivate" c:type="GESTransitionClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition-clip.h"/>
+ </record>
+ <record name="TransitionPrivate" c:type="GESTransitionPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-transition.h"/>
+ </record>
+ <class name="UriClip" c:symbol-prefix="uri_clip" c:type="GESUriClip" parent="SourceClip" glib:type-name="GESUriClip" glib:get-type="ges_uri_clip_get_type" glib:type-struct="UriClipClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Represents all the output streams from a particular uri. It is assumed that
+the URI points to a file of some type.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_uri_clip_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Creates a new #GESUriClip for the provided @uri.
+
+&gt; **WARNING**: This function might 'discover` @uri **synchrounously**, it is
+&gt; an IO and processing intensive task that you probably don't want to run in
+&gt; an application mainloop. Have a look at #ges_asset_request_async to see how
+&gt; to make that operation happen **asynchronously**.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">The newly created #GESUriClip, or
+%NULL if there was an error.</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">the URI the source should control</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_uri" c:identifier="ges_uri_clip_get_uri">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Get the location of the resource.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">The location of the resource.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image" c:identifier="ges_uri_clip_is_image">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Lets you know if @self is an image or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">%TRUE if @self is a still image %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_muted" c:identifier="ges_uri_clip_is_muted">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Lets you know if the audio track of @self is muted or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">%TRUE if the audio track of @self is muted, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_is_image" c:identifier="ges_uri_clip_set_is_image">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Sets whether the clip is a still image or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ <parameter name="is_image" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">%TRUE if @self is a still image, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute" c:identifier="ges_uri_clip_set_mute">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Sets whether the audio track of this clip is muted or not.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">the #GESUriClip on which to mute or unmute the audio track</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">%TRUE to mute @self audio track, %FALSE to unmute it</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="is-image" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Whether this uri clip represents a still image or not. This must be set
+before create_track_elements is called.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="mute" writable="1" construct="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">Whether the sound will be played or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="supported-formats" writable="1" construct="1" transfer-ownership="none">
+ <type name="TrackType"/>
+ </property>
+ <property name="uri" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-clip.c">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClip" c:type="GESSourceClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriClipPrivate" c:type="GESUriClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="UriClipAsset" c:symbol-prefix="uri_clip_asset" c:type="GESUriClipAsset" parent="SourceClipAsset" glib:type-name="GESUriClipAsset" glib:get-type="ges_uri_clip_asset_get_type" glib:type-struct="UriClipAssetClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <function name="finish" c:identifier="ges_uri_clip_asset_finish" version="1.16" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Finalize the request of an async #GESUriClipAsset</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The #GESUriClipAsset previously requested</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="res" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The #GAsyncResult from which to get the newly created #GESUriClipAsset</doc>
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new" c:identifier="ges_uri_clip_asset_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">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, &amp;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-&gt;message);
+ }
+
+ gst_object_unref (mfs);
+}
+
+// The request:
+ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);
+]|</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The URI of the file for which to create a #GESUriClipAsset</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cancellable" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">optional %GCancellable object, %NULL to ignore.</doc>
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="3">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a #GAsyncReadyCallback to call when the initialization is finished</doc>
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The user data to pass when @callback is called</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request_sync" c:identifier="ges_uri_clip_asset_request_sync" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Creates a #GESUriClipAsset for @uri syncronously. You should avoid
+to use it in application, and rather create #GESUriClipAsset asynchronously</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">A reference to the requested asset or %NULL if
+an error happened</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The URI of the file for which to create a #GESUriClipAsset.
+You can also use multi file uris for #GESMultiFileSource.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_duration" c:identifier="ges_uri_clip_asset_get_duration">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Gets duration of the file represented by @self</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The duration of @self</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_info" c:identifier="ges_uri_clip_asset_get_info">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Gets #GstDiscovererInfo about the file</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">#GstDiscovererInfo of specified asset</doc>
+ <type name="GstPbutils.DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Target asset</doc>
+ <type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_duration" c:identifier="ges_uri_clip_asset_get_max_duration" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">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'.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The maximum duration of @self</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_assets" c:identifier="ges_uri_clip_asset_get_stream_assets">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Get the GESUriSourceAsset @self containes</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a
+#GList of #GESUriSourceAsset</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="UriSourceAsset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">A #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image" c:identifier="ges_uri_clip_asset_is_image" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Gets Whether the file represented by @self is an image or not</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Whether the file represented by @self is an image or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="duration" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The duration (in nanoseconds) of the media file</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="is-nested-timeline" version="1.18" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The duration (in nanoseconds) of the media file</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClipAsset" c:type="GESSourceClipAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriClipAssetPrivate" c:type="GESUriClipAssetPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="UriClipAssetClass" c:type="GESUriClipAssetClass" glib:is-gtype-struct-for="UriClipAsset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <field name="parent_class">
+ <type name="SourceClipAssetClass" c:type="GESSourceClipAssetClass"/>
+ </field>
+ <field name="discoverer" readable="0" private="1">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </field>
+ <field name="sync_discoverer" readable="0" private="1">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </field>
+ <field name="discovered">
+ <callback name="discovered">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="GstPbutils.DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </parameter>
+ <parameter name="err" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="set_timeout" c:identifier="ges_uri_clip_asset_class_set_timeout">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Sets the timeout of #GESUriClipAsset loading</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The #GESUriClipAssetClass on which to set the discoverer timeout</doc>
+ <type name="UriClipAssetClass" c:type="GESUriClipAssetClass*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The timeout to set</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="UriClipAssetPrivate" c:type="GESUriClipAssetPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ </record>
+ <record name="UriClipClass" c:type="GESUriClipClass" glib:is-gtype-struct-for="UriClip">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClipClass" c:type="GESSourceClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="UriClipPrivate" c:type="GESUriClipPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-clip.h"/>
+ </record>
+ <record name="UriSource" c:type="GESUriSource" disguised="1">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-uri-source.h"/>
+ </record>
+ <class name="UriSourceAsset" c:symbol-prefix="uri_source_asset" c:type="GESUriSourceAsset" parent="TrackElementAsset" glib:type-name="GESUriSourceAsset" glib:get-type="ges_uri_source_asset_get_type" glib:type-struct="UriSourceAssetClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h">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.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <method name="get_filesource_asset" c:identifier="ges_uri_source_asset_get_filesource_asset">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Get the #GESUriClipAsset @self is contained in</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_info" c:identifier="ges_uri_source_asset_get_stream_info">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Get the #GstDiscovererStreamInfo user by @asset</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">a #GESUriClipAsset</doc>
+ <type name="GstPbutils.DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_uri" c:identifier="ges_uri_source_asset_get_stream_uri">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image" c:identifier="ges_uri_source_asset_is_image" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">Check if @asset contains a single image</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">%TRUE if the video stream corresponds to an image (i.e. only
+contains one frame)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriSourceAssetPrivate" c:type="GESUriSourceAssetPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="UriSourceAssetClass" c:type="GESUriSourceAssetClass" glib:is-gtype-struct-for="UriSourceAsset">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ <field name="parent_class">
+ <type name="TrackElementAssetClass" c:type="GESTrackElementAssetClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="UriSourceAssetPrivate" c:type="GESUriSourceAssetPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-uri-asset.h"/>
+ </record>
+ <constant name="VERSION_MAJOR" value="1" c:type="GES_VERSION_MAJOR">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_MICRO" value="0" c:type="GES_VERSION_MICRO">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_MINOR" value="23" c:type="GES_VERSION_MINOR">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_NANO" value="1" c:type="GES_VERSION_NANO">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="VideoSource" c:symbol-prefix="video_source" c:type="GESVideoSource" parent="Source" abstract="1" glib:type-name="GESVideoSource" glib:get-type="ges_video_source_get_type" glib:type-struct="VideoSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-source.h">Base class for video sources</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_natural_size" c:identifier="ges_video_source_get_natural_size" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-source.c">Retrieves the natural size of the video stream. The natural size, is
+the size at which it will be displayed if no scaling is being applied.
+
+NOTE: The sources take into account the potential video rotation applied
+by the #videoflip element that is inside the source, effects applied on
+the clip which potentially also rotate the element are not taken into
+account.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-source.c">%TRUE if the object has a natural size, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-source.c">A #GESVideoSource</doc>
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </instance-parameter>
+ <parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-source.c">The natural width of the underlying source</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-source.c">The natural height of the underlying source</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Source" c:type="GESSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoSourcePrivate" c:type="GESVideoSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoSourceClass" c:type="GESVideoSourceClass" glib:is-gtype-struct-for="VideoSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClass" c:type="GESSourceClass"/>
+ </field>
+ <field name="create_source" introspectable="0">
+ <callback name="create_source" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <field name="disable_scale_in_compositor" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="needs_converters">
+ <callback name="needs_converters">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_natural_size">
+ <callback name="get_natural_size">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_filters" introspectable="0">
+ <callback name="create_filters" introspectable="0">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ <parameter name="filters" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ <parameter name="needs_converters" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ </union>
+ </record>
+ <record name="VideoSourcePrivate" c:type="GESVideoSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-source.h"/>
+ </record>
+ <enumeration name="VideoStandardTransitionType" glib:type-name="GESVideoStandardTransitionType" glib:get-type="ges_video_standard_transition_type_get_type" c:type="GESVideoStandardTransitionType">
+ <member name="none" value="0" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Transition type has not been set,</doc>
+ </member>
+ <member name="bar_wipe_lr" value="1" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR" glib:nick="bar-wipe-lr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A bar moves from left to right,</doc>
+ </member>
+ <member name="bar_wipe_tb" value="2" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB" glib:nick="bar-wipe-tb">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A bar moves from top to bottom,</doc>
+ </member>
+ <member name="box_wipe_tl" value="3" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL" glib:nick="box-wipe-tl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the upper-left corner to the lower-right corner,</doc>
+ </member>
+ <member name="box_wipe_tr" value="4" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR" glib:nick="box-wipe-tr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the upper-right corner to the lower-left corner,</doc>
+ </member>
+ <member name="box_wipe_br" value="5" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR" glib:nick="box-wipe-br">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the lower-right corner to the upper-left corner,</doc>
+ </member>
+ <member name="box_wipe_bl" value="6" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL" glib:nick="box-wipe-bl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the lower-left corner to the upper-right corner,</doc>
+ </member>
+ <member name="four_box_wipe_ci" value="7" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI" glib:nick="four-box-wipe-ci">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box shape expands from each of the four corners toward the center,</doc>
+ </member>
+ <member name="four_box_wipe_co" value="8" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO" glib:nick="four-box-wipe-co">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box shape expands from the center of each quadrant toward the corners of each quadrant,</doc>
+ </member>
+ <member name="barndoor_v" value="21" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V" glib:nick="barndoor-v">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A central, vertical line splits and expands toward the left and right edges,</doc>
+ </member>
+ <member name="barndoor_h" value="22" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H" glib:nick="barndoor-h">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A central, horizontal line splits and expands toward the top and bottom edges,</doc>
+ </member>
+ <member name="box_wipe_tc" value="23" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC" glib:nick="box-wipe-tc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the top edge's midpoint to the bottom corners,</doc>
+ </member>
+ <member name="box_wipe_rc" value="24" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC" glib:nick="box-wipe-rc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the right edge's midpoint to the left corners,</doc>
+ </member>
+ <member name="box_wipe_bc" value="25" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC" glib:nick="box-wipe-bc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the bottom edge's midpoint to the top corners,</doc>
+ </member>
+ <member name="box_wipe_lc" value="26" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC" glib:nick="box-wipe-lc">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A box expands from the left edge's midpoint to the right corners,</doc>
+ </member>
+ <member name="diagonal_tl" value="41" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL" glib:nick="diagonal-tl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A diagonal line moves from the upper-left corner to the lower-right corner,</doc>
+ </member>
+ <member name="diagonal_tr" value="42" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR" glib:nick="diagonal-tr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A diagonal line moves from the upper right corner to the lower-left corner,</doc>
+ </member>
+ <member name="bowtie_v" value="43" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V" glib:nick="bowtie-v">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two wedge shapes slide in from the top and bottom edges toward the center,</doc>
+ </member>
+ <member name="bowtie_h" value="44" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H" glib:nick="bowtie-h">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two wedge shapes slide in from the left and right edges toward the center,</doc>
+ </member>
+ <member name="barndoor_dbl" value="45" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL" glib:nick="barndoor-dbl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners,</doc>
+ </member>
+ <member name="barndoor_dtl" value="46" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL" glib:nick="barndoor-dtl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners,</doc>
+ </member>
+ <member name="misc_diagonal_dbd" value="47" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD" glib:nick="misc-diagonal-dbd">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Four wedge shapes split from the center and retract toward the four edges,</doc>
+ </member>
+ <member name="misc_diagonal_dd" value="48" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD" glib:nick="misc-diagonal-dd">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="vee_d" value="61" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D" glib:nick="vee-d">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A wedge shape moves from top to bottom,</doc>
+ </member>
+ <member name="vee_l" value="62" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L" glib:nick="vee-l">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A wedge shape moves from right to left,</doc>
+ </member>
+ <member name="vee_u" value="63" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U" glib:nick="vee-u">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A wedge shape moves from bottom to top,</doc>
+ </member>
+ <member name="vee_r" value="64" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R" glib:nick="vee-r">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A wedge shape moves from left to right,</doc>
+ </member>
+ <member name="barnvee_d" value="65" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D" glib:nick="barnvee-d">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="barnvee_l" value="66" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L" glib:nick="barnvee-l">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="barnvee_u" value="67" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U" glib:nick="barnvee-u">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="barnvee_r" value="68" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R" glib:nick="barnvee-r">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="iris_rect" value="101" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT" glib:nick="iris-rect">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A rectangle expands from the center.,</doc>
+ </member>
+ <member name="clock_cw12" value="201" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12" glib:nick="clock-cw12">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the twelve o'clock position,</doc>
+ </member>
+ <member name="clock_cw3" value="202" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3" glib:nick="clock-cw3">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the three o'clock position,</doc>
+ </member>
+ <member name="clock_cw6" value="203" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6" glib:nick="clock-cw6">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the six o'clock position,</doc>
+ </member>
+ <member name="clock_cw9" value="204" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9" glib:nick="clock-cw9">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the nine o'clock position,</doc>
+ </member>
+ <member name="pinwheel_tbv" value="205" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV" glib:nick="pinwheel-tbv">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands sweep clockwise from the twelve and six o'clock positions,</doc>
+ </member>
+ <member name="pinwheel_tbh" value="206" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH" glib:nick="pinwheel-tbh">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands sweep clockwise from the nine and three o'clock positions,</doc>
+ </member>
+ <member name="pinwheel_fb" value="207" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB" glib:nick="pinwheel-fb">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Four radial hands sweep clockwise,</doc>
+ </member>
+ <member name="fan_ct" value="211" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT" glib:nick="fan-ct">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A fan unfolds from the top edge, the fan axis at the center,</doc>
+ </member>
+ <member name="fan_cr" value="212" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR" glib:nick="fan-cr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A fan unfolds from the right edge, the fan axis at the center,</doc>
+ </member>
+ <member name="doublefan_fov" value="213" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV" glib:nick="doublefan-fov">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two fans, their axes at the center, unfold from the top and bottom,</doc>
+ </member>
+ <member name="doublefan_foh" value="214" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH" glib:nick="doublefan-foh">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two fans, their axes at the center, unfold from the left and right,</doc>
+ </member>
+ <member name="singlesweep_cwt" value="221" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT" glib:nick="singlesweep-cwt">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the top edge's midpoint,</doc>
+ </member>
+ <member name="singlesweep_cwr" value="222" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR" glib:nick="singlesweep-cwr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the right edge's midpoint,</doc>
+ </member>
+ <member name="singlesweep_cwb" value="223" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB" glib:nick="singlesweep-cwb">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the bottom edge's midpoint,</doc>
+ </member>
+ <member name="singlesweep_cwl" value="224" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL" glib:nick="singlesweep-cwl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the left edge's midpoint,</doc>
+ </member>
+ <member name="doublesweep_pv" value="225" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV" glib:nick="doublesweep-pv">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints,</doc>
+ </member>
+ <member name="doublesweep_pd" value="226" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD" glib:nick="doublesweep-pd">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints,</doc>
+ </member>
+ <member name="doublesweep_ov" value="227" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV" glib:nick="doublesweep-ov">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the top and bottom edges' midpoints sweep from right to left,</doc>
+ </member>
+ <member name="doublesweep_oh" value="228" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH" glib:nick="doublesweep-oh">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the left and right edges' midpoints sweep from top to bottom,</doc>
+ </member>
+ <member name="fan_t" value="231" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T" glib:nick="fan-t">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A fan unfolds from the bottom, the fan axis at the top edge's midpoint,</doc>
+ </member>
+ <member name="fan_r" value="232" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R" glib:nick="fan-r">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A fan unfolds from the left, the fan axis at the right edge's midpoint,</doc>
+ </member>
+ <member name="fan_b" value="233" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B" glib:nick="fan-b">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A fan unfolds from the top, the fan axis at the bottom edge's midpoint,</doc>
+ </member>
+ <member name="fan_l" value="234" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L" glib:nick="fan-l">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A fan unfolds from the right, the fan axis at the left edge's midpoint,</doc>
+ </member>
+ <member name="doublefan_fiv" value="235" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV" glib:nick="doublefan-fiv">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two fans, their axes at the top and bottom, unfold from the center,</doc>
+ </member>
+ <member name="doublefan_fih" value="236" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH" glib:nick="doublefan-fih">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two fans, their axes at the left and right, unfold from the center,</doc>
+ </member>
+ <member name="singlesweep_cwtl" value="241" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL" glib:nick="singlesweep-cwtl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the upper-left corner,</doc>
+ </member>
+ <member name="singlesweep_cwbl" value="242" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL" glib:nick="singlesweep-cwbl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps counter-clockwise from the lower-left corner.,</doc>
+ </member>
+ <member name="singlesweep_cwbr" value="243" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR" glib:nick="singlesweep-cwbr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps clockwise from the lower-right corner,</doc>
+ </member>
+ <member name="singlesweep_cwtr" value="244" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR" glib:nick="singlesweep-cwtr">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A radial hand sweeps counter-clockwise from the upper-right corner,</doc>
+ </member>
+ <member name="doublesweep_pdtl" value="245" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL" glib:nick="doublesweep-pdtl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the upper-left and lower-right corners sweep down and up,</doc>
+ </member>
+ <member name="doublesweep_pdbl" value="246" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL" glib:nick="doublesweep-pdbl">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the lower-left and upper-right corners sweep down and up,</doc>
+ </member>
+ <member name="saloondoor_t" value="251" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T" glib:nick="saloondoor-t">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the upper-left and upper-right corners sweep down,</doc>
+ </member>
+ <member name="saloondoor_l" value="252" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L" glib:nick="saloondoor-l">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the upper-left and lower-left corners sweep to the right,</doc>
+ </member>
+ <member name="saloondoor_b" value="253" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B" glib:nick="saloondoor-b">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the lower-left and lower-right corners sweep up,</doc>
+ </member>
+ <member name="saloondoor_r" value="254" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R" glib:nick="saloondoor-r">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the upper-right and lower-right corners sweep to the left,</doc>
+ </member>
+ <member name="windshield_r" value="261" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R" glib:nick="windshield-r">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left,</doc>
+ </member>
+ <member name="windshield_u" value="262" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U" glib:nick="windshield-u">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom,</doc>
+ </member>
+ <member name="windshield_v" value="263" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V" glib:nick="windshield-v">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top,</doc>
+ </member>
+ <member name="windshield_h" value="264" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H" glib:nick="windshield-h">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left,</doc>
+ </member>
+ <member name="crossfade" value="512" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE" glib:nick="crossfade">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Crossfade</doc>
+ </member>
+ <member name="fade_in" value="513" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN" glib:nick="fade-in">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Similar to crossfade, but fade in the front video without fading out the background one (Since: 1.22)</doc>
+ </member>
+ </enumeration>
+ <enumeration name="VideoTestPattern" glib:type-name="GESVideoTestPattern" glib:get-type="ges_video_test_pattern_get_type" c:type="GESVideoTestPattern">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">The test pattern to produce</doc>
+ <member name="smpte" value="0" c:identifier="GES_VIDEO_TEST_PATTERN_SMPTE" glib:nick="smpte">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A standard SMPTE test pattern</doc>
+ </member>
+ <member name="snow" value="1" c:identifier="GES_VIDEO_TEST_PATTERN_SNOW" glib:nick="snow">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Random noise</doc>
+ </member>
+ <member name="black" value="2" c:identifier="GES_VIDEO_TEST_PATTERN_BLACK" glib:nick="black">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A black image</doc>
+ </member>
+ <member name="white" value="3" c:identifier="GES_VIDEO_TEST_PATTERN_WHITE" glib:nick="white">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A white image</doc>
+ </member>
+ <member name="red" value="4" c:identifier="GES_VIDEO_TEST_PATTERN_RED" glib:nick="red">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A red image</doc>
+ </member>
+ <member name="green" value="5" c:identifier="GES_VIDEO_TEST_PATTERN_GREEN" glib:nick="green">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A green image</doc>
+ </member>
+ <member name="blue" value="6" c:identifier="GES_VIDEO_TEST_PATTERN_BLUE" glib:nick="blue">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">A blue image</doc>
+ </member>
+ <member name="checkers_1" value="7" c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS1" glib:nick="checkers-1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Checkers pattern (1px)</doc>
+ </member>
+ <member name="checkers_2" value="8" c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS2" glib:nick="checkers-2">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Checkers pattern (2px)</doc>
+ </member>
+ <member name="checkers_4" value="9" c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS4" glib:nick="checkers-4">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Checkers pattern (4px)</doc>
+ </member>
+ <member name="checkers_8" value="10" c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS8" glib:nick="checkers-8">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Checkers pattern (8px)</doc>
+ </member>
+ <member name="circular" value="11" c:identifier="GES_VIDEO_TEST_PATTERN_CIRCULAR" glib:nick="circular">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Circular pattern</doc>
+ </member>
+ <member name="blink" value="12" c:identifier="GES_VIDEO_TEST_PATTERN_BLINK" glib:nick="blink">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Alternate between black and white</doc>
+ </member>
+ <member name="smpte75" value="13" c:identifier="GES_VIDEO_TEST_PATTERN_SMPTE75" glib:nick="smpte75">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">SMPTE test pattern (75% color bars)</doc>
+ </member>
+ <member name="zone_plate" value="14" c:identifier="GES_VIDEO_TEST_ZONE_PLATE" glib:nick="zone-plate">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Zone plate</doc>
+ </member>
+ <member name="gamut" value="15" c:identifier="GES_VIDEO_TEST_GAMUT" glib:nick="gamut">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Gamut checkers</doc>
+ </member>
+ <member name="chroma_zone_plate" value="16" c:identifier="GES_VIDEO_TEST_CHROMA_ZONE_PLATE" glib:nick="chroma-zone-plate">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Chroma zone plate</doc>
+ </member>
+ <member name="solid_color" value="17" c:identifier="GES_VIDEO_TEST_PATTERN_SOLID" glib:nick="solid-color">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Solid color</doc>
+ </member>
+ </enumeration>
+ <class name="VideoTestSource" c:symbol-prefix="video_test_source" c:type="GESVideoTestSource" parent="VideoSource" glib:type-name="GESVideoTestSource" glib:get-type="ges_video_test_source_get_type" glib:type-struct="VideoTestSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.h">### Children Properties
+
+ {{ libs/GESVideoTestSource-children-props.md }}</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-test-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_pattern" c:identifier="ges_video_test_source_get_pattern">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.c">Get the video pattern used by the @source.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-test-source.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.c">The video pattern used by the @source.</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.c">a #GESVideoTestPattern</doc>
+ <type name="VideoTestSource" c:type="GESVideoTestSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_pattern" c:identifier="ges_video_test_source_set_pattern">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.c">Sets the source to use the given @pattern.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-test-source.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.c">a #GESVideoTestSource</doc>
+ <type name="VideoTestSource" c:type="GESVideoTestSource*"/>
+ </instance-parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-test-source.c">a #GESVideoTestPattern</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoTestSourcePrivate" c:type="GESVideoTestSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoTestSourceClass" c:type="GESVideoTestSourceClass" glib:is-gtype-struct-for="VideoTestSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-test-source.h"/>
+ <field name="parent_class">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoTestSourcePrivate" c:type="GESVideoTestSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-test-source.h"/>
+ </record>
+ <class name="VideoTrack" c:symbol-prefix="video_track" c:type="GESVideoTrack" parent="Track" glib:type-name="GESVideoTrack" glib:get-type="ges_video_track_get_type" glib:type-struct="VideoTrackClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-track.c">A #GESVideoTrack is a default video #GESTrack, with a
+#GES_TRACK_TYPE_VIDEO #GESTrack:track-type and "video/x-raw(ANY)"
+#GESTrack:caps.
+
+By default, a video track will have its #GESTrack:restriction-caps
+set to "video/x-raw" with the following properties:
+
+- width: 1280
+- height: 720
+- framerate: 30/1
+
+These fields are needed for negotiation purposes, but you can change
+their values if you wish. It is advised that you do so using
+ges_track_update_restriction_caps() with new values for the fields you
+wish to change, and any additional fields you may want to add. Unlike
+using ges_track_set_restriction_caps(), this will ensure that these
+default fields will at least have some value set.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-track.h"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_video_track_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-track.c">Creates a new video track, with a #GES_TRACK_TYPE_VIDEO
+#GESTrack:track-type and "video/x-raw(ANY)" #GESTrack:caps, and
+"video/x-raw" #GESTrack:restriction-caps with the properties:
+
+- width: 1280
+- height: 720
+- framerate: 30/1
+
+You should use ges_track_update_restriction_caps() if you wish to
+modify these fields, or add additional ones.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-track.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-track.c">The newly created video track.</doc>
+ <type name="VideoTrack" c:type="GESVideoTrack*"/>
+ </return-value>
+ </constructor>
+ <field name="parent_instance">
+ <type name="Track" c:type="GESTrack"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoTrackPrivate" c:type="GESVideoTrackPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoTrackClass" c:type="GESVideoTrackClass" glib:is-gtype-struct-for="VideoTrack">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-track.h"/>
+ <field name="parent_class">
+ <type name="TrackClass" c:type="GESTrackClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoTrackPrivate" c:type="GESVideoTrackPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-track.h"/>
+ </record>
+ <class name="VideoTransition" c:symbol-prefix="video_transition" c:type="GESVideoTransition" parent="Transition" glib:type-name="GESVideoTransition" glib:get-type="ges_video_transition_get_type" glib:type-struct="VideoTransitionClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_video_transition_new">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </return-value>
+ </constructor>
+ <method name="get_border" c:identifier="ges_video_transition_get_border" deprecated="1" deprecated-version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">Get the border property of @self, this value represents
+the border width of the transition.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The border values of @self or -1 if not meaningful
+(this will happen when not using a smpte transition).</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The #GESVideoTransition to get the border from</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_transition_type" c:identifier="ges_video_transition_get_transition_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">Get the transition type used by @trans.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The transition type used by @trans.</doc>
+ <type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">a #GESVideoTransition</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_inverted" c:identifier="ges_video_transition_is_inverted" deprecated="1" deprecated-version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">Get the invert property of @self, this value represents
+the direction of the transition.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The invert value of @self</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The #GESVideoTransition to get the inversion from</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_border" c:identifier="ges_video_transition_set_border" deprecated="1" deprecated-version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">Set the border property of @self, this value represents
+the border width of the transition. In case this value does
+not make sense for the current transition type, it is cached
+for later use.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_set_child_property instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The #GESVideoTransition to set the border to</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The value of the border to set on @object</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_inverted" c:identifier="ges_video_transition_set_inverted" deprecated="1" deprecated-version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">Set the invert property of @self, this value represents
+the direction of the transition. In case this value does
+not make sense for the current transition type, it is cached
+for later use.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_set_child_property instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">The #GESVideoTransition to set invert on</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ <parameter name="inverted" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">%TRUE if the transition should be inverted %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_transition_type" c:identifier="ges_video_transition_set_transition_type">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">Sets the transition being used to @type.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">%TRUE if the transition type was properly changed, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">a #GESVideoTransition</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">a #GESVideoStandardTransitionType</doc>
+ <type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="border" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">This value represents the border width of the transition.</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="invert" deprecated="1" deprecated-version="1.20" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.c">This value represents the direction of the transition.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_[sg]et_child_property instead.</doc-deprecated>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="transition-type" writable="1" transfer-ownership="none">
+ <type name="VideoStandardTransitionType"/>
+ </property>
+ <field name="parent">
+ <type name="Transition" c:type="GESTransition"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoTransitionPrivate" c:type="GESVideoTransitionPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoTransitionClass" c:type="GESVideoTransitionClass" glib:is-gtype-struct-for="VideoTransition">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-transition.h">parent class</doc>
+ <type name="TransitionClass" c:type="GESTransitionClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoTransitionPrivate" c:type="GESVideoTransitionPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-transition.h"/>
+ </record>
+ <class name="VideoUriSource" c:symbol-prefix="video_uri_source" c:type="GESVideoUriSource" parent="VideoSource" glib:type-name="GESVideoUriSource" glib:get-type="ges_video_uri_source_get_type" glib:type-struct="VideoUriSourceClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-uri-source.h">### Children Properties
+
+ {{ libs/GESVideoUriSource-children-props.md }}</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-uri-source.h"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <property name="uri" writable="1" construct-only="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-video-uri-source.c">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriSource" c:type="GESUriSource*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoUriSourceClass" c:type="GESVideoUriSourceClass" glib:is-gtype-struct-for="VideoUriSource">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-uri-source.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoUriSourcePrivate" c:type="GESVideoUriSourcePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-video-uri-source.h"/>
+ </record>
+ <class name="XmlFormatter" c:symbol-prefix="xml_formatter" c:type="GESXmlFormatter" parent="BaseXmlFormatter" glib:type-name="GESXmlFormatter" glib:get-type="ges_xml_formatter_get_type" glib:type-struct="XmlFormatterClass">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-xml-formatter.h"/>
+ <implements name="Extractable"/>
+ <field name="parent">
+ <type name="BaseXmlFormatter" c:type="GESBaseXmlFormatter"/>
+ </field>
+ <field name="priv">
+ <type name="XmlFormatterPrivate" c:type="GESXmlFormatterPrivate*"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="XmlFormatterClass" c:type="GESXmlFormatterClass" glib:is-gtype-struct-for="XmlFormatter">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-xml-formatter.h"/>
+ <field name="parent">
+ <type name="BaseXmlFormatterClass" c:type="GESBaseXmlFormatterClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="XmlFormatterPrivate" c:type="GESXmlFormatterPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-xml-formatter.h"/>
+ </record>
+ <function name="add_missing_uri_relocation_uri" c:identifier="ges_add_missing_uri_relocation_uri">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-project.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="recurse" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="deinit" c:identifier="ges_deinit">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Clean up any resources created by GES in ges_init().
+
+It is normally not needed to call this function in a normal application as the
+resources will automatically be freed when the program terminates.
+This function is therefore mostly used by testsuites and other memory profiling tools.
+This function should be called from the thread where ges_init() was called.
+
+After this call GES should not be used until another ges_init() call.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="edge_name" c:identifier="ges_edge_name" moved-to="Edge.name" version="1.16">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-enums.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.c">A human friendly name for @edge</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.c">The #GESEdge to get the name of</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="edit_mode_name" c:identifier="ges_edit_mode_name" moved-to="EditMode.name" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Return a string representation of @mode.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-enums.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">a string representation of @mode.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">a #GESEditMode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="find_formatter_for_uri" c:identifier="ges_find_formatter_for_uri" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">Get the best formatter for @uri. It tries to find a formatter
+compatible with @uri extension, if none is found, it returns the default
+formatter asset.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-formatter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-formatter.c">The #GESAsset for the best formatter to save to @uri</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="ges_init">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Initialize the GStreamer Editing Service. Call this before any usage of
+GES. You should take care of initilizing GStreamer before calling this
+function.
+
+MT safety.
+GStreamer Editing Services do not guarantee MT safety.
+An application is required to use GES APIs (including ges_deinit())
+in the thread where ges_init() was called.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="init_check" c:identifier="ges_init_check" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Initializes the GStreamer Editing Services library, setting up internal path lists,
+and loading evrything needed.
+
+This function will return %FALSE if GES could not be initialized
+for some reason.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">%TRUE if GES could be initialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">pointer to application's argc</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">pointer to application's argv</doc>
+ <array length="0" zero-terminated="0" c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_get_option_group" c:identifier="ges_init_get_option_group" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Returns a #GOptionGroup with GES's argument specifications. The
+group is set up to use standard GOption callbacks, so when using this
+group in combination with GOption parsing methods, all argument parsing
+and initialization is automated.
+
+This function is useful if you want to integrate GES with other
+libraries that use GOption (see g_option_context_add_group() ).
+
+If you use this function, you should make sure you initialise the GStreamer
+as one of the very first things in your program. That means you need to
+use gst_init_get_option_group() and add it to the option context before
+using the ges_init_get_option_group() result.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">a pointer to GES's option group.</doc>
+ <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
+ </return-value>
+ </function>
+ <function name="is_initialized" c:identifier="ges_is_initialized" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Use this function to check if GES has been initialized with ges_init()
+or ges_init_check().</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">%TRUE if initialization has been done, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="list_assets" c:identifier="ges_list_assets">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">List all the assets in the current cache whose
+#GESAsset:extractable-type are of the given type (including
+subclasses).
+
+Note that, since only a #GESExtractable can be extracted from an asset,
+using `GES_TYPE_EXTRACTABLE` as @filter will return all the assets in
+the current cache.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-asset.h"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">A list of all
+#GESAsset-s currently in the cache whose #GESAsset:extractable-type is
+of the @filter type.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-asset.c">The type of object that can be extracted from the asset</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="play_sink_convert_frame" c:identifier="ges_play_sink_convert_frame" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-screenshot.c">Get the last buffer @playsink showed</doc>
+ <doc-deprecated xml:space="preserve">Use the "convert-sample" action signal of
+#playsink instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-screenshot.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-screenshot.c">A #GstSample containing the last frame from
+@playsink in the format defined by the @caps</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="playsink" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-screenshot.c">The playsink to get last frame from</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-screenshot.c">The caps defining the format the return value will have</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pspec_equal" c:identifier="ges_pspec_equal">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-utils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="key_spec_1" transfer-ownership="none" nullable="1" allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="key_spec_2" transfer-ownership="none" nullable="1" allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pspec_hash" c:identifier="ges_pspec_hash">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-utils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="key_spec" transfer-ownership="none" nullable="1" allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="timeline_get_project" c:identifier="ges_timeline_get_project" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.h">Helper macro to retrieve the project from which @obj was extracted</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-timeline.h"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-timeline.h">The #GESTimeline from which to retrieve the project</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="track_type_name" c:identifier="ges_track_type_name" moved-to="TrackType.name">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges-enums.h"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="validate_register_action_types" c:identifier="ges_validate_register_action_types">
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="version" c:identifier="ges_version">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Gets the version number of the GStreamer Editing Services library.</doc>
+ <source-position filename="../subprojects/gst-editing-services/ges/ges.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">pointer to a guint to store the major version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">pointer to a guint to store the minor version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="micro" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">pointer to a guint to store the micro version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="nano" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">pointer to a guint to store the nano version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>