diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-01-03 00:11:16 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-04-20 21:23:54 +0200 |
| commit | 58e94d1c412cd87a28fca99b46c7d5cf408f8186 (patch) | |
| tree | 02e8d01cb6dd35a6b04490015bcc49e8c1984e15 /src/lib/dcp_digest_file.cc | |
| parent | 2034cf8a82be21d4d07de81ae40c8255da1ed21e (diff) | |
Fix creation of dcpdig files in projects that make VFs (#2109).
Previously we would always get keys from the project which was
wrong with assets that already have their own key.
Diffstat (limited to 'src/lib/dcp_digest_file.cc')
| -rw-r--r-- | src/lib/dcp_digest_file.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/dcp_digest_file.cc b/src/lib/dcp_digest_file.cc index b178e3da7..0ea5ae821 100644 --- a/src/lib/dcp_digest_file.cc +++ b/src/lib/dcp_digest_file.cc @@ -39,7 +39,7 @@ using std::string; template <class R, class A> -void add_asset(string key, shared_ptr<R> reel_asset, shared_ptr<A> asset, xmlpp::Element* reel, string name) +void add_asset(string film_key, shared_ptr<R> reel_asset, shared_ptr<A> asset, xmlpp::Element* reel, string name) { if (asset) { auto out = reel->add_child(name); @@ -49,7 +49,7 @@ void add_asset(string key, shared_ptr<R> reel_asset, shared_ptr<A> asset, xmlpp: } if (asset->key_id()) { out->add_child("KeyId")->add_child_text("urn:uuid:" + asset->key_id().get()); - out->add_child("Key")->add_child_text(key); + out->add_child("Key")->add_child_text(asset->key() ? asset->key()->hex() : film_key); } } }; @@ -59,7 +59,7 @@ void write_dcp_digest_file ( boost::filesystem::path path, shared_ptr<dcp::CPL> cpl, - string key + string film_key ) { xmlpp::Document doc; @@ -75,13 +75,13 @@ write_dcp_digest_file ( out_reel->add_child("Id")->add_child_text("urn:uuid:" + in_reel->id()); out_reel->add_child("AnnotationText"); if (in_reel->main_picture()) { - add_asset(key, in_reel->main_picture(), in_reel->main_picture()->asset(), out_reel, "MainPicture"); + add_asset(film_key, in_reel->main_picture(), in_reel->main_picture()->asset(), out_reel, "MainPicture"); } if (in_reel->main_sound()) { - add_asset(key, in_reel->main_sound(), in_reel->main_sound()->asset(), out_reel, "MainSound"); + add_asset(film_key, in_reel->main_sound(), in_reel->main_sound()->asset(), out_reel, "MainSound"); } if (auto smpte_sub = dynamic_pointer_cast<dcp::ReelSMPTESubtitleAsset>(in_reel->main_subtitle())) { - add_asset(key, smpte_sub, smpte_sub->smpte_asset(), out_reel, "MainSubtitle"); + add_asset(film_key, smpte_sub, smpte_sub->smpte_asset(), out_reel, "MainSubtitle"); } } doc.write_to_file_formatted(path.string()); |
