From 1964251be7df69122108df89fb619f9a71bfb23f Mon Sep 17 00:00:00 2001 From: Peter Ross Date: Fri, 26 Sep 2014 15:44:46 +1000 Subject: [PATCH] libavformat/iff: print error message when DSDIFF compression type is not supported Signed-off-by: Peter Ross Signed-off-by: Michael Niedermayer --- libavformat/iff.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavformat/iff.c b/libavformat/iff.c index 8e2030364a..e7c240c5d5 100644 --- a/libavformat/iff.c +++ b/libavformat/iff.c @@ -285,7 +285,13 @@ static int parse_dsd_prop(AVFormatContext *s, AVStream *st, uint64_t eof) case MKTAG('C','M','P','R'): if (size < 4) return AVERROR_INVALIDDATA; - st->codec->codec_id = ff_codec_get_id(dsd_codec_tags, avio_rl32(pb)); + tag = avio_rl32(pb); + st->codec->codec_id = ff_codec_get_id(dsd_codec_tags, tag); + if (!st->codec->codec_id) { + av_log(s, AV_LOG_ERROR, "'%c%c%c%c' compression is not supported\n", + tag&0xFF, (tag>>8)&0xFF, (tag>>16)&0xFF, (tag>>24)&0xFF); + return AVERROR_PATCHWELCOME; + } break; case MKTAG('F','S',' ',' '):