_shuffler can be a optional<>.
authorCarl Hetherington <cth@carlh.net>
Mon, 16 May 2022 20:14:47 +0000 (22:14 +0200)
committerCarl Hetherington <cth@carlh.net>
Mon, 16 May 2022 20:14:47 +0000 (22:14 +0200)
src/lib/player.cc
src/lib/player.h

index 27b2d8d977fc430ccbae9e9be64e10a47ed60ead..feafd6f1f279ea40d532bf94c1228c609906cd0d 100644 (file)
@@ -162,7 +162,7 @@ Player::setup_pieces_unlocked ()
 
 
        if (have_threed) {
-               _shuffler.reset(new Shuffler());
+               _shuffler = Shuffler();
                _shuffler->Video.connect(bind(&Player::video, this, _1, _2));
        }
 
@@ -218,7 +218,7 @@ Player::setup_pieces_unlocked ()
                if (decoder->video) {
                        if (have_threed) {
                                /* We need a Shuffler to cope with 3D L/R video data arriving out of sequence */
-                               decoder->video->Data.connect (bind(&Shuffler::video, _shuffler.get(), weak_ptr<Piece>(piece), _1));
+                               decoder->video->Data.connect (bind(&Shuffler::video, &_shuffler.get(), weak_ptr<Piece>(piece), _1));
                        } else {
                                decoder->video->Data.connect (bind(&Player::video, this, weak_ptr<Piece>(piece), _1));
                        }
index 9318cff5a0a1f211c07b304d047e8c3cfa89c9f4..3f83d9547554b3fdc5c4f92aa8cfe86bf7ae2c06 100644 (file)
@@ -208,7 +208,7 @@ private:
        LastVideoMap _last_video;
 
        AudioMerger _audio_merger;
-       std::unique_ptr<Shuffler> _shuffler;
+       boost::optional<Shuffler> _shuffler;
        std::list<std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime>> _delay;
 
        class StreamState