Fix failure to decode multiple video frames from one packet (#2159).
[dcpomatic.git] / test / player_test.cc
index 5ed77219380f21cf5e692e153f6b0898f2accac8..0d3af5f8c73abc3d8984df70d17db0fd3cfbdd36 100644 (file)
@@ -210,7 +210,7 @@ BOOST_AUTO_TEST_CASE (player_interleave_test)
        player->Audio.connect (bind (&audio, _1, _2));
        video_frames = audio_frames = 0;
        while (!player->pass ()) {
-               BOOST_CHECK (abs(video_frames - (audio_frames / 2000)) < 8);
+               BOOST_CHECK (abs(video_frames - (audio_frames / 2000)) <= 8);
        }
 }
 
@@ -239,7 +239,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test)
        for (int i = 0; i < 10; ++i) {
                auto t = DCPTime::from_frames (i, 24);
                butler->seek (t, true);
-               auto video = butler->get_video(true, 0);
+               auto video = butler->get_video(Butler::Behaviour::BLOCKING, 0);
                BOOST_CHECK_EQUAL(video.second.get(), t.get());
                write_image(video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, true), String::compose("build/test/player_seek_test_%1.png", i));
                /* This 14.08 is empirically chosen (hopefully) to accept changes in rendering between the reference and a test machine
@@ -273,7 +273,7 @@ BOOST_AUTO_TEST_CASE (player_seek_test2)
        for (int i = 0; i < 10; ++i) {
                auto t = DCPTime::from_seconds(5) + DCPTime::from_frames (i, 24);
                butler->seek (t, true);
-               auto video = butler->get_video(true, 0);
+               auto video = butler->get_video(Butler::Behaviour::BLOCKING, 0);
                BOOST_CHECK_EQUAL(video.second.get(), t.get());
                write_image(
                        video.first->image(bind(PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VideoRange::FULL, true), String::compose("build/test/player_seek_test2_%1.png", i)