summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demux_avi.c1
-rw-r--r--mplayer.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/libmpdemux/demux_avi.c b/libmpdemux/demux_avi.c
index ba8e74960c..e812d0bcd7 100644
--- a/libmpdemux/demux_avi.c
+++ b/libmpdemux/demux_avi.c
@@ -608,6 +608,7 @@ void demux_seek_avi(demuxer_t *demuxer,float rel_seek_secs,int flags){
curr_audio_pos*=align;
#else
curr_audio_pos=(priv->avi_video_pts)*(float)sh_audio->audio.dwRate/(float)sh_audio->audio.dwScale;
+ curr_audio_pos-=sh_audio->audio.dwStart;
curr_audio_pos*=sh_audio->audio.dwSampleSize;
#endif
diff --git a/mplayer.c b/mplayer.c
index fb3cf18444..5368856896 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1559,6 +1559,7 @@ if(!(vo_flags&256)){ // flag 256 means: libvo driver does its timing (dvb card)
unsigned int samples=(sh_audio->audio.dwSampleSize)?
((ds_tell(d_audio)-sh_audio->a_in_buffer_len)/sh_audio->audio.dwSampleSize) :
(d_audio->pack_no); // <- used for VBR audio
+ samples+=sh_audio->audio.dwStart; // offset
a_pts=samples*(float)sh_audio->audio.dwScale/(float)sh_audio->audio.dwRate;
#else
if(sh_audio->audio.dwSampleSize)