summaryrefslogtreecommitdiff
path: root/test/silence_padding_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-03-16 23:03:08 +0100
committerCarl Hetherington <cth@carlh.net>2023-03-29 17:43:07 +0200
commitbb1c1b89260cf36c621f7f2b471eb23f2ff15b0c (patch)
treef344309fa1bd5cf065ff068ce91cdb0b2af11f5c /test/silence_padding_test.cc
parentfbf2c165255989d189bd541fd9f6519c7249d1d7 (diff)
Always make 16-channel MXFs.
Diffstat (limited to 'test/silence_padding_test.cc')
-rw-r--r--test/silence_padding_test.cc23
1 files changed, 20 insertions, 3 deletions
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<string> (channels);
auto film = new_test_film2 (
@@ -57,8 +57,16 @@ test_silence_padding (int channels)
make_shared<FFmpegContent>("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<dcp::VerificationNote::Code> 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);
}