diff options
author | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-12-31 07:37:37 +0000 |
---|---|---|
committer | henry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-12-31 07:37:37 +0000 |
commit | e512aef61b66802be8c849599f02510a3f00d64d (patch) | |
tree | a7043ce13f48ef8a8dd4a57c7dda50f9f77354ec /mplayer.c | |
parent | b835437de469bed866009ea52ac238aa57a2ac55 (diff) | |
download | mpv-e512aef61b66802be8c849599f02510a3f00d64d.tar.bz2 mpv-e512aef61b66802be8c849599f02510a3f00d64d.tar.xz |
check the intermediate audio buffer
otherwise, data can get stuck between the demuxer and filter layer
causing a premature end of audio.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17275 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r-- | mplayer.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -2599,7 +2599,7 @@ while(sh_audio){ current_module="decode_audio"; // Enter AUDIO decoder module t=GetTimer(); while(sh_audio->a_out_buffer_len<playsize && - (!d_audio->eof || sh_audio->a_in_buffer_len > 0)){ + (!d_audio->eof || sh_audio->a_in_buffer_len > 0 || sh_audio->a_buffer_len > 0)){ int ret=decode_audio(sh_audio,&sh_audio->a_out_buffer[sh_audio->a_out_buffer_len], playsize-sh_audio->a_out_buffer_len,sh_audio->a_out_buffer_size-sh_audio->a_out_buffer_len); if(ret<=0) { // EOF? |