diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-09-11 11:42:40 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-09-11 11:42:40 +0100 |
| commit | 2a0ad7979b208f84916b13f7a37998aa3701e371 (patch) | |
| tree | 1e8525e227d71900211ca68209559cf19f94bb2d /src/lib | |
| parent | 5c974b2fc501b806a259dcdfbc01df07ef9cda79 (diff) | |
Store audio/video even when suspended.
This is important for audio. _audio.put() must be called with
sequential data, so if you're going to discard audio (as was
happening when _suspended) you need to clear _audio before
put()ting any more.
This happens with seek; when _pending_seek_position is set
_audio is cleared and then nothing more is added until the
seek is done.
_suspended may be set and then reset with no change having
happened (type _CANCELLED) so I think you have to keep storing
data in this case. It will be discarded when the seek comes
around after a _DONE change.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/butler.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/butler.cc b/src/lib/butler.cc index 3e408c4d5..191bb0a5b 100644 --- a/src/lib/butler.cc +++ b/src/lib/butler.cc @@ -270,8 +270,8 @@ Butler::video (shared_ptr<PlayerVideo> video, DCPTime time) { boost::mutex::scoped_lock lm (_mutex); - if (_pending_seek_position || _suspended) { - /* Don't store any video in these cases */ + if (_pending_seek_position) { + /* Don't store any video in this case */ return; } @@ -286,7 +286,7 @@ Butler::audio (shared_ptr<AudioBuffers> audio, DCPTime time) { { boost::mutex::scoped_lock lm (_mutex); - if (_pending_seek_position || _disable_audio || _suspended) { + if (_pending_seek_position || _disable_audio) { /* Don't store any audio in these cases */ return; } |
