*/
+#ifndef DCPOMATIC_FFMPEG_TRANSCODER_H
+#define DCPOMATIC_FFMPEG_TRANSCODER_H
+
#include "transcoder.h"
#include "event_history.h"
extern "C" {
class FFmpegTranscoder : public Transcoder
{
public:
- FFmpegTranscoder (boost::shared_ptr<const Film> film, boost::weak_ptr<Job> job);
+ enum Format
+ {
+ FORMAT_PRORES
+ };
+
+ FFmpegTranscoder (boost::shared_ptr<const Film> film, boost::weak_ptr<Job> job, boost::filesystem::path output, Format format);
void go ();
return false;
}
- void set_output (boost::filesystem::path o) {
- _output = o;
- }
-
private:
void video (boost::shared_ptr<PlayerVideo>, DCPTime);
void audio (boost::shared_ptr<AudioBuffers>, DCPTime);
AVFormatContext* _format_context;
AVStream* _video_stream;
AVPixelFormat _pixel_format;
+ std::string _codec_name;
mutable boost::mutex _mutex;
DCPTime _last_time;
boost::filesystem::path _output;
};
+
+#endif