diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mxf_asset.cc | 12 | ||||
| -rw-r--r-- | src/mxf_asset.h | 4 | ||||
| -rw-r--r-- | src/picture_asset.cc | 4 | ||||
| -rw-r--r-- | src/sound_asset.cc | 4 |
4 files changed, 20 insertions, 4 deletions
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) { } @@ -53,6 +54,12 @@ MXFAsset::set_entry_point (int e) } void +MXFAsset::set_duration (int d) +{ + _duration = d; +} + +void MXFAsset::fill_writer_info (ASDCP::WriterInfo* writer_info) const { writer_info->ProductVersion = Metadata::instance()->product_version; @@ -89,6 +96,11 @@ MXFAsset::equals (shared_ptr<const Asset> other, EqualityOptions, list<string>& 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<void (float)>* progress, int fps, int intrinsic_duration); void set_entry_point (int e); + void set_duration (int d); virtual bool equals (boost::shared_ptr<const Asset> other, EqualityOptions opt, std::list<std::string>& notes) const; @@ -55,9 +56,12 @@ protected: boost::signals2::signal<void (float)>* _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 << " <AnnotationText>" << _file_name << "</AnnotationText>\n" << " <EditRate>" << _fps << " 1</EditRate>\n" << " <IntrinsicDuration>" << _intrinsic_duration << "</IntrinsicDuration>\n" - << " <EntryPoint>0</EntryPoint>\n" - << " <Duration>" << _intrinsic_duration << "</Duration>\n" + << " <EntryPoint>" << _entry_point << "</EntryPoint>\n" + << " <Duration>" << _duration << "</Duration>\n" << " <FrameRate>" << _fps << " 1</FrameRate>\n" << " <ScreenAspectRatio>" << _size.width << " " << _size.height << "</ScreenAspectRatio>\n" << " </MainPicture>\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 << " <AnnotationText>" << _file_name << "</AnnotationText>\n" << " <EditRate>" << _fps << " 1</EditRate>\n" << " <IntrinsicDuration>" << _intrinsic_duration << "</IntrinsicDuration>\n" - << " <EntryPoint>0</EntryPoint>\n" - << " <Duration>" << _intrinsic_duration << "</Duration>\n" + << " <EntryPoint>" << _entry_point << "</EntryPoint>\n" + << " <Duration>" << _duration << "</Duration>\n" << " </MainSound>\n"; } |
