summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-12-31 07:37:37 +0000
committerhenry <henry@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-12-31 07:37:37 +0000
commite512aef61b66802be8c849599f02510a3f00d64d (patch)
treea7043ce13f48ef8a8dd4a57c7dda50f9f77354ec /mplayer.c
parentb835437de469bed866009ea52ac238aa57a2ac55 (diff)
downloadmpv-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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mplayer.c b/mplayer.c
index 2cbeab5865..3e8002f8ca 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -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?