#ifndef ZM_DECODER_THREAD_H #define ZM_DECODER_THREAD_H #include #include #include class Monitor; class DecoderThread { public: explicit DecoderThread(Monitor *monitor); ~DecoderThread(); DecoderThread(DecoderThread &rhs) = delete; DecoderThread(DecoderThread &&rhs) = delete; void Start(); void Stop(); private: void Run(); Monitor *monitor_; std::atomic terminate_; std::thread thread_; }; #endif