X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_encoder.h;h=2d5c6af8703cfd3f8331f40f4a6f7989df40ed21;hb=323b8cbb0b95297fbd027ffdc4ea5003b59ef25f;hp=c71f8fa63348a0cabda4480f79db1c1d044836d8;hpb=a332bd6be323f03dad5b180fb237afe54f1bf81e;p=dcpomatic.git diff --git a/src/lib/ffmpeg_encoder.h b/src/lib/ffmpeg_encoder.h index c71f8fa63..2d5c6af87 100644 --- a/src/lib/ffmpeg_encoder.h +++ b/src/lib/ffmpeg_encoder.h @@ -21,19 +21,19 @@ #ifndef DCPOMATIC_FFMPEG_ENCODER_H #define DCPOMATIC_FFMPEG_ENCODER_H +#include "audio_mapping.h" +#include "butler.h" #include "encoder.h" #include "event_history.h" -#include "audio_mapping.h" #include "ffmpeg_file_encoder.h" -class Butler; class FFmpegEncoder : public Encoder { public: FFmpegEncoder ( - boost::shared_ptr film, - boost::weak_ptr job, + std::shared_ptr film, + std::weak_ptr job, boost::filesystem::path output, ExportFormat format, bool mixdown_to_stereo, @@ -42,11 +42,11 @@ public: int x264_crf ); - void go (); + void go () override; - boost::optional current_rate () const; - Frame frames_done () const; - bool finishing () const { + boost::optional current_rate () const override; + Frame frames_done () const override; + bool finishing () const override { return false; } @@ -68,14 +68,17 @@ private: std::string extension ); - boost::shared_ptr get (Eyes eyes) const; + std::shared_ptr get (Eyes eyes) const; void flush (); - void audio (boost::shared_ptr); + void audio (std::shared_ptr); private: - std::map > _encoders; + std::map> _encoders; }; + AudioMapping stereo_map() const; + AudioMapping many_channel_map() const; + int _output_audio_channels; mutable boost::mutex _mutex; @@ -89,7 +92,7 @@ private: bool _audio_stream_per_channel; int _x264_crf; - boost::shared_ptr _butler; + Butler _butler; }; #endif