summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2016-07-03 04:37:48 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2016-07-03 04:37:48 +0200
commitd5edb6c0483b04b0f91c011c4c4753bd440fec9b (patch)
treefb6802691dbb0227774eb1e3d0bf63978654072d /libavformat
parent37941878f193a2316c514bd5ba55bfe9d2dfdfcf (diff)
lavf/aiffdec: Support QDMC demuxing.
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/aiff.h1
-rw-r--r--libavformat/aiffdec.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/aiff.h b/libavformat/aiff.h
index 2a87d6e832..0ed10a241a 100644
--- a/libavformat/aiff.h
+++ b/libavformat/aiff.h
@@ -50,6 +50,7 @@ static const AVCodecTag ff_codec_aiff_tags[] = {
{ AV_CODEC_ID_PCM_S16BE, MKTAG('t','w','o','s') },
{ AV_CODEC_ID_PCM_S16LE, MKTAG('s','o','w','t') },
{ AV_CODEC_ID_ADPCM_IMA_QT, MKTAG('i','m','a','4') },
+ { AV_CODEC_ID_QDMC, MKTAG('Q','D','M','C') },
{ AV_CODEC_ID_QDM2, MKTAG('Q','D','M','2') },
{ AV_CODEC_ID_QCELP, MKTAG('Q','c','l','p') },
{ AV_CODEC_ID_SDX2_DPCM, MKTAG('S','D','X','2') },
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index d191bc4c04..9bff5656f8 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -301,7 +301,8 @@ static int aiff_read_header(AVFormatContext *s)
return -1;
if (ff_get_extradata(s, st->codecpar, pb, size) < 0)
return AVERROR(ENOMEM);
- if (st->codecpar->codec_id == AV_CODEC_ID_QDM2 && size>=12*4 && !st->codecpar->block_align) {
+ if ( (st->codecpar->codec_id == AV_CODEC_ID_QDMC || st->codecpar->codec_id == AV_CODEC_ID_QDM2)
+ && size>=12*4 && !st->codecpar->block_align) {
st->codecpar->block_align = AV_RB32(st->codecpar->extradata+11*4);
aiff->block_duration = AV_RB32(st->codecpar->extradata+9*4);
} else if (st->codecpar->codec_id == AV_CODEC_ID_QCELP) {