inputselector: Don't forward stream-start sticky events
authorEdward Hervey <edward.hervey@collabora.co.uk>
Tue, 14 Aug 2012 16:42:31 +0000 (18:42 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Tue, 14 Aug 2012 16:42:31 +0000 (18:42 +0200)
Only one STREAM_START event should be let through, else it will
confuse downstream elements that think a new stream is starting
whereas in fact we are just switching to a different input.

In the future we might want to let them through but with the same
sequence number.

plugins/elements/gstinputselector.c

index 7d63fb0..e499916 100644 (file)
@@ -739,7 +739,7 @@ forward_sticky_events (GstPad * sinkpad, GstEvent ** event, gpointer user_data)
     gst_event_set_seqnum (e, GST_SELECTOR_PAD_CAST (sinkpad)->segment_seqnum);
 
     gst_pad_push_event (sel->srcpad, e);
-  } else {
+  } else if (GST_EVENT_TYPE (*event) != GST_EVENT_STREAM_START) {
     gst_pad_push_event (sel->srcpad, gst_event_ref (*event));
   }