summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-05 13:27:42 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-05 13:27:42 +0000
commitea365aa53fde1bb6cd381ac6b2c4e27def423cb8 (patch)
treedb6733d1d6afc265ed7b7c87978704a86053cf34 /libmpdemux
parent1221718d508f271bd19e55f1224a8c492f50430a (diff)
downloadmpv-ea365aa53fde1bb6cd381ac6b2c4e27def423cb8.tar.bz2
mpv-ea365aa53fde1bb6cd381ac6b2c4e27def423cb8.tar.xz
Implement percent-based seeking
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22467 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_avs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpdemux/demux_avs.c b/libmpdemux/demux_avs.c
index 4f0be23f57..23934235b5 100644
--- a/libmpdemux/demux_avs.c
+++ b/libmpdemux/demux_avs.c
@@ -417,11 +417,16 @@ static void demux_seek_avs(demuxer_t *demuxer, float rel_seek_secs, float audio_
double video_pos = sh_video ?
(double)AVS->frameno / sh_video->fps :
(double)AVS->sampleno / sh_audio->samplerate;
+ double duration = sh_video ?
+ (double)AVS->video_info->num_frames / sh_video->fps :
+ (double)AVS->video_info->num_audio_samples / sh_audio->samplerate;
//mp_msg(MSGT_DEMUX, MSGL_V, "AVS: seek rel_seek_secs = %f - flags = %x\n", rel_seek_secs, flags);
// seek absolute
if (flags&1) video_pos=0;
+ // seek precent
+ if (flags&2) rel_seek_secs *= duration;
video_pos += rel_seek_secs;
if (video_pos < 0) video_pos = 0;