summaryrefslogtreecommitdiffstats
path: root/mencoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'mencoder.c')
-rw-r--r--mencoder.c9
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;