- if (i->recipient) {
- dcp::EncryptedKDM const kdm = film->make_kdm (
- i->recipient.get(),
- i->trusted_device_thumbprints(),
- _cpl->cpl(),
- dcp::LocalTime(_timing->from(), i->cinema ? i->cinema->utc_offset_hour() : 0, i->cinema ? i->cinema->utc_offset_minute() : 0),
- dcp::LocalTime(_timing->until(), i->cinema ? i->cinema->utc_offset_hour() : 0, i->cinema ? i->cinema->utc_offset_minute() : 0),
- _output->formulation(),
- !_output->forensic_mark_video(),
- for_audio
- );
-
- screen_kdms.push_back (KDMWithMetadataPtr(new DCPKDMWithMetadata(i, kdm)));
+ KDMWithMetadataPtr p = kdm_for_screen (film, _cpl->cpl(), i, _timing->from(), _timing->until(), _output->formulation(), !_output->forensic_mark_video(), for_audio);
+ if (p) {
+ kdms.push_back (p);