From 125f7dfdb058888a4f2ba0e837259be1e1a2ff2b Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Mon, 18 Jan 2010 15:22:52 -0300 Subject: [PATCH] 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 --- ext/ogg/gstoggdemux.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index b6e78b69b5..1540af2068 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -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--;