From 0a43629951e517d95ec791a361e7c7fa9c56d6cb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 16 Oct 2023 23:31:46 +0200 Subject: [PATCH] Make sure 2-channel MXFs don't get extra channel descriptors (#2631). With all the EasyDCP tests done in bug #2487 we didn't look at stereo MXFs as it appeared fairly early on that EasyDCP would reject them all. In #2631 it's pointed out that it seems to make no sense to have descriptors for channels which aren't there. I've still got no docs for any of this, but let's try fixing that. --- cscript | 2 +- test/mca_subdescriptors_test.cc | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cscript b/cscript index 5edc3b8c4..be61c5330 100644 --- a/cscript +++ b/cscript @@ -508,7 +508,7 @@ def dependencies(target, options): # Use distro-provided FFmpeg on Arch deps = [] - deps.append(('libdcp', 'v1.8.85')) + deps.append(('libdcp', 'v1.8.86')) deps.append(('libsub', 'v1.6.44')) deps.append(('leqm-nrt', '30dcaea1373ac62fba050e02ce5b0c1085797a23')) deps.append(('rtaudio', 'f619b76')) diff --git a/test/mca_subdescriptors_test.cc b/test/mca_subdescriptors_test.cc index d3702b9cc..e34a909f4 100644 --- a/test/mca_subdescriptors_test.cc +++ b/test/mca_subdescriptors_test.cc @@ -72,12 +72,26 @@ test_descriptors(int mxf_channels, vector active_channels, vector< } +/* This seems like an impossible case but let's check it anyway */ +BOOST_AUTO_TEST_CASE(mca_subdescriptors_written_correctly_mono_in_2_channel) +{ + test_descriptors(2, { dcp::Channel::CENTRE }, { "chL", "chR" }, "sg51"); +} + + BOOST_AUTO_TEST_CASE(mca_subdescriptors_written_correctly_mono_in_6_channel) { test_descriptors(6, { dcp::Channel::CENTRE }, { "chL", "chR", "chC", "chLFE", "chLs", "chRs" }, "sg51"); } +/* If we only have two channels in the MXF we shouldn't see any extra descriptors */ +BOOST_AUTO_TEST_CASE(mca_subdescriptors_written_correctly_stereo_in_2_channel) +{ + test_descriptors(2, { dcp::Channel::LEFT, dcp::Channel::RIGHT }, { "chL", "chR" }, "sg51"); +} + + BOOST_AUTO_TEST_CASE(mca_subdescriptors_written_correctly_stereo_in_6_channel) { test_descriptors(6, { dcp::Channel::LEFT, dcp::Channel::RIGHT }, { "chL", "chR", "chC", "chLFE", "chLs", "chRs" }, "sg51"); -- 2.30.2