Merge branch 'v2.15.x' of ssh://localhost:2222/home/carl/git/dcpomatic into v2.15.x
[dcpomatic.git] / test / player_test.cc
index 9d6641cb26ea5dfb04b0ff724164f178c2f2e359..a7e944cd4b0fbe57e62a414d7270d6eafc5c5068 100644 (file)
@@ -48,6 +48,7 @@ using std::pair;
 using boost::shared_ptr;
 using boost::bind;
 using boost::optional;
+using namespace dcpomatic;
 
 static shared_ptr<AudioBuffers> accumulated;
 
@@ -68,7 +69,7 @@ BOOST_AUTO_TEST_CASE (player_silence_padding_test)
        film->set_audio_channels (6);
 
        film->examine_and_add_content (c);
-       wait_for_jobs ();
+       BOOST_REQUIRE (!wait_for_jobs());
 
        accumulated.reset (new AudioBuffers (film->audio_channels(), 0));
 
@@ -99,7 +100,7 @@ BOOST_AUTO_TEST_CASE (player_black_fill_test)
 
        film->examine_and_add_content (contentA);
        film->examine_and_add_content (contentB);
-       wait_for_jobs ();
+       BOOST_REQUIRE (!wait_for_jobs());
 
        contentA->video->set_scale (VideoContentScale (Ratio::from_id ("185")));
        contentA->video->set_length (3);
@@ -110,7 +111,7 @@ BOOST_AUTO_TEST_CASE (player_black_fill_test)
 
        film->make_dcp ();
 
-       wait_for_jobs ();
+       BOOST_REQUIRE (!wait_for_jobs());
 
        boost::filesystem::path ref;
        ref = "test";
@@ -219,14 +220,14 @@ BOOST_AUTO_TEST_CASE (player_seek_test)
        for (int i = 0; i < 10; ++i) {
                DCPTime t = DCPTime::from_frames (i, 24);
                butler->seek (t, true);
-               pair<shared_ptr<PlayerVideo>, DCPTime> video = butler->get_video();
+               pair<shared_ptr<PlayerVideo>, DCPTime> video = butler->get_video(true, 0);
                BOOST_CHECK_EQUAL(video.second.get(), t.get());
                write_image(video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true), String::compose("build/test/player_seek_test_%1.png", i), "RGB");
-               /* This 0.011 is empirically chosen (hopefully) to accept changes in rendering between the reference and a test machine
+               /* This 0.055 is empirically chosen (hopefully) to accept changes in rendering between the reference and a test machine
                   (17.10 and 16.04 seem to anti-alias a little differently) but to reject gross errors e.g. missing fonts or missing
                   text altogether.
                */
-               check_image(String::compose("test/data/player_seek_test_%1.png", i), String::compose("build/test/player_seek_test_%1.png", i), 0.011);
+               check_image(String::compose("test/data/player_seek_test_%1.png", i), String::compose("build/test/player_seek_test_%1.png", i), 0.055);
        }
 }
 
@@ -252,10 +253,10 @@ BOOST_AUTO_TEST_CASE (player_seek_test2)
        for (int i = 0; i < 10; ++i) {
                DCPTime t = DCPTime::from_seconds(5) + DCPTime::from_frames (i, 24);
                butler->seek (t, true);
-               pair<shared_ptr<PlayerVideo>, DCPTime> video = butler->get_video();
+               pair<shared_ptr<PlayerVideo>, DCPTime> video = butler->get_video(true, 0);
                BOOST_CHECK_EQUAL(video.second.get(), t.get());
                write_image(video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true), String::compose("build/test/player_seek_test2_%1.png", i), "RGB");
-               check_image(String::compose("test/data/player_seek_test2_%1.png", i), String::compose("build/test/player_seek_test2_%1.png", i), 0.011);
+               check_image(String::compose("test/data/player_seek_test2_%1.png", i), String::compose("build/test/player_seek_test2_%1.png", i), 0.055);
        }
 }
 
@@ -332,14 +333,14 @@ BOOST_AUTO_TEST_CASE (player_trim_crash)
        shared_ptr<Butler> butler (new Butler(player, AudioMapping(), 6, bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), false, true));
 
        /* Wait for the butler to fill */
-       dcpomatic_sleep (5);
+       dcpomatic_sleep_seconds (5);
 
        boon->set_trim_start (ContentTime::from_seconds(5));
 
        butler->seek (DCPTime(), true);
 
        /* Wait for the butler to refill */
-       dcpomatic_sleep (5);
+       dcpomatic_sleep_seconds (5);
 
        butler->rethrow ();
 }