From 92133f7ce400e5af2653a7ae644e521f80cf129b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 31 Oct 2010 19:08:32 +0100 Subject: [PATCH] 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. --- gst/playback/gststreamsynchronizer.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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); -- 2.7.4