summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-09-11 11:42:40 +0100
committerCarl Hetherington <cth@carlh.net>2018-09-11 11:42:40 +0100
commit2a0ad7979b208f84916b13f7a37998aa3701e371 (patch)
tree1e8525e227d71900211ca68209559cf19f94bb2d /src/lib
parent5c974b2fc501b806a259dcdfbc01df07ef9cda79 (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.cc6
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;
}