Emit no audio from DCPs if none is mapped
[dcpomatic.git] / test / content_test.cc
index 85862af82e32e0f44328d8a556d0d49d2d1d4c23..5ab714b47ad8e46a5363eef8fc939417853a4b32 100644 (file)
@@ -45,6 +45,7 @@ BOOST_AUTO_TEST_CASE (content_test1)
        film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR"));
        film->set_name ("content_test1");
        film->set_container (Ratio::from_id ("185"));
+       film->set_audio_channels(16);
 
        auto content = content_factory(TestPaths::private_data() / "demo_sound_bug.mkv")[0];
        film->examine_and_add_content (content);
@@ -150,6 +151,8 @@ BOOST_AUTO_TEST_CASE (content_test6)
                &cl
                );
 
+       film->set_audio_channels(16);
+
        make_and_verify_dcp (film);
        check_dcp (TestPaths::private_data() / "fha", film);
 
@@ -165,3 +168,12 @@ BOOST_AUTO_TEST_CASE (content_test7)
        content[0]->audio->set_delay(-1000);
        make_and_verify_dcp (film, { dcp::VerificationNote::Code::INVALID_PICTURE_FRAME_RATE_FOR_2K });
 }
+
+
+/** WAVs with markers (I think) can end up making audio packets with no channels and no frames (#2617) */
+BOOST_AUTO_TEST_CASE(wav_with_markers_zero_channels_test)
+{
+       auto content = content_factory(TestPaths::private_data() / "wav_with_markers.wav");
+       auto film = new_test_film2("wav_with_markers_zero_channels_test", content);
+       make_and_verify_dcp(film, { dcp::VerificationNote::Code::MISSING_CPL_METADATA });
+}