summaryrefslogtreecommitdiff
path: root/libavformat/matroskadec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-19 18:35:33 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-19 18:48:49 +0100
commit48218580e1ecc6687386e63d1f20c03482f69939 (patch)
tree8281cc7192865c012b1717e852337f3c30989643 /libavformat/matroskadec.c
parent5800b08572ef5f776950fc6f1b6572ba9a6b1933 (diff)
avformat/matroskadec: support QDM2 as generated by mkvtoolnix-6.7.0
Fixes part of Ticket3256 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/matroskadec.c')
-rw-r--r--libavformat/matroskadec.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index bae98128fd..19e0e2ed72 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1722,6 +1722,15 @@ static int matroska_read_header(AVFormatContext *s)
return ret;
codec_id = st->codec->codec_id;
extradata_offset = FFMIN(track->codec_priv.size, 18);
+ } else if (!strcmp(track->codec_id, "A_QUICKTIME")
+ && (track->codec_priv.size >= 86)
+ && (track->codec_priv.data != NULL)) {
+ fourcc = AV_RL32(track->codec_priv.data + 4);
+ codec_id = ff_codec_get_id(ff_codec_movaudio_tags, fourcc);
+ if (ff_codec_get_id(ff_codec_movaudio_tags, AV_RL32(track->codec_priv.data))) {
+ fourcc = AV_RL32(track->codec_priv.data);
+ codec_id = ff_codec_get_id(ff_codec_movaudio_tags, fourcc);
+ }
} else if (!strcmp(track->codec_id, "V_QUICKTIME")
&& (track->codec_priv.size >= 86)
&& (track->codec_priv.data != NULL)) {