Mercurial > mplayer.hg
comparison libmpcodecs/ad_faad.c @ 32619:34c4e6ff7b17
Fix ad_faad crash when used on an empty audio stream.
author | reimar |
---|---|
date | Sun, 12 Dec 2010 13:56:35 +0000 |
parents | 4be4c1ecaa4c |
children | 85f0d7406e07 |
comparison
equal
deleted
inserted
replaced
32618:de37221dff02 | 32619:34c4e6ff7b17 |
---|---|
125 //faac_conf->defObjectType = LTP; // => MAIN, LC, SSR, LTP available. | 125 //faac_conf->defObjectType = LTP; // => MAIN, LC, SSR, LTP available. |
126 | 126 |
127 faacDecSetConfiguration(faac_hdec, faac_conf); | 127 faacDecSetConfiguration(faac_hdec, faac_conf); |
128 | 128 |
129 sh->a_in_buffer_len = demux_read_data(sh->ds, sh->a_in_buffer, sh->a_in_buffer_size); | 129 sh->a_in_buffer_len = demux_read_data(sh->ds, sh->a_in_buffer, sh->a_in_buffer_size); |
130 if (!sh->a_in_buffer_len) { | |
131 // faad init will crash with 0 buffer length | |
132 mp_msg(MSGT_DECAUDIO, MSGL_FATAL, "Could not get audio data!\n"); | |
133 return 0; | |
134 } | |
130 #if CONFIG_FAAD_INTERNAL | 135 #if CONFIG_FAAD_INTERNAL |
131 /* init the codec, look for LATM */ | 136 /* init the codec, look for LATM */ |
132 faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, | 137 faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, |
133 sh->a_in_buffer_len, &faac_samplerate, &faac_channels,1); | 138 sh->a_in_buffer_len, &faac_samplerate, &faac_channels,1); |
134 if (faac_init < 0 && sh->a_in_buffer_len >= 3 && sh->format == mmioFOURCC('M', 'P', '4', 'L')) { | 139 if (faac_init < 0 && sh->a_in_buffer_len >= 3 && sh->format == mmioFOURCC('M', 'P', '4', 'L')) { |