# HG changeset patch # User reimar # Date 1173101262 0 # Node ID 08774fd8fd1712e9b97a984edaa9406c409cc1bc # Parent 81d9984fa1eb291e8e7a59276ca1f0ac6f5ee1f9 Implement percent-based seeking diff -r 81d9984fa1eb -r 08774fd8fd17 libmpdemux/demux_avs.c --- a/libmpdemux/demux_avs.c Mon Mar 05 13:17:16 2007 +0000 +++ b/libmpdemux/demux_avs.c Mon Mar 05 13:27:42 2007 +0000 @@ -417,11 +417,16 @@ 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;