X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Freel_picture_asset.cc;h=eb87d03949b2a67be36c97d9133bdb78e5ff60d5;hb=69bbedaa39eb2ff29ebd80be7dfc77b0aa2b06af;hp=cc5e23993bee207de6d06fdbd29cee2a978670d4;hpb=1a284b7c409567b6ecb223adece779487f70ac92;p=libdcp.git diff --git a/src/reel_picture_asset.cc b/src/reel_picture_asset.cc index cc5e2399..eb87d039 100644 --- a/src/reel_picture_asset.cc +++ b/src/reel_picture_asset.cc @@ -37,13 +37,16 @@ */ -#include "reel_picture_asset.h" -#include "picture_asset.h" +#include "compose.hpp" #include "dcp_assert.h" +#include "picture_asset.h" #include "raw_convert.h" -#include "compose.hpp" +#include "reel_picture_asset.h" +#include "warnings.h" #include +LIBDCP_DISABLE_WARNINGS #include +LIBDCP_ENABLE_WARNINGS #include #include @@ -57,9 +60,7 @@ using namespace dcp; ReelPictureAsset::ReelPictureAsset (shared_ptr asset, int64_t entry_point) - : ReelAsset (asset->id(), asset->edit_rate(), asset->intrinsic_duration(), entry_point) - , ReelFileAsset (asset) - , ReelEncryptableAsset (asset->key_id()) + : ReelFileAsset (asset, asset->key_id(), asset->id(), asset->edit_rate(), asset->intrinsic_duration(), entry_point) , _frame_rate (asset->frame_rate ()) , _screen_aspect_ratio (asset->screen_aspect_ratio ()) { @@ -68,9 +69,7 @@ ReelPictureAsset::ReelPictureAsset (shared_ptr asset, int64_t entr ReelPictureAsset::ReelPictureAsset (shared_ptr node) - : ReelAsset (node) - , ReelFileAsset (node) - , ReelEncryptableAsset (node) + : ReelFileAsset (node) { _frame_rate = Fraction (node->string_child ("FrameRate")); try { @@ -90,9 +89,10 @@ ReelPictureAsset::ReelPictureAsset (shared_ptr node) xmlpp::Node* ReelPictureAsset::write_to_cpl (xmlpp::Node* node, Standard standard) const { - auto asset = write_to_cpl_asset (node, standard, hash()); + auto asset = ReelFileAsset::write_to_cpl (node, standard); asset->add_child("FrameRate")->add_child_text(String::compose("%1 %2", _frame_rate.numerator, _frame_rate.denominator)); + if (standard == Standard::INTEROP) { /* Allowed values for this tag from the standard */ @@ -113,28 +113,19 @@ ReelPictureAsset::write_to_cpl (xmlpp::Node* node, Standard standard) const } } - asset->add_child ("ScreenAspectRatio")->add_child_text (raw_convert (closest.get(), 2, true)); + asset->add_child("ScreenAspectRatio")->add_child_text(raw_convert(closest.get(), 2, true)); } else { - asset->add_child ("ScreenAspectRatio")->add_child_text ( + asset->add_child("ScreenAspectRatio")->add_child_text( String::compose ("%1 %2", _screen_aspect_ratio.numerator, _screen_aspect_ratio.denominator) ); } - write_to_cpl_mxf (asset); - return asset; } -string -ReelPictureAsset::key_type () const -{ - return "MDIK"; -} - - bool -ReelPictureAsset::equals (shared_ptr other, EqualityOptions opt, NoteHandler note) const +ReelPictureAsset::equals(shared_ptr other, EqualityOptions const& opt, NoteHandler note) const { if (!asset_equals (other, opt, note)) { return false;