Coalesce player changes around CPL change. v2.15.127
authorCarl Hetherington <cth@carlh.net>
Tue, 9 Feb 2021 13:08:46 +0000 (14:08 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 9 Feb 2021 13:08:46 +0000 (14:08 +0100)
If multiple player changes happen, causing the player to be suspended,
there are problems if one of those changes causes a FilmViewer:seek.
In there, we wait for the seek to finish, but it will never finish
because of the suspension.  Hence it's important that we only trigger
the seek once the suspension is over.

Fixes #1905.

src/tools/dcpomatic_player.cc

index 6e1104b66eba5767910eb8f7069a799100096ee2..52796495379974fa8bdc6d6ce089ce6216c1174f 100644 (file)
@@ -717,8 +717,11 @@ private:
                        --id;
                }
 
+               _viewer->set_coalesce_player_changes (true);
                dcp->set_cpl ((*i)->id());
                examine_content ();
+               _viewer->set_coalesce_player_changes (false);
+
                _info->triggered_update ();
        }