From: Carl Hetherington Date: Sat, 21 Nov 2020 01:31:12 +0000 (+0100) Subject: Subtitle language test updates. X-Git-Tag: v2.15.108~26 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=3ea24566e4591c0160379a6bee97c5e62b60a028 Subtitle language test updates. --- 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 const & refs, listset_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 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 (_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 tr if (_film->interop ()) { shared_ptr 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(_reel_index + 1)); _assets[_reel_index].first = s; } else { @@ -142,7 +144,7 @@ SubtitleEncoder::text (PlayerText subs, TextType type, optional 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 >::const_iterator i = ccaps.begin (); BOOST_CHECK_EQUAL ((*i)->annotation_text(), "First track"); BOOST_REQUIRE (static_cast((*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((*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((*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 index 26e2bdec4..d2e0ea48f 160000 --- a/test/data +++ b/test/data @@ -1 +1 @@ -Subproject commit 26e2bdec46705b5a0b5967ddc52af38d26972781 +Subproject commit d2e0ea48f4cb2d9571d450aabd78c3d2699ecb7d