diff options
Diffstat (limited to 'mencoder.c')
-rw-r--r-- | mencoder.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/mencoder.c b/mencoder.c index 9ef7835c8f..219f3ff79c 100644 --- a/mencoder.c +++ b/mencoder.c @@ -337,14 +337,7 @@ static int dec_audio(sh_audio_t *sh_audio,unsigned char* buffer,int total){ while(size<total && !at_eof){ int len=total-size; if(len>MAX_OUTBURST) len=MAX_OUTBURST; - if(len>sh_audio->a_out_buffer_size) len=sh_audio->a_out_buffer_size; - if(len>sh_audio->a_out_buffer_len){ - int ret=decode_audio(sh_audio, - &sh_audio->a_out_buffer[sh_audio->a_out_buffer_len], - len-sh_audio->a_out_buffer_len, - sh_audio->a_out_buffer_size-sh_audio->a_out_buffer_len); - if(ret>0) sh_audio->a_out_buffer_len+=ret; else at_eof=1; - } + if (decode_audio(sh_audio, len) < 0) at_eof=1; if(len>sh_audio->a_out_buffer_len) len=sh_audio->a_out_buffer_len; fast_memcpy(buffer+size,sh_audio->a_out_buffer,len); sh_audio->a_out_buffer_len-=len; size+=len; |