X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Freel_writer.h;h=ae64c3ac77ed9c73bd6f4f6939c9f5c6710548cf;hb=3c1528e7406becf62d4d57d2515bca17d9bd1067;hp=274f62b9fa0d8cf7af1440a18304e63f118ba857;hpb=9c01623c3038b978ba732de2ad147d29fad60afe;p=dcpomatic.git diff --git a/src/lib/reel_writer.h b/src/lib/reel_writer.h index 274f62b9f..ae64c3ac7 100644 --- a/src/lib/reel_writer.h +++ b/src/lib/reel_writer.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2016 Carl Hetherington + Copyright (C) 2012-2018 Carl Hetherington This file is part of DCP-o-matic. @@ -21,7 +21,8 @@ #include "types.h" #include "dcpomatic_time.h" #include "referenced_reel_asset.h" -#include "player_subtitles.h" +#include "player_text.h" +#include "dcp_text_track.h" #include #include @@ -60,7 +61,7 @@ public: void fake_write (Frame frame, Eyes eyes, int size); void repeat_write (Frame frame, Eyes eyes); void write (boost::shared_ptr audio); - void write (PlayerSubtitles subs); + void write (PlayerText text, TextType type, boost::optional track, DCPTimePeriod period); void finish (); boost::shared_ptr create_reel (std::list const & refs, std::list > const & fonts); @@ -72,10 +73,6 @@ public: return _period; } - int total_written_audio_frames () const { - return _total_written_audio_frames; - } - int last_written_video_frame () const { return _last_written_video_frame; } @@ -94,21 +91,19 @@ private: void write_frame_info (Frame frame, Eyes eyes, dcp::FrameInfo info) const; long frame_info_position (Frame frame, Eyes eyes) const; - void check_existing_picture_asset (); - bool existing_picture_frame_ok (FILE* asset_file, FILE* info_file) const; + Frame check_existing_picture_asset (); + bool existing_picture_frame_ok (FILE* asset_file, FILE* info_file, Frame frame) const; boost::shared_ptr _film; DCPTimePeriod _period; - /** the first frame index that does not already exist in our MXF */ + /** the first picture frame index that does not already exist in our MXF */ int _first_nonexistant_frame; /** the data of the last written frame, if there is one */ boost::optional _last_written[EYES_COUNT]; /** the index of the last written video frame within the reel */ int _last_written_video_frame; Eyes _last_written_eyes; - /** the number of audio frames that have been written to the reel */ - int _total_written_audio_frames; /** index of this reel within the DCP (starting from 0) */ int _reel_index; /** number of reels in the DCP */ @@ -120,6 +115,7 @@ private: boost::shared_ptr _sound_asset; boost::shared_ptr _sound_asset_writer; boost::shared_ptr _subtitle_asset; + std::map > _closed_caption_assets; static int const _info_size; };