From: Sebastian Dröge Date: Tue, 31 May 2016 13:38:34 +0000 (+0300) Subject: qtdemux: Don't override TIME segments from upstream that we just saw X-Git-Tag: 1.19.3~509^2~2749 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3e68164e4ce4ec7b0a7ec717fa9bf5cc2302c01;p=platform%2Fupstream%2Fgstreamer.git qtdemux: Don't override TIME segments from upstream that we just saw The point of d8fb7a9c96b108814beeaa0e63f818d4648c7fe9 was to not have any spurious segments stored for later if we do BYTES->TIME conversion, but overriding any TIME segments from upstream does not make any sense. See https://bugzilla.gnome.org/show_bug.cgi?id=763165 https://bugzilla.gnome.org/show_bug.cgi?id=767071 --- diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index d4f4c99..719efe9 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -2087,6 +2087,9 @@ gst_qtdemux_handle_sink_event (GstPad * sinkpad, GstObject * parent, GST_DEBUG_OBJECT (demux, "received newsegment %" GST_SEGMENT_FORMAT, &segment); + /* erase any previously set segment */ + gst_event_replace (&demux->pending_newsegment, NULL); + if (segment.format == GST_FORMAT_TIME) { GST_DEBUG_OBJECT (demux, "new pending_newsegment"); gst_event_replace (&demux->pending_newsegment, event); @@ -2159,8 +2162,6 @@ gst_qtdemux_handle_sink_event (GstPad * sinkpad, GstObject * parent, gst_segment_copy_into (&segment, &demux->segment); GST_DEBUG_OBJECT (demux, "Pushing newseg %" GST_SEGMENT_FORMAT, &segment); - /* erase any previously set segment */ - gst_event_replace (&demux->pending_newsegment, NULL); /* For pull mode, segment activation will be handled in the looping task * For push mode, need to do it here */