mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
oggdemux: granulepos is relative to its chain
When performing seeks, the granulepos should be offset by its chain start time to avoid using wrong values to update segment's last_stop. A sample file is indicated on bug #606382
This commit is contained in:
parent
24f1a9a9b7
commit
125f7dfdb0
1 changed files with 5 additions and 2 deletions
|
@ -1901,8 +1901,11 @@ gst_ogg_demux_do_seek (GstOggDemux * ogg, GstSegment * segment,
|
||||||
pad->map.serialno, GST_TIME_ARGS (keyframe_time));
|
pad->map.serialno, GST_TIME_ARGS (keyframe_time));
|
||||||
|
|
||||||
/* collect smallest value */
|
/* collect smallest value */
|
||||||
if (keyframe_time != -1 && keyframe_time < keytarget)
|
if (keyframe_time != -1) {
|
||||||
keytarget = keyframe_time;
|
keyframe_time += begintime;
|
||||||
|
if (keyframe_time < keytarget)
|
||||||
|
keytarget = keyframe_time;
|
||||||
|
}
|
||||||
|
|
||||||
next:
|
next:
|
||||||
pending--;
|
pending--;
|
||||||
|
|
Loading…
Reference in a new issue