X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fsilence_padding_test.cc;h=59614c6c0f0b39e7cc7e68d5eb19aa81a119df99;hb=a66c4f957d50e93e01912810876fbdd883ac5d6a;hp=45908bba8cd2a90a264cd7a08d07f018b3f4c2ba;hpb=fbf2c165255989d189bd541fd9f6519c7249d1d7;p=dcpomatic.git diff --git a/test/silence_padding_test.cc b/test/silence_padding_test.cc index 45908bba8..59614c6c0 100644 --- a/test/silence_padding_test.cc +++ b/test/silence_padding_test.cc @@ -47,7 +47,7 @@ using boost::lexical_cast; static void -test_silence_padding (int channels) +test_silence_padding(int channels, dcp::Standard standard) { string const film_name = "silence_padding_test_" + lexical_cast (channels); auto film = new_test_film2 ( @@ -57,8 +57,16 @@ test_silence_padding (int channels) make_shared("test/data/staircase.wav") }); + if (standard == dcp::Standard::INTEROP) { + film->set_interop(true); + } film->set_audio_channels (channels); - make_and_verify_dcp (film); + + std::vector codes; + if (standard == dcp::Standard::INTEROP) { + codes.push_back(dcp::VerificationNote::Code::INVALID_STANDARD); + } + make_and_verify_dcp(film, codes); boost::filesystem::path path = "build/test"; path /= film_name; @@ -75,6 +83,13 @@ test_silence_padding (int channels) /* DCP sound asset frame */ int frame = 0; + auto const asset_channels = sound_asset->asset()->channels(); + if (standard == dcp::Standard::SMPTE) { + DCP_ASSERT(asset_channels == MAX_DCP_AUDIO_CHANNELS) + } else { + DCP_ASSERT(asset_channels == channels); + } + while (n < sound_asset->asset()->intrinsic_duration()) { auto sound_frame = sound_asset->asset()->start_read()->get_frame(frame++); uint8_t const * d = sound_frame->data (); @@ -101,8 +116,10 @@ test_silence_padding (int channels) BOOST_AUTO_TEST_CASE (silence_padding_test) { for (int i = 1; i < MAX_DCP_AUDIO_CHANNELS; ++i) { - test_silence_padding (i); + test_silence_padding(i, dcp::Standard::INTEROP); } + + test_silence_padding(MAX_DCP_AUDIO_CHANNELS, dcp::Standard::SMPTE); }