X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fbutler.h;h=0a0050e8ff90aa8f1aeb184bf531da457322efdb;hb=001ba1644fc6aa54f91fcaaa62ae7e5de2313bc1;hp=09c182f9cf717fb3c53d6371c7dd949add01fe41;hpb=c68cf49367957b49a99a9cc04013e9ee5a8c5bfc;p=dcpomatic.git diff --git a/src/lib/butler.h b/src/lib/butler.h index 09c182f9c..0a0050e8f 100644 --- a/src/lib/butler.h +++ b/src/lib/butler.h @@ -54,7 +54,7 @@ public: AGAIN }; - std::pair, dcpomatic::DCPTime> get_video (Error* e = 0); + std::pair, dcpomatic::DCPTime> get_video (bool blocking, Error* e = 0); boost::optional get_audio (float* out, Frame frames); boost::optional get_closed_caption (); @@ -73,14 +73,8 @@ private: void seek_unlocked (dcpomatic::DCPTime position, bool accurate); boost::shared_ptr _player; - boost::thread* _thread; + boost::thread _thread; - /** mutex to protect _video, _audio and _closed_caption for when we are clearing them and they all need to be - cleared together without any data being inserted in the interim; - XXX: is this necessary now that all butler output data is timestamped? Perhaps the locked clear-out - is only required if we guarantee that get_video() and get_audio() calls are in sync. - */ - boost::mutex _buffers_mutex; VideoRingBuffers _video; AudioRingBuffers _audio; TextRingBuffers _closed_caption;