diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-01-15 21:49:39 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-01-24 00:00:21 +0100 |
| commit | 469b5c52512d16bf1dade0f010bb028816d640f5 (patch) | |
| tree | f4473bf21c41af50537d981f55f17f79fe1d3996 /src/lib/writer.cc | |
| parent | cc279961a2a9ffea67ed21378fef44c2e1bcb202 (diff) | |
Use MCASoundField::STEREO (20) for stereo DCPs.
Diffstat (limited to 'src/lib/writer.cc')
| -rw-r--r-- | src/lib/writer.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc index 2e732c280..f7665a7a7 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -657,14 +657,17 @@ Writer::finish (boost::filesystem::path output_dcp) cpl->set_sign_language_video_language (*film()->sign_language_video_language()); } - auto ac = film()->mapped_audio_channels(); - dcp::MCASoundField field = ( - find(ac.begin(), ac.end(), static_cast<int>(dcp::Channel::BSL)) != ac.end() || - find(ac.begin(), ac.end(), static_cast<int>(dcp::Channel::BSR)) != ac.end() - ) ? dcp::MCASoundField::SEVEN_POINT_ONE : dcp::MCASoundField::FIVE_POINT_ONE; + dcp::MCASoundField field; + if (film()->audio_channels() == 2) { + field = dcp::MCASoundField::STEREO; + } else if (film()->audio_channels() <= 6) { + field = dcp::MCASoundField::FIVE_POINT_ONE; + } else { + field = dcp::MCASoundField::SEVEN_POINT_ONE; + } dcp::MainSoundConfiguration msc (field, film()->audio_channels()); - for (auto i: ac) { + for (auto i: film()->mapped_audio_channels()) { if (static_cast<int>(i) < film()->audio_channels()) { msc.set_mapping (i, static_cast<dcp::Channel>(i)); } |
