summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-04-26 11:02:46 +0100
committerCarl Hetherington <cth@carlh.net>2017-04-26 11:02:46 +0100
commit8f685eef234cc056750ecb769e9293b6666386bb (patch)
tree398a76b5e7aa117bb7658dd7947bcdd331fbbf8d /src
parentd0ecbc635fa3931fe6a588c3ffb038d1f3e1b11c (diff)
Nicer fix for previous commit.
Diffstat (limited to 'src')
-rw-r--r--src/lib/butler.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib/butler.cc b/src/lib/butler.cc
index 89095613d..48e3a526c 100644
--- a/src/lib/butler.cc
+++ b/src/lib/butler.cc
@@ -90,6 +90,9 @@ try
/* Do any seek that has been requested */
if (_pending_seek_position) {
+ _video.clear ();
+ _audio.clear ();
+ _finished = false;
_player->seek (*_pending_seek_position, _pending_seek_accurate);
_pending_seek_position = optional<DCPTime> ();
}
@@ -102,8 +105,7 @@ try
lm.unlock ();
bool const r = _player->pass ();
lm.lock ();
- /* We must check _pending_seek_position again here as it may have been set while lm was unlocked */
- if (r && !_pending_seek_position) {
+ if (r) {
_finished = true;
_arrived.notify_all ();
break;
@@ -150,9 +152,6 @@ Butler::seek (DCPTime position, bool accurate)
return;
}
- _video.clear ();
- _audio.clear ();
- _finished = false;
_pending_seek_position = position;
_pending_seek_accurate = accurate;
_summon.notify_all ();