diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-10-20 15:15:53 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-10-20 15:15:53 +0000 |
commit | 2d6059c4e51b7465eff06a8294424bc3fc5b89d1 (patch) | |
tree | 36b5fd148d762eca521008637612590421dbb4a5 /libmpdemux/demux_audio.c | |
parent | 6ae85191acffb8471bb2c651335d65431650c132 (diff) | |
download | mpv-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/demux_audio.c')
-rw-r--r-- | libmpdemux/demux_audio.c | 4 |
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; |