summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-05-13 21:52:27 +0100
committerCarl Hetherington <cth@carlh.net>2019-05-13 21:52:27 +0100
commit006e38346a8bcdcc889979b7c00802d9bb8fc6f8 (patch)
tree352caad1d2863ef4385b0d91fa7de07f52ff5e27 /src/tools
parent6cde6bcc0b604c1a157a4ccbdce29e91f4d45a91 (diff)
swaroop: allow ScreenKDM subclasses for different KDM types.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic_kdm.cc14
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
+ )
)
)
);