diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic_kdm.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc index 60bb54f59..fc4282535 100644 --- a/src/tools/dcpomatic_kdm.cc +++ b/src/tools/dcpomatic_kdm.cc @@ -313,7 +313,7 @@ private: throw InvalidSignerError (); } - list<ScreenKDM> screen_kdms; + list<shared_ptr<ScreenKDM> > screen_kdms; BOOST_FOREACH (shared_ptr<Screen> i, _screens->screens()) { if (!i->recipient) { @@ -336,11 +336,13 @@ private: /* Encrypt */ screen_kdms.push_back ( - ScreenKDM ( - i, - kdm.encrypt ( - signer, i->recipient.get(), i->trusted_device_thumbprints(), _output->formulation(), - !_output->forensic_mark_video(), _output->forensic_mark_audio() ? boost::optional<int>() : 0 + shared_ptr<ScreenKDM>( + new DCPScreenKDM( + i, + kdm.encrypt( + signer, i->recipient.get(), i->trusted_device_thumbprints(), _output->formulation(), + !_output->forensic_mark_video(), _output->forensic_mark_audio() ? boost::optional<int>() : 0 + ) ) ) ); |
