diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-03-28 01:21:28 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-03-28 01:21:28 +0100 |
| commit | 034d7176177043dc4cb4518ae6a946efe401b809 (patch) | |
| tree | ae7187d3d5751b3d23c300118aeaf70e8b163d49 /src/lib/dcp_content.cc | |
| parent | 66b8fe87f90e812672d213387fe08d734464ac9f (diff) | |
Copy audio language when setting up a project from a DCP (#3009).
Diffstat (limited to 'src/lib/dcp_content.cc')
| -rw-r--r-- | src/lib/dcp_content.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index 32b97b06f..885cbad93 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -168,6 +168,9 @@ DCPContent::DCPContent(cxml::ConstNodePtr node, boost::optional<boost::filesyste } _active_audio_channels = node->optional_number_child<int>("ActiveAudioChannels"); + if (auto lang = node->optional_string_child("AudioLanguage")) { + _audio_language = dcp::LanguageTag(*lang); + } for (auto non_zero: node->node_children("HasNonZeroEntryPoint")) { try { @@ -273,6 +276,7 @@ DCPContent::examine(shared_ptr<const Film> film, shared_ptr<Job> job, bool toler as->set_mapping (m); _active_audio_channels = examiner->active_audio_channels(); + _audio_language = examiner->audio_language(); } if (examiner->has_atmos()) { @@ -458,6 +462,10 @@ DCPContent::as_xml(xmlpp::Element* element, bool with_paths, PathBehaviour path_ cxml::add_text_child(element, "ActiveAudioChannels", fmt::to_string(*_active_audio_channels)); } + if (_audio_language) { + cxml::add_text_child(element, "AudioLanguage", _audio_language->as_string()); + } + for (auto i = 0; i < static_cast<int>(TextType::COUNT); ++i) { if (_has_non_zero_entry_point[i]) { auto has = cxml::add_child(element, "HasNonZeroEntryPoint"); |
