diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-09 00:03:35 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-04-09 00:03:35 +0200 |
| commit | 4e9a15d558ecca660eb74f54b693d1e4a3aa7381 (patch) | |
| tree | 45dd4160839ca9b40b866b5908736b7b7448c690 /src/lib/dcp_content.cc | |
| parent | 37a6d1a768debea28c24174503d85903f7f90aa5 (diff) | |
Extract audio/subtitle language from imported DCPs.
Diffstat (limited to 'src/lib/dcp_content.cc')
| -rw-r--r-- | src/lib/dcp_content.cc | 20 |
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); } { |
