Unset _awaiting on a regular seek. This fixes bad behaviour in the sequence:
authorCarl Hetherington <cth@carlh.net>
Tue, 26 Mar 2019 00:06:01 +0000 (00:06 +0000)
committerCarl Hetherington <cth@carlh.net>
Tue, 26 Mar 2019 00:06:01 +0000 (00:06 +0000)
- some player_change; _awaiting is set
- regular seek occurs (perhaps to a time much earlier than _awaiting)
- another player_change occurs; player_change handler wrongly seeks back to _awaiting

May help with #1505.

src/lib/butler.cc

index cf39945b646ddfed1ee63a5c85804795785899d8..e15cb9d3f6266f80dffc5223edfa020617e8c721 100644 (file)
@@ -243,6 +243,7 @@ void
 Butler::seek (DCPTime position, bool accurate)
 {
        boost::mutex::scoped_lock lm (_mutex);
+       _awaiting = optional<DCPTime>();
        seek_unlocked (position, accurate);
 }