timeline: Do not post upstream translated composition update messages
authorThibault Saunier <tsaunier@igalia.com>
Fri, 7 Jun 2019 20:06:39 +0000 (16:06 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Fri, 5 Jul 2019 21:53:57 +0000 (17:53 -0400)
In the case of nested timeline in the toplevel timeline we ended up
with CompositionUpdate for seeks sent by our own composition to
granchildren composition. This was not causing essential issues
if all tracks where containing nested timelines but in cases
where one of the tracks only had a nested timelines, then we
were waiting forever for a `CompositionUpdateDone`.

CompositionUpdate translated into ASYNC_START/ASYNC_DONE should
be kept inside the GESTimeline and not travel up (possibly to some
parent GESTimeline).

ges/ges-timeline.c

index f2fd616..ca8e67e 100644 (file)
@@ -370,8 +370,10 @@ ges_timeline_handle_message (GstBin * bin, GstMessage * message)
       GST_OBJECT_UNLOCK (timeline);
     }
 
-    if (amessage)
+    if (amessage) {
       gst_element_post_message (GST_ELEMENT_CAST (bin), amessage);
+      return;
+    }
   }
 
 forward: