summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_audio.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux/demux_audio.c')
-rw-r--r--libmpdemux/demux_audio.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c
index d50e6eb386..b14c012be6 100644
--- a/libmpdemux/demux_audio.c
+++ b/libmpdemux/demux_audio.c
@@ -288,10 +288,11 @@ void demux_audio_seek(demuxer_t *demuxer,float rel_seek_secs,int flags){
return;
}
- base = flags&1 ? demuxer->movi_start : stream_tell(s) ;
- len = (demuxer->movi_end && flags&2) ? (demuxer->movi_end - demuxer->movi_start)*rel_seek_secs : rel_seek_secs;
-
- pos = base+(len*sh_audio->i_bps);
+ base = flags&1 ? demuxer->movi_start : stream_tell(s);
+ if(flags&2)
+ pos = base + ((demuxer->movi_end - demuxer->movi_start)*rel_seek_secs);
+ else
+ pos = base + (rel_seek_secs*sh_audio->i_bps);
if(demuxer->movi_end && pos >= demuxer->movi_end) {
sh_audio->timer = (stream_tell(s) - demuxer->movi_start)/(float)sh_audio->i_bps;