1 #ifndef DCPOMATIC_J2K_SYNC_ENCODER_THREAD_H
2 #define DCPOMATIC_J2K_SYNC_ENCODER_THREAD_H
5 #include "exception_store.h"
6 #include "j2k_encoder_thread.h"
7 #include <dcp/array_data.h>
8 #include <boost/thread.hpp>
15 class J2KSyncEncoderThread : public J2KEncoderThread, public ExceptionStore
18 J2KSyncEncoderThread(J2KEncoder& encoder);
20 J2KSyncEncoderThread(J2KSyncEncoderThread const&) = delete;
21 J2KSyncEncoderThread& operator=(J2KSyncEncoderThread const&) = delete;
23 virtual ~J2KSyncEncoderThread() {}
27 virtual void log_thread_start() const = 0;
28 virtual std::shared_ptr<dcp::ArrayData> encode(DCPVideo const& frame) = 0;