[FFmpeg-cvslog] libavformat/iff: print error message when DSDIFF compression type is not supported

Peter Ross git at videolan.org
Fri Sep 26 12:59:49 CEST 2014


ffmpeg | branch: master | Peter Ross <pross at xvid.org> | Fri Sep 26 15:44:46 2014 +1000| [1964251be7df69122108df89fb619f9a71bfb23f] | committer: Michael Niedermayer

libavformat/iff: print error message when DSDIFF compression type is not supported

Signed-off-by: Peter Ross <pross at xvid.org>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1964251be7df69122108df89fb619f9a71bfb23f
---

 libavformat/iff.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavformat/iff.c b/libavformat/iff.c
index 8e20303..e7c240c 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',' ',' '):



More information about the ffmpeg-cvslog mailing list