summaryrefslogtreecommitdiff
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-10-18 20:50:03 +0200
committerAnton Khirnov <anton@khirnov.net>2016-10-21 10:11:20 +0200
commit096a8effa3f8f3455292c958c3ed07e798def7bd (patch)
treef7da351a4bb668ba019a5cd3ba7c841571ad89b3 /libavformat/utils.c
parent788544ff0ed6fe67fda80ad6d3a0796ace035584 (diff)
lavf: check that the codec is supported by extract_extradata
Avoids superfluous error message spam after 8e2ea691351c5079cdab245ff7bfa5c0f3e3bfe4
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 1c93326ab2..37ba5a8626 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2099,6 +2099,16 @@ static int extract_extradata_init(AVStream *st)
if (!f)
goto finish;
+ /* check that the codec id is supported */
+ if (f->codec_ids) {
+ const enum AVCodecID *ids;
+ for (ids = f->codec_ids; *ids != AV_CODEC_ID_NONE; ids++)
+ if (*ids == st->codecpar->codec_id)
+ break;
+ if (*ids == AV_CODEC_ID_NONE)
+ goto finish;
+ }
+
i->extract_extradata.pkt = av_packet_alloc();
if (!i->extract_extradata.pkt)
return AVERROR(ENOMEM);