Make sure 2-channel MXFs don't get extra channel descriptors (#2631).
authorCarl Hetherington <cth@carlh.net>
Mon, 16 Oct 2023 21:31:46 +0000 (23:31 +0200)
committerCarl Hetherington <cth@carlh.net>
Tue, 17 Oct 2023 18:38:24 +0000 (20:38 +0200)
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
test/mca_subdescriptors_test.cc

diff --git a/cscript b/cscript
index 5edc3b8c45bf258a3e6e19fc5bc90a6fe9f1ff7f..be61c533056554e663eaabf1a0cb9465090835ae 100644 (file)
--- 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'))
index d3702b9ccd405ce32e2ec7fab4dfe873a23af1ee..e34a909f44827274ccd74f365e5ab717b2337120 100644 (file)
@@ -72,12 +72,26 @@ test_descriptors(int mxf_channels, vector<dcp::Channel> 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");