... | ... |
@@ -24,7 +24,7 @@ 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 | 26 |
OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o isom.o |
27 |
-OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o |
|
27 |
+OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o isom.o |
|
28 | 28 |
OBJS-$(CONFIG_AMR_DEMUXER) += amr.o |
29 | 29 |
OBJS-$(CONFIG_AMR_MUXER) += amr.o |
30 | 30 |
OBJS-$(CONFIG_ANM_DEMUXER) += anm.o |
... | ... |
@@ -22,6 +22,7 @@ |
22 | 22 |
#include "avformat.h" |
23 | 23 |
#include "aiff.h" |
24 | 24 |
#include "avio_internal.h" |
25 |
+#include "isom.h" |
|
25 | 26 |
|
26 | 27 |
typedef struct { |
27 | 28 |
int64_t form; |
... | ... |
@@ -61,6 +62,12 @@ static int aiff_write_header(AVFormatContext *s) |
61 | 61 |
avio_wb32(pb, 0xA2805140); |
62 | 62 |
} |
63 | 63 |
|
64 |
+ if (enc->channels > 2 && enc->channel_layout) { |
|
65 |
+ ffio_wfourcc(pb, "CHAN"); |
|
66 |
+ avio_wb32(pb, 12); |
|
67 |
+ ff_mov_write_chan(pb, enc->channel_layout); |
|
68 |
+ } |
|
69 |
+ |
|
64 | 70 |
/* Common chunk */ |
65 | 71 |
ffio_wfourcc(pb, "COMM"); |
66 | 72 |
avio_wb32(pb, aifc ? 24 : 18); /* size */ |