From 961754d68b85324091e29d8e8eb19c4fdf32abe6 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 3 Nov 2025 09:07:27 +0100 Subject: wip: hacks --- src/lib/player.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/lib/player.h') diff --git a/src/lib/player.h b/src/lib/player.h index 9076ac242..def165b51 100644 --- a/src/lib/player.h +++ b/src/lib/player.h @@ -113,13 +113,13 @@ public: boost::optional content_time_to_dcp(std::shared_ptr content, dcpomatic::ContentTime t) const; boost::optional dcp_to_content_time(std::shared_ptr content, dcpomatic::DCPTime t) const; - void signal_change(ChangeType type, int property); + void signal_change(ChangeType type, int property, int id); /** First parameter is PENDING, DONE or CANCELLED. * Second parameter is the property. * Third parameter is true if these signals are currently likely to be frequent. */ - boost::signals2::signal Change; + boost::signals2::signal Change; /** Emitted when a video frame is ready. These emissions happen in the correct order. */ boost::signals2::signal, dcpomatic::DCPTime)> Video; @@ -148,9 +148,9 @@ private: void construct(); void connect(); void setup_pieces(); - void film_change(ChangeType, FilmProperty); - void playlist_change(ChangeType); - void playlist_content_change(ChangeType, int, bool); + void film_change(ChangeType, FilmProperty, int id); + void playlist_change(ChangeType, int id); + void playlist_content_change(ChangeType, int, bool, int id); Frame dcp_to_content_video(std::shared_ptr piece, dcpomatic::DCPTime t) const; dcpomatic::DCPTime content_video_to_dcp(std::shared_ptr piece, Frame f) const; Frame dcp_to_resampled_audio(std::shared_ptr piece, dcpomatic::DCPTime t) const; @@ -193,8 +193,9 @@ private: /** Playlist, or 0 if we are using the one from the _film */ std::shared_ptr _playlist; - /** > 0 if we are suspended (i.e. pass() and seek() do nothing) */ - boost::atomic _suspended; + mutable boost::mutex _suspended_mutex; + /** Contains something if we are suspended (i.e. pass() and seek() do nothing) */ + std::set _suspended; std::vector> _pieces; /** Size of the image we are rendering to; this may be the DCP frame size, or -- cgit v1.2.3