From 84e698c531d04cd8e22fc2962c6b6e63e239d4db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 31 May 2016 17:04:32 +0300 Subject: [PATCH] qtdemux: Only activate segments and send SEGMENT events if we have streams But in that case also remove the pending newsegment event, otherwise we would later send a possibly outdated event. https://bugzilla.gnome.org/show_bug.cgi?id=767071 --- gst/isomp4/qtdemux.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index f7507f4642..2a6d5684b4 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -2163,7 +2163,10 @@ gst_qtdemux_handle_sink_event (GstPad * sinkpad, GstObject * parent, GST_DEBUG_OBJECT (demux, "Pushing newseg %" GST_SEGMENT_FORMAT, &segment); /* map segment to internal qt segments and push on each stream */ - gst_qtdemux_map_and_push_segments (demux, &segment); + if (demux->n_streams) { + gst_event_replace (&demux->pending_newsegment, NULL); + gst_qtdemux_map_and_push_segments (demux, &segment); + } /* clear leftover in current segment, if any */ gst_adapter_clear (demux->adapter);