summaryrefslogtreecommitdiff
path: root/src/lib/dcp_content.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-09 00:03:35 +0200
committerCarl Hetherington <cth@carlh.net>2021-04-09 00:03:35 +0200
commit4e9a15d558ecca660eb74f54b693d1e4a3aa7381 (patch)
tree45dd4160839ca9b40b866b5908736b7b7448c690 /src/lib/dcp_content.cc
parent37a6d1a768debea28c24174503d85903f7f90aa5 (diff)
Extract audio/subtitle language from imported DCPs.
Diffstat (limited to 'src/lib/dcp_content.cc')
-rw-r--r--src/lib/dcp_content.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index 42c371ee5..0da42502f 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -242,6 +242,7 @@ DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
boost::mutex::scoped_lock lm (_mutex);
audio = make_shared<AudioContent>(this);
}
+ audio->set_language (examiner->audio_language());
auto as = make_shared<AudioStream>(examiner->audio_frame_rate(), examiner->audio_length(), examiner->audio_channels());
audio->set_stream (as);
auto m = as->mapping ();
@@ -262,14 +263,17 @@ DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
}
list<shared_ptr<TextContent>> new_text;
- for (int i = 0; i < static_cast<int>(TextType::COUNT); ++i) {
- for (int j = 0; j < examiner->text_count(static_cast<TextType>(i)); ++j) {
- auto c = make_shared<TextContent>(this, static_cast<TextType>(i), static_cast<TextType>(i));
- if (i == static_cast<int>(TextType::CLOSED_CAPTION)) {
- c->set_dcp_track (examiner->dcp_text_track(j));
- }
- new_text.push_back (c);
- }
+
+ for (int i = 0; i < examiner->text_count(TextType::OPEN_SUBTITLE); ++i) {
+ auto c = make_shared<TextContent>(this, TextType::OPEN_SUBTITLE, TextType::OPEN_SUBTITLE);
+ c->set_language (examiner->open_subtitle_language());
+ new_text.push_back (c);
+ }
+
+ for (int i = 0; i < examiner->text_count(TextType::CLOSED_CAPTION); ++i) {
+ auto c = make_shared<TextContent>(this, TextType::CLOSED_CAPTION, TextType::CLOSED_CAPTION);
+ c->set_dcp_track (examiner->dcp_text_track(i));
+ new_text.push_back (c);
}
{