[SCM] libav/experimental: matroskadec: fix handling of A_MS/ACM track with no extradata

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:52:22 UTC 2013


The following commit has been merged in the experimental branch:
commit 038146e9cfac37941541d788e769a32f9d94e14a
Author: Aurelien Jacobs <aurel at gnuage.org>
Date:   Thu Oct 1 21:14:05 2009 +0000

    matroskadec: fix handling of A_MS/ACM track with no extradata
    
    Originally committed as revision 20131 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 319aea0..1dc2d22 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1248,13 +1248,13 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
             codec_id = ff_codec_get_id(ff_codec_bmp_tags, track->video.fourcc);
             extradata_offset = 40;
         } else if (!strcmp(track->codec_id, "A_MS/ACM")
-                   && track->codec_priv.size >= 18
+                   && track->codec_priv.size >= 14
                    && track->codec_priv.data != NULL) {
             init_put_byte(&b, track->codec_priv.data, track->codec_priv.size,
                           URL_RDONLY, NULL, NULL, NULL, NULL);
             ff_get_wav_header(&b, st->codec, track->codec_priv.size);
             codec_id = st->codec->codec_id;
-            extradata_offset = 18;
+            extradata_offset = FFMIN(track->codec_priv.size, 18);
         } else if (!strcmp(track->codec_id, "V_QUICKTIME")
                    && (track->codec_priv.size >= 86)
                    && (track->codec_priv.data != NULL)) {

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list