aggregator: Always handle sync'ed events on output thread
authorOlivier Crête <olivier.crete@collabora.com>
Sat, 14 May 2016 13:52:37 +0000 (15:52 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 2 Dec 2017 15:10:27 +0000 (15:10 +0000)
Having all synchronized events always be handled on the output
thread should make synchronization easier.

https://bugzilla.gnome.org/show_bug.cgi?id=781673

libs/gst/base/gstaggregator.c

index 1a95fc9..f38d92a 100644 (file)
@@ -2341,8 +2341,7 @@ gst_aggregator_pad_event_func (GstPad * pad, GstObject * parent,
       GST_OBJECT_UNLOCK (aggpad);
     }
 
-    if (!gst_aggregator_pad_queue_is_empty (aggpad) &&
-        GST_EVENT_TYPE (event) != GST_EVENT_FLUSH_STOP) {
+    if (GST_EVENT_TYPE (event) != GST_EVENT_FLUSH_STOP) {
       GST_DEBUG_OBJECT (aggpad, "Store event in queue: %" GST_PTR_FORMAT,
           event);
       g_queue_push_head (&aggpad->priv->buffers, event);