mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
qtdemux: also set segment stop at startup rather than only post seek
... so as to ensure consistent playback with or without seek, especially in presence of some bogus edit list entries.
This commit is contained in:
parent
91af805636
commit
4946cc5e7f
1 changed files with 6 additions and 1 deletions
|
@ -8867,8 +8867,13 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
|
||||||
|
|
||||||
/* set duration in the segment info */
|
/* set duration in the segment info */
|
||||||
gst_qtdemux_get_duration (qtdemux, &duration);
|
gst_qtdemux_get_duration (qtdemux, &duration);
|
||||||
if (duration)
|
if (duration) {
|
||||||
gst_segment_set_duration (&qtdemux->segment, GST_FORMAT_TIME, duration);
|
gst_segment_set_duration (&qtdemux->segment, GST_FORMAT_TIME, duration);
|
||||||
|
/* also do not exceed duration; stop is set that way post seek anyway,
|
||||||
|
* and segment activation falls back to duration,
|
||||||
|
* whereas loop only checks stop, so let's align this here as well */
|
||||||
|
qtdemux->segment.stop = duration;
|
||||||
|
}
|
||||||
|
|
||||||
/* parse all traks */
|
/* parse all traks */
|
||||||
trak = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_trak);
|
trak = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_trak);
|
||||||
|
|
Loading…
Reference in a new issue