diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-06-21 13:25:20 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-07-04 23:02:26 +0200 |
| commit | de8cd4118d57591804ccd63f979aa9e495df9c93 (patch) | |
| tree | 82bd16a3a8cb44d34a21cd51581a1933a819018c /src/lib/screen.cc | |
| parent | 1650465106b7c20a7cc9ae5eec1cf9bf406c1dcf (diff) | |
Go back to the old way of handling KDM timing.
Once again the KDM gets its timezone from the cinema.
Diffstat (limited to 'src/lib/screen.cc')
| -rw-r--r-- | src/lib/screen.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/lib/screen.cc b/src/lib/screen.cc index 304fb52f3..57e792672 100644 --- a/src/lib/screen.cc +++ b/src/lib/screen.cc @@ -57,8 +57,8 @@ kdm_for_screen ( CinemaID cinema_id, Cinema const& cinema, Screen const& screen, - dcp::LocalTime valid_from, - dcp::LocalTime valid_to, + boost::posix_time::ptime valid_from, + boost::posix_time::ptime valid_to, dcp::Formulation formulation, bool disable_forensic_marking_picture, optional<int> disable_forensic_marking_audio, @@ -69,14 +69,17 @@ kdm_for_screen ( return {}; } - period_checks.push_back(check_kdm_and_certificate_validity_periods(cinema.name, screen.name, screen.recipient().get(), valid_from, valid_to)); + dcp::LocalTime const begin(valid_from, cinema.utc_offset); + dcp::LocalTime const end (valid_to, cinema.utc_offset); + + period_checks.push_back(check_kdm_and_certificate_validity_periods(cinema.name, screen.name, screen.recipient().get(), begin, end)); auto signer = Config::instance()->signer_chain(); if (!signer->valid()) { throw InvalidSignerError(); } - auto kdm = make_kdm(valid_from, valid_to).encrypt( + auto kdm = make_kdm(begin, end).encrypt( signer, screen.recipient().get(), screen.trusted_device_thumbprints(), formulation, disable_forensic_marking_picture, disable_forensic_marking_audio ); @@ -84,8 +87,8 @@ kdm_for_screen ( name_values['c'] = cinema.name; name_values['s'] = screen.name; name_values['f'] = kdm.content_title_text(); - name_values['b'] = valid_from.date() + " " + valid_from.time_of_day(true, false); - name_values['e'] = valid_to.date() + " " + valid_to.time_of_day(true, false); + name_values['b'] = begin.date() + " " + begin.time_of_day(true, false); + name_values['e'] = end.date() + " " + end.time_of_day(true, false); name_values['i'] = kdm.cpl_id(); return make_shared<KDMWithMetadata>(name_values, cinema_id, cinema.emails, kdm); |
