summaryrefslogtreecommitdiff
path: root/src/lib/writer.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-09-16 15:38:53 +0100
committerCarl Hetherington <cth@carlh.net>2015-10-12 11:05:26 +0100
commitdbfbdcba0f5f08a932ba199039f2ca1530e482ac (patch)
tree94b52a2b51229a2030280db9d259cb52897658ab /src/lib/writer.h
parent9610f4035114f499d098e8fd2d726d55ddd943ee (diff)
Basics of reel split.
Diffstat (limited to 'src/lib/writer.h')
-rw-r--r--src/lib/writer.h30
1 files changed, 22 insertions, 8 deletions
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<dcp::PictureAsset> picture_asset;
+ boost::shared_ptr<dcp::PictureAssetWriter> picture_asset_writer;
+ boost::shared_ptr<dcp::SoundAsset> sound_asset;
+ boost::shared_ptr<dcp::SoundAssetWriter> sound_asset_writer;
+ boost::shared_ptr<dcp::SubtitleAsset> 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<const Film> _film;
boost::weak_ptr<Job> _job;
- /** the first frame index that does not already exist in our MXF */
- int _first_nonexistant_frame;
+ std::list<Reel> _reels;
+ std::list<Reel>::iterator _audio_reel;
+ std::list<Reel>::iterator _subtitle_reel;
/** our thread, or 0 */
boost::thread* _thread;
@@ -163,11 +182,6 @@ private:
*/
int _pushed_to_disk;
- boost::shared_ptr<dcp::PictureAsset> _picture_asset;
- boost::shared_ptr<dcp::PictureAssetWriter> _picture_asset_writer;
- boost::shared_ptr<dcp::SoundAsset> _sound_asset;
- boost::shared_ptr<dcp::SoundAssetWriter> _sound_asset_writer;
- boost::shared_ptr<dcp::SubtitleAsset> _subtitle_asset;
std::list<boost::shared_ptr<dcp::ReelAsset> > _reel_assets;
std::list<boost::shared_ptr<Font> > _fonts;