in case of errors after decoding quit the main decoding

loop before memmove() when sh_audio->in_buffer_len <= 0;
patch by Chandan Pitta chandan.pitta gmail com


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20001 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nicodvb 2006-09-27 21:45:15 +00:00
parent 2d5aedd5b3
commit 8ada2d6b87
1 changed files with 4 additions and 0 deletions

View File

@ -243,6 +243,10 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen)
if(faac_finfo.error > 0) {
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: error: %s, trying to resync!\n",
faacDecGetErrorMessage(faac_finfo.error));
if (sh->a_in_buffer_len <= 0) {
errors = MAX_FAAD_ERRORS;
break;
}
sh->a_in_buffer_len--;
memmove(sh->a_in_buffer,&sh->a_in_buffer[1],sh->a_in_buffer_len);
aac_sync(sh);