From cfda7f5d088f9800d5e9f2d39c4495f31b25f305 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 17 Jan 2013 20:26:06 +0000 Subject: Add duration, starting off as intrinsic_duration but changeable. --- src/mxf_asset.cc | 12 ++++++++++++ src/mxf_asset.h | 4 ++++ src/picture_asset.cc | 4 ++-- src/sound_asset.cc | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mxf_asset.cc b/src/mxf_asset.cc index 338d125f..77e4b098 100644 --- a/src/mxf_asset.cc +++ b/src/mxf_asset.cc @@ -42,6 +42,7 @@ MXFAsset::MXFAsset (string directory, string file_name, boost::signals2::signal< , _fps (fps) , _entry_point (0) , _intrinsic_duration (intrinsic_duration) + , _duration (intrinsic_duration) { } @@ -52,6 +53,12 @@ MXFAsset::set_entry_point (int e) _entry_point = e; } +void +MXFAsset::set_duration (int d) +{ + _duration = d; +} + void MXFAsset::fill_writer_info (ASDCP::WriterInfo* writer_info) const { @@ -89,6 +96,11 @@ MXFAsset::equals (shared_ptr other, EqualityOptions, list& return false; } + if (_duration != other_mxf->_duration) { + notes.push_back ("MXF durations differ"); + return false; + } + return true; } diff --git a/src/mxf_asset.h b/src/mxf_asset.h index 10049232..95261353 100644 --- a/src/mxf_asset.h +++ b/src/mxf_asset.h @@ -40,6 +40,7 @@ public: MXFAsset (std::string directory, std::string file_name, boost::signals2::signal* progress, int fps, int intrinsic_duration); void set_entry_point (int e); + void set_duration (int d); virtual bool equals (boost::shared_ptr other, EqualityOptions opt, std::list& notes) const; @@ -55,9 +56,12 @@ protected: boost::signals2::signal* _progress; /** Frames per second */ int _fps; + /** Start point to present in frames */ int _entry_point; /** Total length in frames */ int _intrinsic_duration; + /** Length to present in frames */ + int _duration; }; } diff --git a/src/picture_asset.cc b/src/picture_asset.cc index 905f75f5..3058c13d 100644 --- a/src/picture_asset.cc +++ b/src/picture_asset.cc @@ -60,8 +60,8 @@ PictureAsset::write_to_cpl (ostream& s) const << " " << _file_name << "\n" << " " << _fps << " 1\n" << " " << _intrinsic_duration << "\n" - << " 0\n" - << " " << _intrinsic_duration << "\n" + << " " << _entry_point << "\n" + << " " << _duration << "\n" << " " << _fps << " 1\n" << " " << _size.width << " " << _size.height << "\n" << " \n"; diff --git a/src/sound_asset.cc b/src/sound_asset.cc index 07132665..7abd2037 100644 --- a/src/sound_asset.cc +++ b/src/sound_asset.cc @@ -214,8 +214,8 @@ SoundAsset::write_to_cpl (ostream& s) const << " " << _file_name << "\n" << " " << _fps << " 1\n" << " " << _intrinsic_duration << "\n" - << " 0\n" - << " " << _intrinsic_duration << "\n" + << " " << _entry_point << "\n" + << " " << _duration << "\n" << " \n"; } -- cgit v1.2.3