From d8d7ddd4c39e3ea347afd1fccc037d8b0a31bc87 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 20 Jul 2014 21:22:52 +0100 Subject: Basic support for decryption of imported DCPs. --- src/lib/dcp_decoder.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/lib/dcp_decoder.cc') diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc index d0642d8b6..bf016ef87 100644 --- a/src/lib/dcp_decoder.cc +++ b/src/lib/dcp_decoder.cc @@ -31,6 +31,7 @@ #include "dcp_content.h" #include "j2k_image_proxy.h" #include "image.h" +#include "config.h" using std::list; using std::cout; @@ -46,6 +47,9 @@ DCPDecoder::DCPDecoder (shared_ptr c, shared_ptr log) { dcp::DCP dcp (c->directory ()); dcp.read (); + if (c->kdm ()) { + dcp.add (dcp::DecryptedKDM (c->kdm().get (), Config::instance()->decryption_private_key ())); + } assert (dcp.cpls().size() == 1); _reels = dcp.cpls().front()->reels (); _reel = _reels.begin (); @@ -54,7 +58,7 @@ DCPDecoder::DCPDecoder (shared_ptr c, shared_ptr log) bool DCPDecoder::pass () { - if (_reel == _reels.end ()) { + if (_reel == _reels.end () || !_dcp_content->can_be_played ()) { return true; } -- cgit v1.2.3