summaryrefslogtreecommitdiff
path: root/src/lib/writer.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-07-25 11:04:30 +0200
committerCarl Hetherington <cth@carlh.net>2023-07-31 00:07:54 +0200
commit00948a5f283ba60b53632749f8d5684c0f3236cd (patch)
tree0510aa6f23e490307643d8703f81421c5dc27d29 /src/lib/writer.cc
parentee0a4116a5526f0d6ae8fa763519b7bedd2dcce6 (diff)
Write 8 or 16 audio channels to SMPTE DCP MXFs, as appropriate (#2443).channels-again2
Diffstat (limited to 'src/lib/writer.cc')
-rw-r--r--src/lib/writer.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 71e9d579d..573e9da26 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -653,9 +653,12 @@ Writer::finish (boost::filesystem::path output_dcp)
field = dcp::MCASoundField::FIVE_POINT_ONE;
}
- dcp::MainSoundConfiguration msc(field, MAX_DCP_AUDIO_CHANNELS);
+ auto const audio_channels = audio_channels_to_write_to_mxf(film());
+ dcp::MainSoundConfiguration msc(field, audio_channels);
for (auto i: film()->mapped_audio_channels()) {
- msc.set_mapping(i, static_cast<dcp::Channel>(i));
+ if (i < audio_channels) {
+ msc.set_mapping(i, static_cast<dcp::Channel>(i));
+ }
}
cpl->set_main_sound_configuration(msc);