mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
qtdemux: Don't modify upstream TIME segment
TIME segment implies that stream/running time is being handled by upstream. So, we shouldn't override it without any clue. This patch is for fixing seek in DASH streaming. https://bugzilla.gnome.org/show_bug.cgi?id=774196
This commit is contained in:
parent
6a7bdfd2ea
commit
e5b3d9257d
1 changed files with 9 additions and 6 deletions
|
@ -2161,12 +2161,15 @@ gst_qtdemux_handle_sink_event (GstPad * sinkpad, GstObject * parent,
|
|||
goto exit;
|
||||
}
|
||||
|
||||
/* accept upstream's notion of segment and distribute along */
|
||||
segment.format = GST_FORMAT_TIME;
|
||||
segment.position = segment.time = segment.start;
|
||||
segment.duration = demux->segment.duration;
|
||||
segment.base = gst_segment_to_running_time (&demux->segment,
|
||||
GST_FORMAT_TIME, demux->segment.position);
|
||||
/* We shouldn't modify upstream driven TIME FORMAT segment */
|
||||
if (!demux->upstream_format_is_time) {
|
||||
/* accept upstream's notion of segment and distribute along */
|
||||
segment.format = GST_FORMAT_TIME;
|
||||
segment.position = segment.time = segment.start;
|
||||
segment.duration = demux->segment.duration;
|
||||
segment.base = gst_segment_to_running_time (&demux->segment,
|
||||
GST_FORMAT_TIME, demux->segment.position);
|
||||
}
|
||||
|
||||
gst_segment_copy_into (&segment, &demux->segment);
|
||||
GST_DEBUG_OBJECT (demux, "Pushing newseg %" GST_SEGMENT_FORMAT, &segment);
|
||||
|
|
Loading…
Reference in a new issue