summaryrefslogtreecommitdiff
path: root/src/lib/player.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2026-02-02 18:54:20 +0100
committerCarl Hetherington <cth@carlh.net>2026-02-02 18:54:20 +0100
commit3f704fbba5e7180db6d39f71e578ff0c4b1d7c84 (patch)
tree27b2abc4b53df60076777a3208d1b80ecc790d8d /src/lib/player.cc
parent6816f69ad62b05ef6b2857c526db69a4adb52c36 (diff)
Stop doing some more stuff during content drags in the timeline.
Diffstat (limited to 'src/lib/player.cc')
-rw-r--r--src/lib/player.cc40
1 files changed, 21 insertions, 19 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc
index dadf2c73e..c6ef90395 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -407,26 +407,28 @@ Player::playlist_content_change(ChangeType type, int property, bool frequent)
return;
}
- if (property == VideoContentProperty::CROP) {
- if (type == ChangeType::DONE) {
- boost::mutex::scoped_lock lm(_mutex);
- for (auto const& i: _delay) {
- i.first->reset_metadata(film, _video_container_size);
+ if (!frequent) {
+ if (property == VideoContentProperty::CROP) {
+ if (type == ChangeType::DONE) {
+ boost::mutex::scoped_lock lm(_mutex);
+ for (auto const& i: _delay) {
+ i.first->reset_metadata(film, _video_container_size);
+ }
+ }
+ } else {
+ if (type == ChangeType::PENDING) {
+ /* The player content is probably about to change, so we can't carry on
+ until that has happened and we've rebuilt our pieces. Stop pass()
+ and seek() from working until then.
+ */
+ ++_suspended;
+ } else if (type == ChangeType::DONE) {
+ /* A change in our content has gone through. Re-build our pieces. */
+ setup_pieces();
+ --_suspended;
+ } else if (type == ChangeType::CANCELLED) {
+ --_suspended;
}
- }
- } else {
- if (type == ChangeType::PENDING) {
- /* The player content is probably about to change, so we can't carry on
- until that has happened and we've rebuilt our pieces. Stop pass()
- and seek() from working until then.
- */
- ++_suspended;
- } else if (type == ChangeType::DONE) {
- /* A change in our content has gone through. Re-build our pieces. */
- setup_pieces();
- --_suspended;
- } else if (type == ChangeType::CANCELLED) {
- --_suspended;
}
}