std::shared_ptr
[dcpomatic.git] / test / dcp_playback_test.cc
index 6210ffc337e8e011c7d2cf92ddd0e355e267508f..fd4c939bd5869e19f7f6554d7e1834321c50a434 100644 (file)
 #include <boost/test/unit_test.hpp>
 
 using std::pair;
-using boost::shared_ptr;
+using std::shared_ptr;
 using boost::optional;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
+using namespace dcpomatic;
 
 /** Simulate the work that the player does, for profiling */
 BOOST_AUTO_TEST_CASE (dcp_playback_test)
 {
        shared_ptr<Film> film = new_test_film ("dcp_playback_test");
-       shared_ptr<DCPContent> content (new DCPContent(film, private_data / "JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV"));
+       shared_ptr<DCPContent> content (new DCPContent(TestPaths::private_data() / "JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV"));
        film->examine_and_add_content (content);
-       wait_for_jobs ();
+       BOOST_REQUIRE (!wait_for_jobs());
 
-       shared_ptr<Butler> butler (new Butler(shared_ptr<Player>(new Player(film, film->playlist())), shared_ptr<Log>(), AudioMapping(6, 6), 6));
+       shared_ptr<Butler> butler (
+               new Butler(
+                       film,
+                       shared_ptr<Player>(new Player(film)),
+                       AudioMapping(6, 6),
+                       6,
+                       bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24),
+                       VIDEO_RANGE_FULL,
+                       false,
+                       true)
+               );
        float* audio_buffer = new float[2000*6];
        while (true) {
-               pair<shared_ptr<PlayerVideo>, DCPTime> p = butler->get_video ();
+               pair<shared_ptr<PlayerVideo>, DCPTime> p = butler->get_video (true, 0);
                if (!p.first) {
                        break;
                }
                /* assuming DCP is 24fps/48kHz */
                butler->get_audio (audio_buffer, 2000);
-               p.first->image(optional<dcp::NoteHandler>(), bind(&PlayerVideo::always_rgb, _1), true, false);
+               p.first->image(bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24), VIDEO_RANGE_FULL, false, true);
        }
        delete[] audio_buffer;
 }