diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-09-10 22:56:51 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-09-10 22:56:51 +0200 |
| commit | 96f25981e914d27377d13cccdd733d9996130703 (patch) | |
| tree | 91d779656477467d17a6661cb8b22f65cce866cd /src/lib/j2k_encoder_thread.h | |
| parent | 23306255085a0b48168d51629f38597ee0bf80ce (diff) | |
Rearrange encoder.rearrange-encoder
Diffstat (limited to 'src/lib/j2k_encoder_thread.h')
| -rw-r--r-- | src/lib/j2k_encoder_thread.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/j2k_encoder_thread.h b/src/lib/j2k_encoder_thread.h new file mode 100644 index 000000000..a1be194ee --- /dev/null +++ b/src/lib/j2k_encoder_thread.h @@ -0,0 +1,38 @@ +#ifndef DCPOMATIC_J2K_ENCODER_THREAD_H +#define DCPOMATIC_J2K_ENCODER_THREAD_H + + +#include "exception_store.h" +#include <dcp/array_data.h> +#include <boost/thread.hpp> + + +class DCPVideo; +class J2KEncoder; + + +class J2KEncoderThread : public ExceptionStore +{ +public: + J2KEncoderThread(J2KEncoder& encoder); + + J2KEncoderThread(J2KEncoderThread const&) = delete; + J2KEncoderThread& operator=(J2KEncoderThread const&) = delete; + + void start(); + void stop(); + + void run(); + + virtual void log_thread_start() const = 0; + virtual std::shared_ptr<dcp::ArrayData> encode(DCPVideo const& frame) = 0; + +protected: + J2KEncoder& _encoder; + +private: + boost::thread _thread; +}; + + +#endif |
