qtdemux: Don't override TIME segments from upstream that we just saw

The point of d8fb7a9c96 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
This commit is contained in:
Sebastian Dröge 2016-05-31 16:38:34 +03:00
parent 4bdd192fb3
commit f3e68164e4

View file

@ -2087,6 +2087,9 @@ gst_qtdemux_handle_sink_event (GstPad * sinkpad, GstObject * parent,
GST_DEBUG_OBJECT (demux, "received newsegment %" GST_SEGMENT_FORMAT, GST_DEBUG_OBJECT (demux, "received newsegment %" GST_SEGMENT_FORMAT,
&segment); &segment);
/* erase any previously set segment */
gst_event_replace (&demux->pending_newsegment, NULL);
if (segment.format == GST_FORMAT_TIME) { if (segment.format == GST_FORMAT_TIME) {
GST_DEBUG_OBJECT (demux, "new pending_newsegment"); GST_DEBUG_OBJECT (demux, "new pending_newsegment");
gst_event_replace (&demux->pending_newsegment, event); 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_segment_copy_into (&segment, &demux->segment);
GST_DEBUG_OBJECT (demux, "Pushing newseg %" GST_SEGMENT_FORMAT, &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 pull mode, segment activation will be handled in the looping task
* For push mode, need to do it here */ * For push mode, need to do it here */