summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/reel_writer.cc6
-rw-r--r--src/lib/subtitle_encoder.cc6
-rw-r--r--test/closed_caption_test.cc12
m---------test/data0
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