diff options
| author | Carl Hetherington <cth@carlh.net> | 2026-02-02 18:54:20 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2026-02-02 18:54:20 +0100 |
| commit | 3f704fbba5e7180db6d39f71e578ff0c4b1d7c84 (patch) | |
| tree | 27b2abc4b53df60076777a3208d1b80ecc790d8d /src/lib/player.cc | |
| parent | 6816f69ad62b05ef6b2857c526db69a4adb52c36 (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.cc | 40 |
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; } } |
