summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-26 22:06:36 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-26 22:06:36 +0000
commita3bb9882b795111869b267ca87e1cc93dfb54701 (patch)
tree0d58b95d84654275f7dcecddb3c938ad4ee9e59b /libmpdemux
parenta5d95b439dbd0d98917ffc366d9d9aa4f7aae82a (diff)
downloadmpv-a3bb9882b795111869b267ca87e1cc93dfb54701.tar.bz2
mpv-a3bb9882b795111869b267ca87e1cc93dfb54701.tar.xz
Used wrong condition for using AVSEEK_FLAG_BACKWARD, it should depend on
relative vs. absolute, not time- vs. percent-based seek. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25870 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_lavf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
index 11a0d2afb8..8af971fa84 100644
--- a/libmpdemux/demux_lavf.c
+++ b/libmpdemux/demux_lavf.c
@@ -611,15 +611,16 @@ static void demux_seek_lavf(demuxer_t *demuxer, float rel_seek_secs, float audio
int avsflags = 0;
mp_msg(MSGT_DEMUX,MSGL_DBG2,"demux_seek_lavf(%p, %f, %f, %d)\n", demuxer, rel_seek_secs, audio_delay, flags);
- if (flags & 1) // absolute seek
+ if (flags & 1) { // absolute seek
priv->last_pts = priv->avfc->start_time;
+ if (rel_seek_secs < 0) avsflags = AVSEEK_FLAG_BACKWARD;
+ }
if (flags & 2) { // percent seek
if (priv->avfc->duration == 0 || priv->avfc->duration == AV_NOPTS_VALUE)
return;
priv->last_pts += rel_seek_secs * priv->avfc->duration;
} else {
priv->last_pts += rel_seek_secs * AV_TIME_BASE;
- if (rel_seek_secs < 0) avsflags = AVSEEK_FLAG_BACKWARD;
}
av_seek_frame(priv->avfc, -1, priv->last_pts, avsflags);
}