*/
+#ifndef DCPOMATIC_TRANSCODE_JOB_H
+#define DCPOMATIC_TRANSCODE_JOB_H
+
+
/** @file src/transcode_job.h
* @brief A job which transcodes from one format to another.
*/
#include "job.h"
+/* Defined by Windows */
+#undef IGNORE
+
+
class Encoder;
class TranscodeJob : public Job
{
public:
- explicit TranscodeJob (std::shared_ptr<const Film> film);
+ enum class ChangedBehaviour {
+ EXAMINE_THEN_STOP,
+ STOP,
+ IGNORE
+ };
+
+ explicit TranscodeJob (std::shared_ptr<const Film> film, ChangedBehaviour changed);
~TranscodeJob ();
std::string name () const override;
std::string json_name () const override;
void run () override;
std::string status () const override;
+ bool enable_notify () const override {
+ return true;
+ }
void set_encoder (std::shared_ptr<Encoder> t);
private:
+ virtual void post_transcode () {}
+ float frames_per_second() const;
+
int remaining_time () const override;
std::shared_ptr<Encoder> _encoder;
+ ChangedBehaviour _changed;
};
+
+
+#endif
+