X-Git-Url: https://main.carlh.net/gitweb/?p=libdcp.git;a=blobdiff_plain;f=src%2Freel_closed_caption_asset.cc;h=3369fdd961f7a1ab8cdbbf78b646f6756ca757a6;hp=2aa13ead01b9a5f6ef4231b4a6d20b06cea5d1af;hb=ceaf7bc52712cb60708ed5eb5c62c5e463dd8e89;hpb=6c37cc1979b2a01205a888c4c98f3334685ee8dd diff --git a/src/reel_closed_caption_asset.cc b/src/reel_closed_caption_asset.cc index 2aa13ead..3369fdd9 100644 --- a/src/reel_closed_caption_asset.cc +++ b/src/reel_closed_caption_asset.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2017 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of libdcp. @@ -31,16 +31,19 @@ files in the program, then also delete it here. */ + /** @file src/reel_closed_caption_asset.cc - * @brief ReelClosedCaptionAsset class. + * @brief ReelClosedCaptionAsset class */ + #include "subtitle_asset.h" #include "reel_closed_caption_asset.h" #include "smpte_subtitle_asset.h" #include "dcp_assert.h" #include + using std::string; using std::pair; using std::make_pair; @@ -49,6 +52,7 @@ using std::dynamic_pointer_cast; using boost::optional; using namespace dcp; + ReelClosedCaptionAsset::ReelClosedCaptionAsset (std::shared_ptr asset, Fraction edit_rate, int64_t intrinsic_duration, int64_t entry_point) : ReelAsset (asset->id(), edit_rate, intrinsic_duration, entry_point) , ReelMXF (asset, dynamic_pointer_cast(asset) ? dynamic_pointer_cast(asset)->key_id() : optional()) @@ -56,6 +60,7 @@ ReelClosedCaptionAsset::ReelClosedCaptionAsset (std::shared_ptr a } + ReelClosedCaptionAsset::ReelClosedCaptionAsset (std::shared_ptr node) : ReelAsset (node) , ReelMXF (node) @@ -64,6 +69,7 @@ ReelClosedCaptionAsset::ReelClosedCaptionAsset (std::shared_ptrdone (); } + string ReelClosedCaptionAsset::cpl_node_name (Standard standard) const { @@ -77,6 +83,7 @@ ReelClosedCaptionAsset::cpl_node_name (Standard standard) const DCP_ASSERT (false); } + pair ReelClosedCaptionAsset::cpl_node_namespace (Standard standard) const { @@ -90,16 +97,18 @@ ReelClosedCaptionAsset::cpl_node_namespace (Standard standard) const DCP_ASSERT (false); } + string ReelClosedCaptionAsset::key_type () const { return "MDSK"; } + xmlpp::Node * ReelClosedCaptionAsset::write_to_cpl (xmlpp::Node* node, Standard standard) const { - xmlpp::Node* asset = write_to_cpl_asset (node, standard, hash()); + auto asset = write_to_cpl_asset (node, standard, hash()); write_to_cpl_mxf (asset); if (_language) { @@ -109,6 +118,7 @@ ReelClosedCaptionAsset::write_to_cpl (xmlpp::Node* node, Standard standard) cons return asset; } + bool ReelClosedCaptionAsset::equals (shared_ptr other, EqualityOptions opt, NoteHandler note) const {