From 08c2f6d80873f41c063c71588e781c9e6c3179e9 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 5 Apr 2023 22:05:12 +0200 Subject: [PATCH] Write MainSoundConfiguration tags with hyphens for unused channels (#2501). --- cscript | 2 +- src/lib/writer.cc | 9 ++++----- src/wx/verify_dcp_dialog.cc | 6 ++++++ wscript | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/cscript b/cscript index ef7448889..939579fba 100644 --- a/cscript +++ b/cscript @@ -477,7 +477,7 @@ def dependencies(target, options): # Use distro-provided FFmpeg on Arch deps = [] - deps.append(('libdcp', 'v1.8.65')) + deps.append(('libdcp', 'v1.8.66')) deps.append(('libsub', 'v1.6.44')) deps.append(('leqm-nrt', '4560105773c66ac9216b62313a24093bb0a027ae')) deps.append(('rtaudio', 'f619b76')) diff --git a/src/lib/writer.cc b/src/lib/writer.cc index b0bd4aaff..53b1eec5e 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -23,6 +23,7 @@ #include "audio_mapping.h" #include "compose.hpp" #include "config.h" +#include "constants.h" #include "cross.h" #include "dcp_content_type.h" #include "dcp_video.h" @@ -651,14 +652,12 @@ Writer::finish (boost::filesystem::path output_dcp) field = dcp::MCASoundField::SEVEN_POINT_ONE; } - dcp::MainSoundConfiguration msc (field, film()->audio_channels()); + dcp::MainSoundConfiguration msc(field, MAX_DCP_AUDIO_CHANNELS); for (auto i: film()->mapped_audio_channels()) { - if (static_cast(i) < film()->audio_channels()) { - msc.set_mapping (i, static_cast(i)); - } + msc.set_mapping(i, static_cast(i)); } - cpl->set_main_sound_configuration (msc.to_string()); + cpl->set_main_sound_configuration(msc); cpl->set_main_sound_sample_rate (film()->audio_frame_rate()); cpl->set_main_picture_stored_area (film()->frame_size()); diff --git a/src/wx/verify_dcp_dialog.cc b/src/wx/verify_dcp_dialog.cc index e29789950..d88a030bb 100644 --- a/src/wx/verify_dcp_dialog.cc +++ b/src/wx/verify_dcp_dialog.cc @@ -395,6 +395,12 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr job case dcp::VerificationNote::Code::INVALID_SUBTITLE_ISSUE_DATE: add(i, _(" has an invalid value %n")); break; + case dcp::VerificationNote::Code::MISMATCHED_SOUND_CHANNEL_COUNTS: + add(i, _("Sound assets do not all have the same channel count.")); + break; + case dcp::VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION: + add(i, _(" describes incorrect number of channels (%n)")); + break; } } diff --git a/wscript b/wscript index c3b8bc1f4..bbfacfd0d 100644 --- a/wscript +++ b/wscript @@ -35,7 +35,7 @@ except ImportError: from waflib import Logs, Context APPNAME = 'dcpomatic' -libdcp_version = '1.8.55' +libdcp_version = '1.8.66' libsub_version = '1.6.42' this_version = subprocess.Popen(shlex.split('git tag -l --points-at HEAD'), stdout=subprocess.PIPE).communicate()[0] -- 2.30.2