videomixer: Don't hold stream-lock while pushing non-serialized events
authorNicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Thu, 23 May 2013 01:01:48 +0000 (21:01 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Thu, 23 May 2013 13:20:04 +0000 (09:20 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=700868

gst/videomixer/videomixer2.c

index 505b584d9dd0d9ed94f09539e84c96ff000829de..3be8984e8b90d94a5f5975e340c4bcbafe9ca517 100644 (file)
@@ -1719,9 +1719,9 @@ gst_videomixer2_sink_event (GstCollectPads * pads, GstCollectData * cdata,
     case GST_EVENT_FLUSH_START:
       GST_COLLECT_PADS_STREAM_LOCK (mix->collect);
       mix->flush_stop_pending = TRUE;
+      GST_COLLECT_PADS_STREAM_UNLOCK (mix->collect);
       ret = gst_collect_pads_event_default (pads, cdata, event, discard);
       event = NULL;
-      GST_COLLECT_PADS_STREAM_UNLOCK (mix->collect);
       break;
     case GST_EVENT_FLUSH_STOP:
       GST_COLLECT_PADS_STREAM_LOCK (mix->collect);