diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-11 20:49:44 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-04-12 01:22:10 +0200 |
| commit | 7d66bda50ade8ea618f331b885f1bfa4fa0a2af9 (patch) | |
| tree | 9846716f11327850e9a6bdd2cb00243be828590f /src/reel_subtitle_asset.cc | |
| parent | 3370a67e8a9aeaec45911ba1c714a0d259781fdf (diff) | |
Split ReelSubtitleAsset into Interop and SMPTE classes.
Diffstat (limited to 'src/reel_subtitle_asset.cc')
| -rw-r--r-- | src/reel_subtitle_asset.cc | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/src/reel_subtitle_asset.cc b/src/reel_subtitle_asset.cc index cccda50a..0981d1c0 100644 --- a/src/reel_subtitle_asset.cc +++ b/src/reel_subtitle_asset.cc @@ -54,7 +54,6 @@ using namespace dcp; ReelSubtitleAsset::ReelSubtitleAsset (std::shared_ptr<SubtitleAsset> asset, Fraction edit_rate, int64_t intrinsic_duration, int64_t entry_point) : ReelAsset (asset->id(), edit_rate, intrinsic_duration, entry_point) , ReelFileAsset (asset) - , ReelEncryptableAsset (dynamic_pointer_cast<SMPTESubtitleAsset>(asset) ? dynamic_pointer_cast<SMPTESubtitleAsset>(asset)->key_id() : optional<string>()) { } @@ -63,10 +62,8 @@ ReelSubtitleAsset::ReelSubtitleAsset (std::shared_ptr<SubtitleAsset> asset, Frac ReelSubtitleAsset::ReelSubtitleAsset (std::shared_ptr<const cxml::Node> node) : ReelAsset (node) , ReelFileAsset (node) - , ReelEncryptableAsset (node) { _language = node->optional_string_child("Language"); - node->done (); } @@ -77,22 +74,10 @@ ReelSubtitleAsset::cpl_node_name (Standard) const } -string -ReelSubtitleAsset::key_type () const -{ - return "MDSK"; -} - - -xmlpp::Node * -ReelSubtitleAsset::write_to_cpl (xmlpp::Node* node, Standard standard) const +void +ReelSubtitleAsset::set_language (dcp::LanguageTag language) { - auto asset = write_to_cpl_asset (node, standard, hash()); - write_to_cpl_mxf (asset); - if (_language) { - asset->add_child("Language")->add_child_text(*_language); - } - return asset; + _language = language.to_string(); } @@ -102,17 +87,11 @@ ReelSubtitleAsset::equals (shared_ptr<const ReelSubtitleAsset> other, EqualityOp if (!asset_equals (other, opt, note)) { return false; } - if (!file_asset_equals (other, opt, note)) { - return false; + + if (_asset_ref.resolved() && other->_asset_ref.resolved()) { + return _asset_ref->equals (other->_asset_ref.asset(), opt, note); } return true; } - -void -ReelSubtitleAsset::set_language (dcp::LanguageTag language) -{ - _language = language.to_string(); -} - |
