diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-07-01 00:05:20 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-07-01 00:05:20 +0200 |
| commit | 5f3ba49300f3e3d5ac36a2ce33dadc6d1ffc049c (patch) | |
| tree | 86a35d066a0215884240133d7d2253b81f50cbec | |
| parent | 5e5a45917066e23be7ab8237c8dd63b21a69784e (diff) | |
Add another test.
| -rw-r--r-- | test/cpl_metadata_test.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/cpl_metadata_test.cc b/test/cpl_metadata_test.cc index b9c274f3c..b8346c663 100644 --- a/test/cpl_metadata_test.cc +++ b/test/cpl_metadata_test.cc @@ -74,3 +74,48 @@ BOOST_AUTO_TEST_CASE(main_sound_configuration_test_51_vi) BOOST_CHECK_EQUAL(msc->to_string(), "51/L,R,C,LFE,Ls,Rs,-,VIN,-,-,-,-,-,-,-,-"); } + +BOOST_AUTO_TEST_CASE(main_sound_configuration_test_71) +{ + auto picture = content_factory("test/data/flat_red.png")[0]; + auto L = content_factory("test/data/L.wav")[0]; + auto R = content_factory("test/data/R.wav")[0]; + auto C = content_factory("test/data/C.wav")[0]; + auto Lfe = content_factory("test/data/Lfe.wav")[0]; + auto Ls = content_factory("test/data/Ls.wav")[0]; + auto Rs = content_factory("test/data/Rs.wav")[0]; + auto BsL = content_factory("test/data/Ls.wav")[0]; + auto BsR = content_factory("test/data/Rs.wav")[0]; + auto VI = content_factory("test/data/sine_440.wav")[0]; + + auto film = new_test_film2("main_sound_configuration_test_51_vi", { picture, L, R, C, Lfe, Ls, Rs, BsL, BsR, VI }); + film->set_audio_channels(12); + + auto set_map = [](shared_ptr<Content> content, dcp::Channel channel) { + auto map = content->audio->mapping(); + map.set(0, channel, 1.0f); + content->audio->set_mapping(map); + }; + + set_map(L, dcp::Channel::LEFT); + set_map(R, dcp::Channel::RIGHT); + set_map(C, dcp::Channel::CENTRE); + set_map(Lfe, dcp::Channel::LFE); + set_map(Ls, dcp::Channel::LS); + set_map(Rs, dcp::Channel::RS); + set_map(BsL, dcp::Channel::BSL); + set_map(BsR, dcp::Channel::BSR); + set_map(VI, dcp::Channel::VI); + + make_and_verify_dcp(film); + + dcp::DCP dcp(film->dir(film->dcp_name())); + dcp.read(); + BOOST_REQUIRE_EQUAL(dcp.cpls().size(), 1U); + auto cpl = dcp.cpls()[0]; + + auto msc = cpl->main_sound_configuration(); + BOOST_REQUIRE(msc); + + BOOST_CHECK_EQUAL(msc->to_string(), "71/L,R,C,LFE,Lss,Rss,-,VIN,-,-,Lrs,Rrs,-,-,-,-"); +} |
