diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 99e05c78ec..a6c180fc8d 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -325,6 +325,13 @@ static int aiff_read_header(AVFormatContext *s) if(ff_mov_read_chan(s, pb, st, size) < 0) return AVERROR_INVALIDDATA; break; + case MKTAG('A','P','C','M'): /* XA ADPCM compressed sound chunk */ + st->codecpar->codec_id = AV_CODEC_ID_ADPCM_XA; + aiff->data_end = avio_tell(pb) + size; + offset = avio_tell(pb) + 8; + /* This field is unknown and its data seems to be irrelevant */ + avio_rb32(pb); + st->codecpar->block_align = avio_rb32(pb); case 0: if (offset > 0 && st->codecpar->block_align) // COMM && SSND goto got_sound;