... | ... |
@@ -23,7 +23,7 @@ OBJS-$(CONFIG_AC3_DEMUXER) += ac3dec.o rawdec.o |
23 | 23 |
OBJS-$(CONFIG_AC3_MUXER) += rawenc.o |
24 | 24 |
OBJS-$(CONFIG_ADTS_MUXER) += adtsenc.o |
25 | 25 |
OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o |
26 |
-OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o |
|
26 |
+OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o caf.o |
|
27 | 27 |
OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o |
28 | 28 |
OBJS-$(CONFIG_AMR_DEMUXER) += amr.o |
29 | 29 |
OBJS-$(CONFIG_AMR_MUXER) += amr.o |
... | ... |
@@ -23,6 +23,7 @@ |
23 | 23 |
#include "avformat.h" |
24 | 24 |
#include "pcm.h" |
25 | 25 |
#include "aiff.h" |
26 |
+#include "caf.h" |
|
26 | 27 |
|
27 | 28 |
#define AIFF 0 |
28 | 29 |
#define AIFF_C_VERSION1 0xA2805140 |
... | ... |
@@ -253,6 +254,11 @@ static int aiff_read_header(AVFormatContext *s, |
253 | 253 |
st->codec->extradata_size = size; |
254 | 254 |
avio_read(pb, st->codec->extradata, size); |
255 | 255 |
break; |
256 |
+ case MKTAG('C','H','A','N'): |
|
257 |
+ if (size < 12) |
|
258 |
+ return AVERROR_INVALIDDATA; |
|
259 |
+ ff_read_chan_chunk(s, size, st->codec); |
|
260 |
+ break; |
|
256 | 261 |
default: /* Jump */ |
257 | 262 |
if (size & 1) /* Always even aligned */ |
258 | 263 |
size++; |