[FFmpeg-cvslog] r16672 - trunk/libavformat/matroskadec.c

aurel subversion
Sun Jan 18 18:13:13 CET 2009


Author: aurel
Date: Sun Jan 18 18:13:12 2009
New Revision: 16672

Log:
matroskadec: parse the WAVEFORMATEX header and discard it from extradata

Modified:
   trunk/libavformat/matroskadec.c

Modified: trunk/libavformat/matroskadec.c
==============================================================================
--- trunk/libavformat/matroskadec.c	Sun Jan 18 08:20:12 2009	(r16671)
+++ trunk/libavformat/matroskadec.c	Sun Jan 18 18:13:12 2009	(r16672)
@@ -1201,8 +1201,13 @@ static int matroska_read_header(AVFormat
         } else if (!strcmp(track->codec_id, "A_MS/ACM")
                    && track->codec_priv.size >= 18
                    && track->codec_priv.data != NULL) {
-            uint16_t tag = AV_RL16(track->codec_priv.data);
-            codec_id = codec_get_id(codec_wav_tags, tag);
+            ByteIOContext b;
+            init_put_byte(&b, track->codec_priv.data, track->codec_priv.size,
+                          URL_RDONLY, NULL, NULL, NULL, NULL);
+            get_wav_header(&b, st->codec, track->codec_priv.size);
+            codec_id = st->codec->codec_id;
+            extradata_offset = 18;
+            track->codec_priv.size -= extradata_offset;
         } else if (!strcmp(track->codec_id, "V_QUICKTIME")
                    && (track->codec_priv.size >= 86)
                    && (track->codec_priv.data != NULL)) {




More information about the ffmpeg-cvslog mailing list