From: Thibault Saunier Date: Sat, 7 Nov 2015 17:21:53 +0000 (+0100) Subject: project: Add a 'asset-loading' signal X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5d82971eefb0070f9b80f4172497703e9985679f;p=platform%2Fupstream%2Fgst-editing-services.git project: Add a 'asset-loading' signal --- diff --git a/ges/ges-project.c b/ges/ges-project.c index c393c45..72619af 100644 --- a/ges/ges-project.c +++ b/ges/ges-project.c @@ -82,6 +82,7 @@ enum ASSET_ADDED_SIGNAL, ASSET_REMOVED_SIGNAL, MISSING_URI_SIGNAL, + ASSET_LOADING_SIGNAL, LAST_SIGNAL }; @@ -434,7 +435,7 @@ ges_project_class_init (GESProjectClass * klass) /** * GESProject::asset-added: - * @formatter: the #GESProject + * @project: the #GESProject * @asset: The #GESAsset that has been added to @project */ _signals[ASSET_ADDED_SIGNAL] = @@ -443,8 +444,20 @@ ges_project_class_init (GESProjectClass * klass) NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, GES_TYPE_ASSET); /** + * GESProject::asset-loading: + * @project: the #GESProject + * @asset: The #GESAsset that started loading + * + * Since: 1.8 + */ + _signals[ASSET_LOADING_SIGNAL] = + g_signal_new ("asset-loading", G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GESProjectClass, asset_loading), + NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, GES_TYPE_ASSET); + + /** * GESProject::asset-removed: - * @formatter: the #GESProject + * @project: the #GESProject * @asset: The #GESAsset that has been removed from @project */ _signals[ASSET_REMOVED_SIGNAL] = @@ -657,9 +670,11 @@ ges_project_add_loading_asset (GESProject * project, GType extractable_type, { GESAsset *asset; - if ((asset = ges_asset_cache_lookup (extractable_type, id))) - g_hash_table_insert (project->priv->loading_assets, g_strdup (id), - gst_object_ref (asset)); + if ((asset = ges_asset_cache_lookup (extractable_type, id))) { + if (g_hash_table_insert (project->priv->loading_assets, g_strdup (id), + gst_object_ref (asset))) + g_signal_emit (project, _signals[ASSET_LOADING_SIGNAL], 0, asset); + } } /************************************** diff --git a/ges/ges-project.h b/ges/ges-project.h index 3f8a24b..acd0386 100644 --- a/ges/ges-project.h +++ b/ges/ges-project.h @@ -57,6 +57,8 @@ struct _GESProjectClass /* Signals */ void (*asset_added) (GESProject * self, GESAsset * asset); + void (*asset_loading) (GESProject * self, + GESAsset * asset); void (*asset_removed) (GESProject * self, GESAsset * asset); gchar * (*missing_uri) (GESProject * self,