- /** Number of video frames written for the DCP so far */
- int _video_frames_out;
-
- bool _have_a_real_frame[EYES_COUNT];
- bool _terminate;
- std::list<boost::shared_ptr<DCPVideoFrame> > _queue;
- typedef std::list<std::pair<boost::optional<ServerDescription>, boost::thread *> > ThreadList;
- ThreadList _threads;
- mutable boost::mutex _mutex;
- boost::condition _condition;
+ /** Mutex for _threads */
+ mutable boost::mutex _threads_mutex;
+ std::list<boost::thread *> _threads;
+ mutable boost::mutex _queue_mutex;
+ std::list<boost::shared_ptr<DCPVideo> > _queue;
+ /** condition to manage thread wakeups when we have nothing to do */
+ boost::condition _empty_condition;
+ /** condition to manage thread wakeups when we have too much to do */
+ boost::condition _full_condition;