Remove player activity logging. Fixes #2122.
[dcpomatic.git] / src / wx / film_viewer.cc
index 98948b1f2b6c7f6deeef6ef9b23725d99a24e7b1..2c90b86095278c9bd19b81831e27f3d82123909b 100644 (file)
@@ -63,17 +63,11 @@ extern "C" {
 using std::bad_alloc;
 using std::cout;
 using std::dynamic_pointer_cast;
-using std::exception;
-using std::list;
-using std::make_pair;
 using std::make_shared;
 using std::max;
-using std::min;
-using std::pair;
 using std::shared_ptr;
 using std::string;
 using std::vector;
-using std::weak_ptr;
 using boost::optional;
 #if BOOST_VERSION >= 106100
 using namespace boost::placeholders;
@@ -94,6 +88,7 @@ FilmViewer::FilmViewer (wxWindow* p)
        : _audio (DCPOMATIC_RTAUDIO_API)
        , _closed_captions_dialog (new ClosedCaptionsDialog(p, this))
 {
+#if wxCHECK_VERSION(3, 1, 0)
        switch (Config::instance()->video_view_type()) {
        case Config::VIDEO_VIEW_OPENGL:
                _video_view = std::make_shared<GLVideoView>(this, p);
@@ -102,6 +97,9 @@ FilmViewer::FilmViewer (wxWindow* p)
                _video_view = std::make_shared<SimpleVideoView>(this, p);
                break;
        }
+#else
+       _video_view = std::make_shared<SimpleVideoView>(this, p);
+#endif
 
        _video_view->Sized.connect (boost::bind(&FilmViewer::video_view_sized, this));
        _video_view->TooManyDropped.connect (boost::bind(boost::ref(TooManyDropped)));
@@ -169,7 +167,7 @@ FilmViewer::set_film (shared_ptr<Film> film)
        }
 
        try {
-               _player = make_shared<Player>(_film);
+               _player = make_shared<Player>(_film, _optimise_for_j2k ? Image::Alignment::COMPACT : Image::Alignment::PADDED);
                _player->set_fast ();
                if (_dcp_decode_reduction) {
                        _player->set_dcp_decode_reduction (_dcp_decode_reduction);
@@ -214,6 +212,12 @@ FilmViewer::recreate_butler ()
                return;
        }
 
+#if wxCHECK_VERSION(3, 1, 0)
+       auto const j2k_gl_optimised = dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k;
+#else
+       auto const j2k_gl_optimised = false;
+#endif
+
        _butler = std::make_shared<Butler>(
                _film,
                _player,
@@ -221,9 +225,9 @@ FilmViewer::recreate_butler ()
                _audio_channels,
                bind(&PlayerVideo::force, _1, AV_PIX_FMT_RGB24),
                VideoRange::FULL,
-               false,
+               j2k_gl_optimised ? Image::Alignment::COMPACT : Image::Alignment::PADDED,
                true,
-               dynamic_pointer_cast<GLVideoView>(_video_view) && _optimise_for_j2k
+               j2k_gl_optimised
                );
 
        if (!Config::instance()->sound() && !_audio.isStreamOpen()) {
@@ -367,7 +371,7 @@ FilmViewer::start ()
        /* Calling start() below may directly result in Stopped being emitted, and if that
         * happens we want it to come after the Started signal, so do that first.
         */
-       Started (position());
+       Started ();
        _video_view->start ();
 }
 
@@ -386,7 +390,7 @@ FilmViewer::stop ()
 
        _playing = false;
        _video_view->stop ();
-       Stopped (position());
+       Stopped ();
 
        _video_view->rethrow ();
        return true;
@@ -645,7 +649,7 @@ int
 FilmViewer::audio_callback (void* out_p, unsigned int frames)
 {
        while (true) {
-               auto t = _butler->get_audio (reinterpret_cast<float*> (out_p), frames);
+               auto t = _butler->get_audio (Butler::Behaviour::NON_BLOCKING, reinterpret_cast<float*> (out_p), frames);
                if (!t || DCPTime(uncorrected_time() - *t) < one_video_frame()) {
                        /* There was an underrun or this audio is on time; carry on */
                        break;