diff options
-rw-r--r-- | libavformat/aiff.h | 1 | ||||
-rw-r--r-- | libavformat/aiffdec.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/aiff.h b/libavformat/aiff.h index 2a87d6e..0ed10a2 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 d191bc4..9bff565 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) { |