summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-10-20 15:15:53 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-10-20 15:15:53 +0000
commit2d6059c4e51b7465eff06a8294424bc3fc5b89d1 (patch)
tree36b5fd148d762eca521008637612590421dbb4a5 /libmpdemux
parent6ae85191acffb8471bb2c651335d65431650c132 (diff)
downloadmpv-2d6059c4e51b7465eff06a8294424bc3fc5b89d1.tar.bz2
mpv-2d6059c4e51b7465eff06a8294424bc3fc5b89d1.tar.xz
Fix seeking in wav files: align relative to start of data, not start of file
and use nBlockAlign if available. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16819 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_audio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c
index 6ac7563980..01b86e4a12 100644
--- a/libmpdemux/demux_audio.c
+++ b/libmpdemux/demux_audio.c
@@ -518,7 +518,9 @@ static void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
switch(priv->frmt) {
case WAV:
- pos -= (pos % (sh_audio->channels * sh_audio->samplesize) );
+ pos -= (pos - demuxer->movi_start) %
+ (sh_audio->wf->nBlockAlign ? sh_audio->wf->nBlockAlign :
+ (sh_audio->channels * sh_audio->samplesize));
// We need to decrease the pts by one step to make it the "last one"
priv->last_pts -= sh_audio->wf->nAvgBytesPerSec/(float)sh_audio->i_bps;
break;