diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-08-18 22:49:46 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-08-19 01:29:04 +0100 |
| commit | 9a27d60ea7888d300a5a2414a477091428589b82 (patch) | |
| tree | 42db6de6bf6d420a760e79f93d0ce3ea47423d57 /src/lib/butler.h | |
| parent | 0bd80b641875632b9b2b17530d00e4546bba8088 (diff) | |
Suspend butler on player may-change as otherwise there's a window
between Player::_suspended being set to false and the the butler
requesting a seek, during which the butler may call pass().
Diffstat (limited to 'src/lib/butler.h')
| -rw-r--r-- | src/lib/butler.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/butler.h b/src/lib/butler.h index 56374deeb..6a13ed2d7 100644 --- a/src/lib/butler.h +++ b/src/lib/butler.h @@ -56,6 +56,7 @@ private: void text (PlayerText pt, TextType type, DCPTimePeriod period); bool should_run () const; void prepare (boost::weak_ptr<PlayerVideo> video) const; + void suspend (); void return_seek (bool frequent); void seek_unlocked (DCPTime position, bool accurate); @@ -83,6 +84,7 @@ private: boost::condition _arrived; boost::optional<DCPTime> _pending_seek_position; bool _pending_seek_accurate; + bool _suspended; bool _finished; bool _died; bool _stop_thread; @@ -100,6 +102,7 @@ private: boost::signals2::scoped_connection _player_video_connection; boost::signals2::scoped_connection _player_audio_connection; boost::signals2::scoped_connection _player_text_connection; + boost::signals2::scoped_connection _player_may_change_connection; boost::signals2::scoped_connection _player_changed_connection; boost::signals2::scoped_connection _player_not_changed_connection; }; |
