mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-05 10:12:20 +00:00
project: Add a signal to notify when a new timeline is starting to load
This commit is contained in:
parent
92fdae7cf0
commit
85e966963e
2 changed files with 20 additions and 3 deletions
|
@ -80,6 +80,7 @@ typedef struct EmitLoadedInIdle
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
LOADING_SIGNAL,
|
||||||
LOADED_SIGNAL,
|
LOADED_SIGNAL,
|
||||||
ERROR_LOADING_ASSET,
|
ERROR_LOADING_ASSET,
|
||||||
ASSET_ADDED_SIGNAL,
|
ASSET_ADDED_SIGNAL,
|
||||||
|
@ -179,6 +180,7 @@ _load_project (GESProject * project, GESTimeline * timeline, GError ** error)
|
||||||
|
|
||||||
priv = GES_PROJECT (project)->priv;
|
priv = GES_PROJECT (project)->priv;
|
||||||
|
|
||||||
|
g_signal_emit (project, _signals[LOADING_SIGNAL], 0, timeline);
|
||||||
if (priv->uri == NULL) {
|
if (priv->uri == NULL) {
|
||||||
EmitLoadedInIdle *data = g_slice_new (EmitLoadedInIdle);
|
EmitLoadedInIdle *data = g_slice_new (EmitLoadedInIdle);
|
||||||
|
|
||||||
|
@ -481,10 +483,23 @@ ges_project_class_init (GESProjectClass * klass)
|
||||||
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GESProjectClass, asset_removed),
|
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GESProjectClass, asset_removed),
|
||||||
NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, GES_TYPE_ASSET);
|
NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, GES_TYPE_ASSET);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GESProject::loading:
|
||||||
|
* @project: the #GESProject that is starting to load a timeline
|
||||||
|
* @timeline: The #GESTimeline that started loading
|
||||||
|
*
|
||||||
|
* Since: 1.18
|
||||||
|
*/
|
||||||
|
_signals[LOADING_SIGNAL] =
|
||||||
|
g_signal_new ("loading", G_TYPE_FROM_CLASS (klass),
|
||||||
|
G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GESProjectClass, loading),
|
||||||
|
NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE,
|
||||||
|
1, GES_TYPE_TIMELINE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GESProject::loaded:
|
* GESProject::loaded:
|
||||||
* @project: the #GESProject that is done loading a project.
|
* @project: the #GESProject that is done loading a timeline.
|
||||||
* @timeline: The #GESTimeline that complete loading
|
* @timeline: The #GESTimeline that completed loading
|
||||||
*/
|
*/
|
||||||
_signals[LOADED_SIGNAL] =
|
_signals[LOADED_SIGNAL] =
|
||||||
g_signal_new ("loaded", G_TYPE_FROM_CLASS (klass),
|
g_signal_new ("loaded", G_TYPE_FROM_CLASS (klass),
|
||||||
|
|
|
@ -71,8 +71,10 @@ struct _GESProjectClass
|
||||||
GType extractable_type);
|
GType extractable_type);
|
||||||
gboolean (*loaded) (GESProject * self,
|
gboolean (*loaded) (GESProject * self,
|
||||||
GESTimeline * timeline);
|
GESTimeline * timeline);
|
||||||
|
gboolean (*loading) (GESProject * self,
|
||||||
|
GESTimeline * timeline);
|
||||||
|
|
||||||
gpointer _ges_reserved[GES_PADDING];
|
gpointer _ges_reserved[GES_PADDING - 1];
|
||||||
};
|
};
|
||||||
|
|
||||||
GES_API
|
GES_API
|
||||||
|
|
Loading…
Reference in a new issue