Mercurial > mplayer.hg
changeset 29511:2c47c6dd92b5
Retry deciding to get audio parameters several times on errors, this avoids
failing to init the decoder completely just because the first packet is broken.
author | reimar |
---|---|
date | Wed, 26 Aug 2009 19:05:36 +0000 |
parents | 8ba4a5ee1480 |
children | 93da3c10c2ac |
files | libmpcodecs/ad_ffmpeg.c |
diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/ad_ffmpeg.c Wed Aug 26 17:35:40 2009 +0000 +++ b/libmpcodecs/ad_ffmpeg.c Wed Aug 26 19:05:36 2009 +0000 @@ -36,6 +36,7 @@ static int init(sh_audio_t *sh_audio) { + int tries = 0; int x; AVCodecContext *lavc_context; AVCodec *lavc_codec; @@ -106,7 +107,9 @@ } // Decode at least 1 byte: (to get header filled) + do { x=decode_audio(sh_audio,sh_audio->a_buffer,1,sh_audio->a_buffer_size); + } while (x <= 0 && tries++ < 5); if(x>0) sh_audio->a_buffer_len=x; sh_audio->channels=lavc_context->channels;