diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-05-03 11:17:34 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-05-03 20:18:04 +0200 |
| commit | 689fa55d1529ad88449ca464e9107c4dcc54d1cb (patch) | |
| tree | edd1264941263f2fa25a98d61f98c87876c5b667 /src/lib/video_mxf_content.cc | |
| parent | 0aabe4060ea4bad7c7caac633aef0737fccff8c2 (diff) | |
C++11 tidying.
Diffstat (limited to 'src/lib/video_mxf_content.cc')
| -rw-r--r-- | src/lib/video_mxf_content.cc | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/lib/video_mxf_content.cc b/src/lib/video_mxf_content.cc index a8a301f22..c7ee69d89 100644 --- a/src/lib/video_mxf_content.cc +++ b/src/lib/video_mxf_content.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2016 Carl Hetherington <cth@carlh.net> + Copyright (C) 2016-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "video_mxf_examiner.h" #include "video_mxf_content.h" #include "video_content.h" @@ -32,30 +33,35 @@ #include "i18n.h" + using std::list; using std::string; using std::shared_ptr; +using std::make_shared; using namespace dcpomatic; + VideoMXFContent::VideoMXFContent (boost::filesystem::path path) : Content (path) { } + VideoMXFContent::VideoMXFContent (cxml::ConstNodePtr node, int version) : Content (node) { video = VideoContent::from_xml (this, node, version); } + bool VideoMXFContent::valid_mxf (boost::filesystem::path path) { Kumu::DefaultLogSink().UnsetFilterFlag(Kumu::LOG_ALLOW_ALL); try { - shared_ptr<dcp::MonoPictureAsset> mp (new dcp::MonoPictureAsset (path)); + dcp::MonoPictureAsset mp (path); return true; } catch (dcp::MXFFileError& e) { @@ -65,7 +71,7 @@ VideoMXFContent::valid_mxf (boost::filesystem::path path) try { Kumu::DefaultLogSink().SetFilterFlag(0); - shared_ptr<dcp::StereoPictureAsset> sp (new dcp::StereoPictureAsset (path)); + dcp::StereoPictureAsset sp (path); return true; } catch (dcp::MXFFileError& e) { @@ -78,6 +84,7 @@ VideoMXFContent::valid_mxf (boost::filesystem::path path) return false; } + void VideoMXFContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job) { @@ -86,50 +93,57 @@ VideoMXFContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job) Content::examine (film, job); video.reset (new VideoContent (this)); - shared_ptr<VideoMXFExaminer> examiner (new VideoMXFExaminer (shared_from_this ())); + auto examiner = make_shared<VideoMXFExaminer>(shared_from_this()); video->take_from_examiner (examiner); video->unset_colour_conversion (); } + string VideoMXFContent::summary () const { return String::compose (_("%1 [video]"), path_summary()); } + string VideoMXFContent::technical_summary () const { - return Content::technical_summary() + " - " + video->technical_summary (); + return Content::technical_summary() + " - " + video->technical_summary(); } + string VideoMXFContent::identifier () const { return Content::identifier() + "_" + video->identifier(); } + void VideoMXFContent::as_xml (xmlpp::Node* node, bool with_paths) const { - node->add_child("Type")->add_child_text ("VideoMXF"); + node->add_child("Type")->add_child_text("VideoMXF"); Content::as_xml (node, with_paths); video->as_xml (node); } + DCPTime VideoMXFContent::full_length (shared_ptr<const Film> film) const { FrameRateChange const frc (film, shared_from_this()); - return DCPTime::from_frames (llrint (video->length_after_3d_combine() * frc.factor()), film->video_frame_rate()); + return DCPTime::from_frames (llrint(video->length_after_3d_combine() * frc.factor()), film->video_frame_rate()); } + DCPTime VideoMXFContent::approximate_length () const { return DCPTime::from_frames (video->length_after_3d_combine(), 24); } + void VideoMXFContent::add_properties (shared_ptr<const Film> film, list<UserProperty>& p) const { |
