[FFmpeg-cvslog] ast: check bit depth too

Paul B Mahol git at videolan.org
Sun Nov 18 13:33:26 CET 2012


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun Nov 18 12:29:05 2012 +0000| [d0a503c97cc59b17e77585a726448dfa46245f4d] | committer: Paul B Mahol

ast: check bit depth too

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavformat/ast.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavformat/ast.c b/libavformat/ast.c
index a150545..2027b57 100644
--- a/libavformat/ast.c
+++ b/libavformat/ast.c
@@ -33,7 +33,7 @@ static int ast_probe(AVProbeData *p)
 
 static int ast_read_header(AVFormatContext *s)
 {
-    int codec;
+    int codec, depth;
     AVStream *st;
 
     st = avformat_new_stream(s, NULL);
@@ -50,7 +50,11 @@ static int ast_read_header(AVFormatContext *s)
         av_log(s, AV_LOG_ERROR, "unsupported codec %d\n", codec);
     }
 
-    avio_skip(s->pb, 2);
+    depth = avio_rb16(s->pb);
+    if (depth != 16) {
+        av_log_ask_for_sample(s, "unsupported depth %d\n", depth);
+        return AVERROR_INVALIDDATA;
+    }
 
     st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
     st->codec->channels = avio_rb16(s->pb);



More information about the ffmpeg-cvslog mailing list