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:
Thiago Santos 2010-01-18 15:22:52 -03:00
parent 24f1a9a9b7
commit 125f7dfdb0

View file

@ -1901,8 +1901,11 @@ gst_ogg_demux_do_seek (GstOggDemux * ogg, GstSegment * segment,
pad->map.serialno, GST_TIME_ARGS (keyframe_time));
/* collect smallest value */
if (keyframe_time != -1 && keyframe_time < keytarget)
keytarget = keyframe_time;
if (keyframe_time != -1) {
keyframe_time += begintime;
if (keyframe_time < keytarget)
keytarget = keyframe_time;
}
next:
pending--;