From dbfbdcba0f5f08a932ba199039f2ca1530e482ac Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 16 Sep 2015 15:38:53 +0100 Subject: Basics of reel split. --- src/lib/writer.h | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'src/lib/writer.h') diff --git a/src/lib/writer.h b/src/lib/writer.h index 09e4f4798..23596cefc 100644 --- a/src/lib/writer.h +++ b/src/lib/writer.h @@ -115,19 +115,38 @@ public: private: + class Reel { + public: + Reel () + : first_nonexistant_frame (0) + {} + + DCPTimePeriod period; + /** the first frame index that does not already exist in our MXF */ + int first_nonexistant_frame; + + boost::shared_ptr picture_asset; + boost::shared_ptr picture_asset_writer; + boost::shared_ptr sound_asset; + boost::shared_ptr sound_asset_writer; + boost::shared_ptr subtitle_asset; + }; + void thread (); void terminate_thread (bool); - void check_existing_picture_asset (); + void check_existing_picture_asset (Reel& reel); bool have_sequenced_image_at_queue_head (); void write_frame_info (int frame, Eyes eyes, dcp::FrameInfo info) const; long frame_info_position (int frame, Eyes eyes) const; dcp::FrameInfo read_frame_info (FILE* file, int frame, Eyes eyes) const; + Reel const & video_reel (int frame) const; /** our Film */ boost::shared_ptr _film; boost::weak_ptr _job; - /** the first frame index that does not already exist in our MXF */ - int _first_nonexistant_frame; + std::list _reels; + std::list::iterator _audio_reel; + std::list::iterator _subtitle_reel; /** our thread, or 0 */ boost::thread* _thread; @@ -163,11 +182,6 @@ private: */ int _pushed_to_disk; - boost::shared_ptr _picture_asset; - boost::shared_ptr _picture_asset_writer; - boost::shared_ptr _sound_asset; - boost::shared_ptr _sound_asset_writer; - boost::shared_ptr _subtitle_asset; std::list > _reel_assets; std::list > _fonts; -- cgit v1.2.3