X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Fthreed_test.cc;h=87ddd25aec252b75f64a333b4725a08f513f72cd;hp=4b6b727d411e295d7248abbd12b81c17c9748cfe;hb=86515d34200fa2a387e48b117eed9b02cabde30d;hpb=d27598b1dcddd84fc0063dd1b67deabe164dc310 diff --git a/test/threed_test.cc b/test/threed_test.cc index 4b6b727d4..87ddd25ae 100644 --- a/test/threed_test.cc +++ b/test/threed_test.cc @@ -96,7 +96,7 @@ BOOST_AUTO_TEST_CASE (threed_test2) */ BOOST_AUTO_TEST_CASE (threed_test3) { - shared_ptr film = new_test_film2 ("threed_test3"); + auto film = new_test_film2 ("threed_test3"); auto L = make_shared("test/data/test.mp4"); film->examine_and_add_content (L); auto R = make_shared("test/data/test.mp4"); @@ -227,7 +227,7 @@ BOOST_AUTO_TEST_CASE (threed_test7) */ BOOST_AUTO_TEST_CASE (threed_test_separate_files_slightly_different_lengths) { - shared_ptr film = new_test_film2 ("threed_test3"); + auto film = new_test_film2("threed_test3"); auto L = make_shared("test/data/test.mp4"); film->examine_and_add_content (L); auto R = make_shared("test/data/test.mp4"); @@ -248,7 +248,7 @@ BOOST_AUTO_TEST_CASE (threed_test_separate_files_slightly_different_lengths) */ BOOST_AUTO_TEST_CASE (threed_test_separate_files_very_different_lengths) { - shared_ptr film = new_test_film2 ("threed_test3"); + auto film = new_test_film2("threed_test3"); auto L = make_shared("test/data/test.mp4"); film->examine_and_add_content (L); auto R = make_shared("test/data/test.mp4"); @@ -339,3 +339,22 @@ BOOST_AUTO_TEST_CASE(threed_passthrough_test, * boost::unit_test::depends_on("th } } +/* #2476 was a writer error when 3D picture padding is needed */ +BOOST_AUTO_TEST_CASE(threed_test_when_padding_needed) +{ + auto left = content_factory("test/data/flat_red.png").front(); + auto right = content_factory("test/data/flat_red.png").front(); + auto sound = content_factory("test/data/sine_440.wav").front(); + auto film = new_test_film2("threed_test_when_padding_needed", { left, right, sound }); + + left->video->set_frame_type(VideoFrameType::THREE_D_LEFT); + left->set_position(film, dcpomatic::DCPTime()); + left->video->set_length(23); + right->video->set_frame_type(VideoFrameType::THREE_D_RIGHT); + right->set_position(film, dcpomatic::DCPTime()); + right->video->set_frame_type(VideoFrameType::THREE_D_RIGHT); + right->video->set_length(23); + film->set_three_d(true); + + make_and_verify_dcp(film); +}