flvdec: Check avpriv_mpeg4audio_get_config() return
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 31 Dec 2011 02:39:22 +0000 (03:39 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 31 Dec 2011 03:54:26 +0000 (04:54 +0100)
value before using its output.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/flvdec.c

index 2ebef63..1fdcc4d 100644 (file)
@@ -591,8 +591,8 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
                 return ret;
             if (st->codec->codec_id == CODEC_ID_AAC) {
                 MPEG4AudioConfig cfg;
-                avpriv_mpeg4audio_get_config(&cfg, st->codec->extradata,
-                                             st->codec->extradata_size * 8, 1);
+                if (avpriv_mpeg4audio_get_config(&cfg, st->codec->extradata,
+                                             st->codec->extradata_size * 8, 1) >= 0) {
                 st->codec->channels = cfg.channels;
                 if (cfg.ext_sample_rate)
                     st->codec->sample_rate = cfg.ext_sample_rate;
@@ -600,6 +600,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
                     st->codec->sample_rate = cfg.sample_rate;
                 av_dlog(s, "mp4a config channels %d sample rate %d\n",
                         st->codec->channels, st->codec->sample_rate);
+                }
             }
 
             ret = AVERROR(EAGAIN);