X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Freels_test.cc;h=d4a783f91a72a30acd2e08b5ec8385f2d4d5995e;hb=6ae94ebba5f714a697167066f69a8ce31f3db360;hp=8dbfcd5ba93c8cc4bad89546b2b458d48888defb;hpb=b1e22dff981fb86ae04b12bb5a064e61030793a8;p=dcpomatic.git diff --git a/test/reels_test.cc b/test/reels_test.cc index 8dbfcd5ba..d4a783f91 100644 --- a/test/reels_test.cc +++ b/test/reels_test.cc @@ -110,21 +110,21 @@ BOOST_AUTO_TEST_CASE (reels_test2) film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST")); { - shared_ptr c (new ImageContent("test/data/flat_red.png")); + auto c = make_shared("test/data/flat_red.png"); film->examine_and_add_content (c); BOOST_REQUIRE (!wait_for_jobs()); c->video->set_length (24); } { - shared_ptr c (new ImageContent("test/data/flat_green.png")); + auto c = make_shared("test/data/flat_green.png"); film->examine_and_add_content (c); BOOST_REQUIRE (!wait_for_jobs()); c->video->set_length (24); } { - shared_ptr c (new ImageContent("test/data/flat_blue.png")); + auto c = make_shared("test/data/flat_blue.png"); film->examine_and_add_content (c); BOOST_REQUIRE (!wait_for_jobs()); c->video->set_length (24); @@ -134,6 +134,8 @@ BOOST_AUTO_TEST_CASE (reels_test2) BOOST_CHECK_EQUAL (film->reels().size(), 3U); BOOST_REQUIRE (!wait_for_jobs()); + film->set_audio_channels(16); + make_and_verify_dcp (film); check_dcp ("test/data/reels_test2", film->dir (film->dcp_name())); @@ -141,6 +143,7 @@ BOOST_AUTO_TEST_CASE (reels_test2) auto c = make_shared(film->dir(film->dcp_name())); auto film2 = new_test_film2 ("reels_test2b", {c}); film2->set_reel_type (ReelType::BY_VIDEO_CONTENT); + film2->set_audio_channels(16); auto r = film2->reels (); BOOST_CHECK_EQUAL (r.size(), 3U); @@ -157,7 +160,7 @@ BOOST_AUTO_TEST_CASE (reels_test2) c->set_reference_video (true); c->set_reference_audio (true); - make_and_verify_dcp (film2, {dcp::VerificationNote::Code::EXTERNAL_ASSET}); + make_and_verify_dcp(film2, {dcp::VerificationNote::Code::EXTERNAL_ASSET}, false); } @@ -200,7 +203,7 @@ BOOST_AUTO_TEST_CASE (reels_test4) /* 4 piece of 1s-long content */ shared_ptr content[4]; for (int i = 0; i < 4; ++i) { - content[i].reset (new ImageContent("test/data/flat_green.png")); + content[i] = make_shared("test/data/flat_green.png"); film->examine_and_add_content (content[i]); BOOST_REQUIRE (!wait_for_jobs()); content[i]->video->set_length (24); @@ -210,6 +213,8 @@ BOOST_AUTO_TEST_CASE (reels_test4) film->examine_and_add_content (subs); BOOST_REQUIRE (!wait_for_jobs()); + film->set_audio_channels(16); + auto reels = film->reels(); BOOST_REQUIRE_EQUAL (reels.size(), 4U); auto i = reels.begin (); @@ -258,7 +263,7 @@ BOOST_AUTO_TEST_CASE (reels_test5) } { - dcp->set_trim_start (ContentTime::from_seconds (0.5)); + dcp->set_trim_start(film, ContentTime::from_seconds(0.5)); auto p = dcp->reels (film); BOOST_REQUIRE_EQUAL (p.size(), 4U); auto i = p.begin(); @@ -280,7 +285,7 @@ BOOST_AUTO_TEST_CASE (reels_test5) } { - dcp->set_trim_start (ContentTime::from_seconds (1.5)); + dcp->set_trim_start(film, ContentTime::from_seconds(1.5)); auto p = dcp->reels (film); BOOST_REQUIRE_EQUAL (p.size(), 3U); auto i = p.begin(); @@ -301,12 +306,16 @@ BOOST_AUTO_TEST_CASE (reels_test6) film->set_reel_type (ReelType::BY_LENGTH); /* This is just over 2.5s at 100Mbit/s; should correspond to 60 frames */ film->set_reel_length (31253154); + /* dcp_inspect and clairmeta both give errors about reel <1s in length */ make_and_verify_dcp ( film, { dcp::VerificationNote::Code::INVALID_INTRINSIC_DURATION, dcp::VerificationNote::Code::INVALID_DURATION, - }); + }, + false, + false + ); } @@ -398,7 +407,8 @@ BOOST_AUTO_TEST_CASE (reels_test10) dcp::VerificationNote::Code::MISSING_SUBTITLE_LANGUAGE, dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME, dcp::VerificationNote::Code::INVALID_SUBTITLE_DURATION, - }); + }, + false); } @@ -411,7 +421,7 @@ BOOST_AUTO_TEST_CASE (reels_test11) auto film = new_test_film2 ("reels_test11", {A}); film->set_video_frame_rate (24); A->video->set_length (240); - A->set_video_frame_rate (24); + A->set_video_frame_rate(film, 24); A->set_position (film, DCPTime::from_seconds(1)); film->set_reel_type (ReelType::BY_VIDEO_CONTENT); make_and_verify_dcp (film); @@ -440,11 +450,11 @@ BOOST_AUTO_TEST_CASE (reels_test12) film->set_sequence (false); A->video->set_length (240); - A->set_video_frame_rate (24); + A->set_video_frame_rate(film, 24); A->set_position (film, DCPTime::from_seconds(1)); B->video->set_length (120); - B->set_video_frame_rate (24); + B->set_video_frame_rate(film, 24); B->set_position (film, DCPTime::from_seconds(14)); auto r = film->reels (); @@ -498,7 +508,7 @@ BOOST_AUTO_TEST_CASE (reels_should_not_be_short1) make_and_verify_dcp (film); vector dirs = { film->dir(film->dcp_name(false)) }; - auto notes = dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd()); + auto notes = dcp::verify(dirs, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd()); dump_notes (notes); BOOST_REQUIRE (notes.empty()); } @@ -523,7 +533,7 @@ BOOST_AUTO_TEST_CASE (reels_should_not_be_short2) make_and_verify_dcp (film); vector dirs = { film->dir(film->dcp_name(false)) }; - auto const notes = dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd()); + auto const notes = dcp::verify(dirs, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd()); dump_notes (notes); BOOST_REQUIRE (notes.empty()); } @@ -544,7 +554,7 @@ BOOST_AUTO_TEST_CASE (reels_should_not_be_short3) make_and_verify_dcp (film); - auto const notes = dcp::verify({}, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd()); + auto const notes = dcp::verify({}, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd()); dump_notes (notes); BOOST_REQUIRE (notes.empty()); } @@ -574,7 +584,7 @@ BOOST_AUTO_TEST_CASE (reels_should_not_be_short4) BOOST_REQUIRE (!wait_for_jobs()); vector dirs = { film->dir(film->dcp_name(false)) }; - auto const notes = dcp::verify(dirs, boost::bind(&no_op), boost::bind(&no_op), TestPaths::xsd()); + auto const notes = dcp::verify(dirs, {}, boost::bind(&no_op), boost::bind(&no_op), {}, TestPaths::xsd()); dump_notes (notes); BOOST_REQUIRE (notes.empty()); } @@ -617,13 +627,13 @@ BOOST_AUTO_TEST_CASE (repeated_dcp_into_reels) for (int i = 0; i < 4; ++i) { original_dcp[i]->set_position(film2, DCPTime::from_frames(total_frames * i / 4, frame_rate)); - original_dcp[i]->set_trim_start(ContentTime::from_frames(total_frames * i / 4, frame_rate)); + original_dcp[i]->set_trim_start(film2, ContentTime::from_frames(total_frames * i / 4, frame_rate)); original_dcp[i]->set_trim_end (ContentTime::from_frames(total_frames * (4 - i - 1) / 4, frame_rate)); original_dcp[i]->set_reference_video(true); original_dcp[i]->set_reference_audio(true); } - make_and_verify_dcp(film2, { dcp::VerificationNote::Code::EXTERNAL_ASSET }); + make_and_verify_dcp(film2, { dcp::VerificationNote::Code::EXTERNAL_ASSET }, false); dcp::DCP check1(film1->dir(film1->dcp_name())); check1.read();