From: Thibault Saunier Date: Tue, 7 Jun 2011 16:54:06 +0000 (-0400) Subject: ges: Add a ges_timeline_append_layer convenience method X-Git-Tag: 1.19.3~493^2~2221^2~79 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d15025aaec82ab8e2f8c1172ecd0e3a1c7a228e;p=platform%2Fupstream%2Fgstreamer.git ges: Add a ges_timeline_append_layer convenience method API: ges_timeline_append_layer --- diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index 8269560421..3b11320f92 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -236,6 +236,7 @@ ges_timeline_new ges_timeline_new_audio_video ges_timeline_new_from_uri ges_timeline_add_layer +ges_timeline_append_layer ges_timeline_remove_layer ges_timeline_add_track ges_timeline_remove_track diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index eb8c9f7c48..d8821087db 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -696,6 +696,31 @@ layer_object_removed_cb (GESTimelineLayer * layer, GESTimelineObject * object, GST_DEBUG ("Done"); } +/** + * ges_timeline_append_layer: + * @timeline: a #GESTimeline + * @layer: the #GESTimelineLayer to add + * + * Convenience method to append @layer to @timeline which means that the + * priority of @layer is changed to correspond to the last layer of @timeline. + * The reference to the @layer will be stolen by @timeline. + * + * Returns: TRUE if the layer was properly added, else FALSE. + */ +gboolean +ges_timeline_append_layer (GESTimeline * timeline, GESTimelineLayer * layer) +{ + guint32 priority; + GESTimelinePrivate *priv = timeline->priv; + + GST_DEBUG ("Appending layer to layer:%p, timeline:%p", timeline, layer); + priority = g_list_length (priv->layers); + + ges_timeline_layer_set_priority (layer, priority); + + return ges_timeline_add_layer (timeline, layer); +} + /** * ges_timeline_add_layer: * @timeline: a #GESTimeline diff --git a/ges/ges-timeline.h b/ges/ges-timeline.h index 376a4a0ac5..101addd5d7 100644 --- a/ges/ges-timeline.h +++ b/ges/ges-timeline.h @@ -89,6 +89,7 @@ gboolean ges_timeline_load_from_uri (GESTimeline *timeline, const gchar *uri); gboolean ges_timeline_save_to_uri (GESTimeline *timeline, const gchar *uri); gboolean ges_timeline_add_layer (GESTimeline *timeline, GESTimelineLayer *layer); +gboolean ges_timeline_append_layer (GESTimeline * timeline, GESTimelineLayer * layer); gboolean ges_timeline_remove_layer (GESTimeline *timeline, GESTimelineLayer *layer); GList* ges_timeline_get_layers (GESTimeline *timeline);