for (auto i: node->node_children("ContentVersion")) {
_content_versions.push_back (i->content());
}
+
+ _active_audio_channels = node->optional_number_child<int>("ActiveAudioChannels");
}
void
auto m = as->mapping ();
m.make_default (film ? film->audio_processor() : 0);
as->set_mapping (m);
+
+ _active_audio_channels = examiner->active_audio_channels();
}
if (examiner->has_atmos()) {
for (auto i: _content_versions) {
node->add_child("ContentVersion")->add_child_text(i);
}
+
+ if (_active_audio_channels) {
+ node->add_child("ActiveAudioChannels")->add_child_text(raw_convert<string>(*_active_audio_channels));
+ }
}
DCPTime
add_fonts_from_examiner(text.front(), examiner.fonts());
}
+
+int
+DCPContent::active_audio_channels() const
+{
+ return _active_audio_channels.get_value_or(
+ (audio && audio->stream()) ? audio->stream()->channels() : 0
+ );
+}
+