diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-04-04 23:09:29 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-04-04 23:37:44 +0200 |
| commit | ef41b0c235eaa9f02203fd8438873e951bf3de07 (patch) | |
| tree | 0511d4f08fee449fe12e461be349071dcce701ba /src/verify.cc | |
| parent | 3d7d70e0cf79cf5bb68c24d830d4e08e22ca4308 (diff) | |
Add check for mismatch between sound asset and MainSoundConfiguration.v1.8.66
Diffstat (limited to 'src/verify.cc')
| -rw-r--r-- | src/verify.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/verify.cc b/src/verify.cc index 1cab0423..8b2b11d3 100644 --- a/src/verify.cc +++ b/src/verify.cc @@ -1571,6 +1571,16 @@ verify_cpl( verify_text_details(cpl->reels(), notes); if (dcp->standard() == Standard::SMPTE) { + if (auto msc = cpl->main_sound_configuration()) { + if (state.audio_channels && msc->channels() != *state.audio_channels) { + notes.push_back({ + VerificationNote::Type::ERROR, + VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION, + String::compose("MainSoundConfiguration has %1 channels but sound assets have %2", msc->channels(), *state.audio_channels), + cpl->file().get() + }); + } + } if (have_main_subtitle && have_no_main_subtitle) { notes.push_back({VerificationNote::Type::BV21_ERROR, VerificationNote::Code::MISSING_MAIN_SUBTITLE_FROM_SOME_REELS}); @@ -1996,6 +2006,8 @@ dcp::note_to_string (VerificationNote note) return String::compose("<IssueDate> has an invalid value: %1", note.note().get()); case VerificationNote::Code::MISMATCHED_SOUND_CHANNEL_COUNTS: return String::compose("The sound assets do not all have the same channel count; the first to differ is %1", note.file()->filename()); + case VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION: + return String::compose("<MainSoundConfiguration> has an invalid value: %1", note.note().get()); } return ""; |
