);
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));
+ }
}
}
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));
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 {
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));
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 ());
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");
}