X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdkdm_recipient.cc;h=c73379bed9cded1f3963fad8a62bf32bf67b4095;hb=refs%2Fheads%2F2493-player-export-frame;hp=b15487c8ab4935864334ec27957ba0b4fc5ba4a2;hpb=d5d9e143a5778928c5f386a7bd9cb140d4f1191a;p=dcpomatic.git diff --git a/src/lib/dkdm_recipient.cc b/src/lib/dkdm_recipient.cc index b15487c8a..c73379bed 100644 --- a/src/lib/dkdm_recipient.cc +++ b/src/lib/dkdm_recipient.cc @@ -19,10 +19,12 @@ */ +#include "config.h" #include "dkdm_recipient.h" -#include "kdm_with_metadata.h" #include "film.h" +#include "kdm_with_metadata.h" #include +#include using std::make_shared; @@ -68,22 +70,19 @@ kdm_for_dkdm_recipient ( ) { if (!recipient->recipient) { - return KDMWithMetadataPtr(); + return {}; + } + + dcp::LocalTime const begin(valid_from, dcp::UTCOffset(recipient->utc_offset_hour, recipient->utc_offset_minute)); + dcp::LocalTime const end (valid_to, dcp::UTCOffset(recipient->utc_offset_hour, recipient->utc_offset_minute)); + + auto signer = Config::instance()->signer_chain(); + if (!signer->valid()) { + throw InvalidSignerError(); } - dcp::LocalTime const begin(valid_from, recipient->utc_offset_hour, recipient->utc_offset_minute); - dcp::LocalTime const end (valid_to, recipient->utc_offset_hour, recipient->utc_offset_minute); - - auto const kdm = film->make_kdm ( - recipient->recipient.get(), - vector(), - cpl, - begin, - end, - dcp::Formulation::MODIFIED_TRANSITIONAL_1, - true, - 0 - ); + auto const decrypted_kdm = film->make_kdm(cpl, begin, end); + auto const kdm = decrypted_kdm.encrypt(signer, recipient->recipient.get(), {}, dcp::Formulation::MODIFIED_TRANSITIONAL_1, true, 0); dcp::NameFormat::Map name_values; name_values['f'] = kdm.content_title_text();