summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-04-05 22:05:12 +0200
committerCarl Hetherington <cth@carlh.net>2023-04-06 21:18:23 +0200
commit08c2f6d80873f41c063c71588e781c9e6c3179e9 (patch)
tree52652f484ce4e69fd2bfdb4c648b2d127e7008f8
parent577602f032c0a129612efc8015f846f4bf6e64c9 (diff)
Write MainSoundConfiguration tags with hyphens for unused channels (#2501).
-rw-r--r--cscript2
-rw-r--r--src/lib/writer.cc9
-rw-r--r--src/wx/verify_dcp_dialog.cc6
-rw-r--r--wscript2
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<int>(i) < film()->audio_channels()) {
- msc.set_mapping (i, static_cast<dcp::Channel>(i));
- }
+ msc.set_mapping(i, static_cast<dcp::Channel>(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<VerifyDCPJob> job
case dcp::VerificationNote::Code::INVALID_SUBTITLE_ISSUE_DATE:
add(i, _("<IssueDate> 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, _("<MainSoundConfiguration> 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]