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:
Mark Nauwelaerts 2011-11-08 14:31:34 +01:00
parent 91af805636
commit 4946cc5e7f

View file

@ -8867,8 +8867,13 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
/* set duration in the segment info */
gst_qtdemux_get_duration (qtdemux, &duration);
if (duration)
if (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 */
trak = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_trak);