Add -ISDCF to ISDCF name as required (#2416).
authorCarl Hetherington <cth@carlh.net>
Tue, 17 Jan 2023 23:53:17 +0000 (00:53 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 17 Jan 2023 23:53:17 +0000 (00:53 +0100)
src/lib/film.cc
test/isdcf_name_test.cc

index 0ce56a4362821a7316ee91e38a089c9d8c995c86..e0aa08a77c141034aae6cf24b9639e4f278c37a6 100644 (file)
@@ -1002,6 +1002,10 @@ Film::isdcf_name (bool if_created_now) const
                isdcf_name += "-VI";
        }
 
+       if (find_if(content_list.begin(), content_list.end(), [](shared_ptr<Content> c) { return static_cast<bool>(c->atmos); }) != content_list.end()) {
+               isdcf_name += "-ATMOS";
+       }
+
        isdcf_name += "_" + resolution_to_string (_resolution);
 
        if (_studio && _studio->length() >= 2) {
index b1561289581e9f35a216a4e148f05c99d6b85e3d..5365dc08a9b7628872cb088c71cc0616b132d46a 100644 (file)
@@ -236,6 +236,15 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test)
        /* Check that nothing is added for non-existant ratings */
        film->set_ratings({});
        BOOST_CHECK_EQUAL (film->isdcf_name(false), "LikeShouting_XSN-2_F-133_QBP-fr_US_71-HI-VI_4K_DI_20140704_PPF_SMPTE_OV");
+}
+
+
+BOOST_AUTO_TEST_CASE(isdcf_name_with_atmos)
+{
+       auto content = content_factory(TestPaths::private_data() / "atmos_asset.mxf");
+       auto film = new_test_film2("isdcf_name_with_atmos", content);
+       film->set_name("Hello");
 
+       BOOST_CHECK_EQUAL(film->isdcf_name(false), "Hello_TST-1_F_XX-XX_MOS-ATMOS_2K_20230118_SMPTE_OV");
 }