X-Git-Url: https://git.piment-noir.org/?p=deb_ffmpeg.git;a=blobdiff_plain;f=ffmpeg%2Flibavformat%2Fiff.c;h=e7c240c5d578825a711b2f82b674240b188efeaf;hp=8e2030364a668bd411f97fc7cfb0093396b49604;hb=f6fa7814ccfe3e76514b36cf04f5cd3cb657c8cf;hpb=2ba45a602cbfa7b771effba9b11bb4245c21bc00 diff --git a/ffmpeg/libavformat/iff.c b/ffmpeg/libavformat/iff.c index 8e20303..e7c240c 100644 --- a/ffmpeg/libavformat/iff.c +++ b/ffmpeg/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',' ',' '):