From c182d28770e4143f7b64c3d503b53b5e19c542fa Mon Sep 17 00:00:00 2001 From: Matej Knopp Date: Sat, 12 Jul 2014 15:26:36 +0200 Subject: [PATCH] gstavdemux: adjust seeking offset according to start_time https://bugzilla.gnome.org/show_bug.cgi?id=733094 --- ext/libav/gstavdemux.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c index 64957038bd..001e2f106e 100644 --- a/ext/libav/gstavdemux.c +++ b/ext/libav/gstavdemux.c @@ -460,7 +460,7 @@ gst_ffmpegdemux_do_seek (GstFFMpegDemux * demux, GstSegment * segment) /* get the stream for seeking */ stream = demux->context->streams[index]; /* initial seek position */ - target = segment->position; + target = segment->position + demux->start_time; /* convert target to ffmpeg time */ fftarget = gst_ffmpeg_time_gst_to_ff (target, stream->time_base); @@ -503,6 +503,11 @@ gst_ffmpegdemux_do_seek (GstFFMpegDemux * demux, GstSegment * segment) GST_DEBUG_OBJECT (demux, "seek success, returned %d", seekret); + if (target > demux->start_time) + target -= demux->start_time; + else + target = 0; + segment->position = target; segment->time = target; segment->start = target;