X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fwriter.h;h=41d4d4474bae3dde1e97e35f9d6392aeb165315b;hb=a5e87b6f0f496f4ed71d9129d40a5baebb68495f;hp=2ddf70380181534d8f49b1326479dc5270b61f7a;hpb=4e411ea97b4dab8a5fa282d1d4cf7971ef1e24ad;p=dcpomatic.git diff --git a/src/lib/writer.h b/src/lib/writer.h index 2ddf70380..41d4d4474 100644 --- a/src/lib/writer.h +++ b/src/lib/writer.h @@ -21,17 +21,20 @@ * @brief Writer class. */ -#include +#include "exceptions.h" +#include "types.h" +#include "player_subtitles.h" #include +#include #include #include -#include "exceptions.h" -#include "types.h" +#include class Film; class EncodedData; class AudioBuffers; class Job; +class Font; namespace dcp { class MonoPictureMXF; @@ -42,6 +45,7 @@ namespace dcp { class PictureMXFWriter; class SoundMXF; class SoundMXFWriter; + class InteropSubtitleContent; } struct QueueItem @@ -91,6 +95,8 @@ public: void write (boost::shared_ptr, int, Eyes); void fake_write (int, Eyes); void write (boost::shared_ptr); + void write (PlayerSubtitles subs); + void write (std::list > fonts); void repeat (int f, Eyes); void finish (); @@ -101,6 +107,10 @@ private: void check_existing_picture_mxf (); bool check_existing_picture_mxf_frame (FILE *, int, Eyes); bool have_sequenced_image_at_queue_head (); + /** maximum number of frames to hold in memory, for when we are managing + * ordering + */ + int maximum_frames_in_memory () const; /** our Film */ boost::shared_ptr _film; @@ -127,10 +137,6 @@ private: /** the index of the last written frame */ int _last_written_frame; Eyes _last_written_eyes; - /** maximum number of frames to hold in memory, for when we are managing - ordering - */ - static const int _maximum_frames_in_memory; /** number of FULL written frames */ int _full_written; @@ -145,4 +151,7 @@ private: boost::shared_ptr _picture_mxf_writer; boost::shared_ptr _sound_mxf; boost::shared_ptr _sound_mxf_writer; + boost::shared_ptr _subtitle_content; + + std::list > _fonts; };