diff options
| -rw-r--r-- | src/lib/reel_writer.cc | 6 | ||||
| -rw-r--r-- | src/lib/subtitle_encoder.cc | 6 | ||||
| -rw-r--r-- | test/closed_caption_test.cc | 12 | ||||
| m--------- | test/data | 0 |
4 files changed, 14 insertions, 10 deletions
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index 16b34d785..3c516f54c 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -608,7 +608,9 @@ ReelWriter::create_reel (list<ReferencedReelAsset> const & refs, list<shared_ptr ); if (a) { a->set_annotation_text (i->first.name); - a->set_language (dcp::LanguageTag(i->first.language)); + if (!i->first.language.empty()) { + a->set_language (dcp::LanguageTag(i->first.language)); + } } } @@ -697,7 +699,7 @@ ReelWriter::write (PlayerText subs, TextType type, optional<DCPTextTrack> track, s->set_movie_title (_film->name ()); if (type == TEXT_OPEN_SUBTITLE) { s->set_language (lang.empty() ? "Unknown" : lang.front().to_string()); - } else { + } else if (!track->language.empty()) { s->set_language (track->language); } s->set_reel_number (raw_convert<string> (_reel_index + 1)); diff --git a/src/lib/subtitle_encoder.cc b/src/lib/subtitle_encoder.cc index 61c4dc3ae..1ef7fcd94 100644 --- a/src/lib/subtitle_encoder.cc +++ b/src/lib/subtitle_encoder.cc @@ -134,7 +134,9 @@ SubtitleEncoder::text (PlayerText subs, TextType type, optional<DCPTextTrack> tr if (_film->interop ()) { shared_ptr<dcp::InteropSubtitleAsset> s (new dcp::InteropSubtitleAsset()); s->set_movie_title (_film->name()); - s->set_language (lang.empty() ? "Unknown" : lang.front().to_string()); + if (!lang.empty()) { + s->set_language (lang.front().to_string()); + } s->set_reel_number (raw_convert<string>(_reel_index + 1)); _assets[_reel_index].first = s; } else { @@ -142,7 +144,7 @@ SubtitleEncoder::text (PlayerText subs, TextType type, optional<DCPTextTrack> tr s->set_content_title_text (_film->name()); if (!lang.empty()) { s->set_language (lang.front()); - } else { + } else if (!track->language.empty()) { s->set_language (dcp::LanguageTag(track->language)); } s->set_edit_rate (dcp::Fraction (_film->video_frame_rate(), 1)); diff --git a/test/closed_caption_test.cc b/test/closed_caption_test.cc index 283ce6b93..86666a44c 100644 --- a/test/closed_caption_test.cc +++ b/test/closed_caption_test.cc @@ -69,11 +69,11 @@ BOOST_AUTO_TEST_CASE (closed_caption_test2) BOOST_REQUIRE (!wait_for_jobs ()); content1->only_text()->set_type (TEXT_CLOSED_CAPTION); - content1->only_text()->set_dcp_track (DCPTextTrack("First track", "French")); + content1->only_text()->set_dcp_track (DCPTextTrack("First track", "fr-FR")); content2->only_text()->set_type (TEXT_CLOSED_CAPTION); - content2->only_text()->set_dcp_track (DCPTextTrack("Second track", "German")); + content2->only_text()->set_dcp_track (DCPTextTrack("Second track", "de-DE")); content3->only_text()->set_type (TEXT_CLOSED_CAPTION); - content3->only_text()->set_dcp_track (DCPTextTrack("Third track", "Italian")); + content3->only_text()->set_dcp_track (DCPTextTrack("Third track", "it-IT")); film->make_dcp (); BOOST_REQUIRE (!wait_for_jobs ()); @@ -89,13 +89,13 @@ BOOST_AUTO_TEST_CASE (closed_caption_test2) list<shared_ptr<dcp::ReelClosedCaptionAsset> >::const_iterator i = ccaps.begin (); BOOST_CHECK_EQUAL ((*i)->annotation_text(), "First track"); BOOST_REQUIRE (static_cast<bool>((*i)->language())); - BOOST_CHECK_EQUAL ((*i)->language().get(), "French"); + BOOST_CHECK_EQUAL ((*i)->language().get(), "fr-FR"); ++i; BOOST_CHECK_EQUAL ((*i)->annotation_text(), "Second track"); BOOST_REQUIRE (static_cast<bool>((*i)->language())); - BOOST_CHECK_EQUAL ((*i)->language().get(), "German"); + BOOST_CHECK_EQUAL ((*i)->language().get(), "de-DE"); ++i; BOOST_CHECK_EQUAL ((*i)->annotation_text(), "Third track"); BOOST_REQUIRE (static_cast<bool>((*i)->language())); - BOOST_CHECK_EQUAL ((*i)->language().get(), "Italian"); + BOOST_CHECK_EQUAL ((*i)->language().get(), "it-IT"); } diff --git a/test/data b/test/data -Subproject 26e2bdec46705b5a0b5967ddc52af38d2697278 +Subproject d2e0ea48f4cb2d9571d450aabd78c3d2699ecb7 |
