diff options
author | Matej Knopp <matej.knopp@gmail.com> | 2014-07-12 15:26:36 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2018-05-14 17:01:45 +0300 |
commit | 729a3443e78078a9d8b22f6b5c050262f67cc317 (patch) | |
tree | 4c5261235b30f7e63934a4c1fafd5959ee8928dc | |
parent | 9299cff444ff8bf1bfc3a1f4ccb1329f9dd40db4 (diff) | |
download | gst-libav-729a3443e78078a9d8b22f6b5c050262f67cc317.tar.gz |
gstavdemux: adjust seeking offset according to start_time
https://bugzilla.gnome.org/show_bug.cgi?id=733094
-rw-r--r-- | ext/libav/gstavdemux.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c index 6495703..001e2f1 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; |