X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_encoder.h;h=4bd264c8bdf6a760cdb251d3b4950557632b8e68;hb=010a6240453384e35d4aa848af00ed58244fe16d;hp=9af284e6eedf078d6ef5d05d86b5fb8793af11aa;hpb=14f5424e2bd0f933965901f18b5b1673993e0045;p=dcpomatic.git diff --git a/src/lib/ffmpeg_encoder.h b/src/lib/ffmpeg_encoder.h index 9af284e6e..4bd264c8b 100644 --- a/src/lib/ffmpeg_encoder.h +++ b/src/lib/ffmpeg_encoder.h @@ -38,23 +38,57 @@ public: ExportFormat format, bool mixdown_to_stereo, bool split_reels, + bool audio_stream_per_channel, int x264_crf +#ifdef DCPOMATIC_VARIANT_SWAROOP + , boost::optional key + , boost::optional id +#endif ); void go (); - float current_rate () const; + boost::optional current_rate () const; Frame frames_done () const; bool finishing () const { return false; } private: - std::list > _file_encoders; + + class FileEncoderSet + { + public: + FileEncoderSet ( + dcp::Size video_frame_size, + int video_frame_rate, + int audio_frame_rate, + int channels, + ExportFormat, + bool audio_stream_per_channel, + int x264_crf, + bool three_d, + boost::filesystem::path output, + std::string extension +#ifdef DCPOMATIC_VARIANT_SWAROOP + , boost::optional key + , boost::optional id +#endif + ); + + boost::shared_ptr get (Eyes eyes) const; + void flush (); + void audio (boost::shared_ptr); + + private: + std::map > _encoders; + }; + + std::list _file_encoders; int _output_audio_channels; mutable boost::mutex _mutex; - DCPTime _last_time; + dcpomatic::DCPTime _last_time; EventHistory _history;