auto audio = content_factory("test/data/sine_440.wav").front();
film->examine_and_add_content (audio);
BOOST_REQUIRE (!wait_for_jobs());
- BOOST_REQUIRE (audio->audio);
- audio->audio->set_language(dcp::LanguageTag("en-US"));
+ film->set_audio_language(dcp::LanguageTag("en-US"));
film->set_content_versions({"1"});
film->set_release_territory(dcp::LanguageTag::RegionSubtag("GB"));
film->set_ratings({dcp::Rating("BBFC", "PG")});
BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilm_FTR-1_F_EN-XX_GB-PG_10_2K_ST_20140704_FAC_IOP_OV");
/* Check that specifying no audio language writes XX */
- audio->audio->set_language (boost::none);
+ film->set_audio_language (boost::none);
BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilm_FTR-1_F_XX-XX_GB-PG_10_2K_ST_20140704_FAC_IOP_OV");
/* Test a long name and some different data */
audio = content_factory("test/data/sine_440.wav").front();
film->examine_and_add_content (audio);
BOOST_REQUIRE (!wait_for_jobs());
- BOOST_REQUIRE (audio->audio);
- audio->audio->set_language (dcp::LanguageTag("de-DE"));
+ film->set_audio_language (dcp::LanguageTag("de-DE"));
film->set_interop (false);
BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilmWith_TLR-2_S_DE-fr_US-R_MOS_4K_DI_20140704_PPF_SMPTE_OV");
mapping.set (0, dcp::Channel::VI, 1.0);
sound->audio->set_mapping (mapping);
BOOST_CHECK_EQUAL (film->isdcf_name(false), "LikeShouting_XSN-2_F-133_DE-fr_US-R_71-HI-VI_4K_DI_20140704_PPF_SMPTE_OV");
+
+ /* Check that the proper codes are used, not just part of the language code; in this case, QBP instead of PT (#2235) */
+ film->set_audio_language(dcp::LanguageTag("pt-BR"));
+ BOOST_CHECK_EQUAL (film->isdcf_name(false), "LikeShouting_XSN-2_F-133_QBP-fr_US-R_71-HI-VI_4K_DI_20140704_PPF_SMPTE_OV");
}