ges: Add layer up to the wanted layer priority in the structure interface
authorThibault Saunier <tsaunier@gnome.org>
Fri, 20 Feb 2015 11:12:52 +0000 (12:12 +0100)
committerThibault Saunier <tsaunier@gnome.org>
Fri, 20 Mar 2015 12:53:41 +0000 (13:53 +0100)
Making the thing easier to use

ges/ges-structured-interface.c

index 00de33d..387a6cf 100644 (file)
@@ -135,11 +135,21 @@ GESLayer *
 _ges_get_layer_by_priority (GESTimeline * timeline, gint priority)
 {
   GList *layers, *tmp;
+  gint nlayers;
   GESLayer *layer = NULL;
 
   layers = ges_timeline_get_layers (timeline);
-  if (priority == (gint) g_list_length (layers)) {
-    layer = gst_object_ref (ges_timeline_append_layer (timeline));
+  nlayers = (gint) g_list_length (layers);
+  if (priority >= nlayers) {
+    gint i = nlayers;
+
+    while (i <= priority) {
+      layer = ges_timeline_append_layer (timeline);
+
+      i++;
+    }
+
+    layer = gst_object_ref (layer);
 
     goto done;
   }