diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-04-23 10:31:03 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-04-23 10:31:03 +0200 |
commit | 8f2e438e52d4a6cd138968df18cd9e54d7f6394f (patch) | |
tree | 15478ea4a019089052fbaeecd3d7b7cd187085a0 | |
parent | 8bb5d1c39c9646022720ec93ef8a1b49bf558790 (diff) | |
download | ffmpeg-8f2e438e52d4a6cd138968df18cd9e54d7f6394f.tar.gz |
Support channel layout when demuxing aif files.
-rw-r--r-- | libavformat/Makefile | 2 | ||||
-rw-r--r-- | libavformat/aiffdec.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libavformat/Makefile b/libavformat/Makefile index 45871721b6..f83642f30c 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -23,7 +23,7 @@ OBJS-$(CONFIG_AC3_DEMUXER) += ac3dec.o rawdec.o OBJS-$(CONFIG_AC3_MUXER) += rawenc.o OBJS-$(CONFIG_ADTS_MUXER) += adtsenc.o OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o -OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o +OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o caf.o OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o OBJS-$(CONFIG_AMR_DEMUXER) += amr.o OBJS-$(CONFIG_AMR_MUXER) += amr.o diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 25a93f5fb9..a3aecee0a8 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -23,6 +23,7 @@ #include "avformat.h" #include "pcm.h" #include "aiff.h" +#include "caf.h" #define AIFF 0 #define AIFF_C_VERSION1 0xA2805140 @@ -253,6 +254,11 @@ static int aiff_read_header(AVFormatContext *s, st->codec->extradata_size = size; avio_read(pb, st->codec->extradata, size); break; + case MKTAG('C','H','A','N'): + if (size < 12) + return AVERROR_INVALIDDATA; + ff_read_chan_chunk(s, size, st->codec); + break; default: /* Jump */ if (size & 1) /* Always even aligned */ size++; |