From: Sebastian Dröge Date: Sun, 31 Oct 2010 18:08:32 +0000 (+0100) Subject: streamsynchronizer: If we get EOS for an unknown stream just do nothing X-Git-Tag: RELEASE-0.10.32~186 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=92133f7ce400e5af2653a7ae644e521f80cf129b;p=platform%2Fupstream%2Fgst-plugins-base.git streamsynchronizer: If we get EOS for an unknown stream just do nothing instead of dereferencing NULL pointers. This can happen if the stream was just removed from the streamsynchronizer in a bad time. --- diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c index 0114a25..9a48ab0 100644 --- a/gst/playback/gststreamsynchronizer.c +++ b/gst/playback/gststreamsynchronizer.c @@ -472,11 +472,15 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstEvent * event) GST_STREAM_SYNCHRONIZER_LOCK (self); stream = gst_pad_get_element_private (pad); - if (stream) { - GST_DEBUG_OBJECT (pad, "Have EOS for stream %d", stream->stream_number); - stream->is_eos = TRUE; + if (!stream) { + GST_STREAM_SYNCHRONIZER_UNLOCK (self); + GST_WARNING_OBJECT (pad, "EOS for unknown stream"); + break; } + GST_DEBUG_OBJECT (pad, "Have EOS for stream %d", stream->stream_number); + stream->is_eos = TRUE; + seen_data = stream->seen_data; srcpad = gst_object_ref (stream->srcpad);