Imported Debian version 2.5.0~trusty1.1
[deb_ffmpeg.git] / ffmpeg / libavformat / iff.c
index 8e2030364a668bd411f97fc7cfb0093396b49604..e7c240c5d578825a711b2f82b674240b188efeaf 100644 (file)
@@ -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',' ',' '):