X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Frepeat_frame_test.cc;h=b43312e59bbbc9c208eea3d97107b2071ed3296a;hp=7eac4e1a80a518b08f964d97c71d386ef7e9de9f;hb=6d686ea45f5cd01a0d11f92a903ac77779ad8562;hpb=2d9deb25659ef6007fb800ae024917dfca04f9ca diff --git a/test/repeat_frame_test.cc b/test/repeat_frame_test.cc index 7eac4e1a8..b43312e59 100644 --- a/test/repeat_frame_test.cc +++ b/test/repeat_frame_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2016 Carl Hetherington + Copyright (C) 2013-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,13 +18,16 @@ */ + /** @file test/repeat_frame_test.cc * @brief Test the repeat of frames by the player when putting a 24fps * source into a 48fps DCP. + * @ingroup feature * * @see test/skip_frame_test.cc */ + #include #include "test.h" #include "lib/film.h" @@ -33,27 +36,21 @@ #include "lib/dcp_content_type.h" #include "lib/video_content.h" -using boost::shared_ptr; -BOOST_AUTO_TEST_CASE (repeat_frame_test) -{ - shared_ptr film = new_test_film ("repeat_frame_test"); - film->set_name ("repeat_frame_test"); - film->set_container (Ratio::from_id ("185")); - film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST")); - shared_ptr c (new FFmpegContent (film, "test/data/red_24.mp4")); - film->examine_and_add_content (c); +using std::make_shared; +using std::shared_ptr; - wait_for_jobs (); - c->video->set_scale (VideoContentScale (Ratio::from_id ("185"))); +BOOST_AUTO_TEST_CASE (repeat_frame_test) +{ + auto c = make_shared("test/data/red_24.mp4"); + auto film = new_test_film2 ("repeat_frame_test", {c}); + film->set_interop (false); + c->video->set_custom_ratio (1.85); film->set_video_frame_rate (48); - film->make_dcp (); - wait_for_jobs (); + make_and_verify_dcp (film); - /* Should be 31 frames of red; the last one gets replaced with black rather - than repeated. - */ + /* Should be 32 frames of red followed by 16 frames of black to fill the DCP up to 1 second */ check_dcp ("test/data/repeat_frame_test", film->dir (film->dcp_name ())); }