]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/utils.c
vp9: fix memory corruption if header decoding fails after size change.
[ffmpeg] / libavformat / utils.c
index 3f4446deafacf6d97e887de02b114c2c17fdd1c5..421dfef7df6f2f5c885a800bcdabc77d23fa9856 100644 (file)
@@ -103,6 +103,7 @@ MAKE_ACCESSORS(AVStream, stream, AVRational, r_frame_rate)
 MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, video_codec)
 MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, audio_codec)
 MAKE_ACCESSORS(AVFormatContext, format, AVCodec *, subtitle_codec)
+MAKE_ACCESSORS(AVFormatContext, format, int, metadata_header_padding)
 
 static AVCodec *find_decoder(AVFormatContext *s, AVStream *st, enum AVCodecID codec_id)
 {
@@ -3263,6 +3264,8 @@ int av_find_best_stream(AVFormatContext *ic,
             continue;
         if (st->disposition & (AV_DISPOSITION_HEARING_IMPAIRED|AV_DISPOSITION_VISUAL_IMPAIRED))
             continue;
+        if (type == AVMEDIA_TYPE_AUDIO && !avctx->channels)
+            continue;
         if (decoder_ret) {
             decoder = find_decoder(ic, st, st->codec->codec_id);
             if (!decoder) {