Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2014-09-26 09:44:46 +0400
committerMichael Niedermayer <michaelni@gmx.at>2014-09-26 14:51:40 +0400
commit1964251be7df69122108df89fb619f9a71bfb23f (patch)
tree5423da49fef1d8664d87b5197fae2d5c2a279187 /libavformat/iff.c
parentee2e5acdb13f9ca9d3cc39258c4f30773c212449 (diff)
libavformat/iff: print error message when DSDIFF compression type is not supported
Signed-off-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/iff.c')
-rw-r--r--libavformat/iff.c8
1 files changed, 7 insertions, 1 deletions
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',' ',' '):