summaryrefslogtreecommitdiff
path: root/src/decrypted_kdm.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-06-05 18:41:44 +0100
committerCarl Hetherington <cth@carlh.net>2015-06-05 18:41:44 +0100
commit26c7fc71df9a6207696323e6f62b2020da2a9435 (patch)
tree543ce72f72a9bf21527e41071a6304d903e3f7e0 /src/decrypted_kdm.cc
parentca6a4a18769e57dfe2c6896c87db1566e9ecda0d (diff)
Make ReelEncryptableAsset like MXF.
Diffstat (limited to 'src/decrypted_kdm.cc')
-rw-r--r--src/decrypted_kdm.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/decrypted_kdm.cc b/src/decrypted_kdm.cc
index d3b2d322..c72afc6d 100644
--- a/src/decrypted_kdm.cc
+++ b/src/decrypted_kdm.cc
@@ -21,6 +21,7 @@
#include "decrypted_kdm_key.h"
#include "encrypted_kdm.h"
#include "reel_encryptable_asset.h"
+#include "reel_asset.h"
#include "util.h"
#include "exceptions.h"
#include "cpl.h"
@@ -199,12 +200,13 @@ DecryptedKDM::DecryptedKDM (
{
/* Create DecryptedKDMKey objects for each encryptable asset */
BOOST_FOREACH(shared_ptr<const ReelAsset> i, cpl->reel_assets ()) {
- shared_ptr<const ReelEncryptableAsset> asset = boost::dynamic_pointer_cast<const ReelEncryptableAsset> (i);
- if (asset) {
- if (!asset->key_id ()) {
- throw NotEncryptedError (asset->id());
+ shared_ptr<const ReelEncryptableAsset> mxf = boost::dynamic_pointer_cast<const ReelEncryptableAsset> (i);
+ shared_ptr<const ReelAsset> asset = boost::dynamic_pointer_cast<const ReelAsset> (i);
+ if (asset && mxf) {
+ if (!mxf->key_id ()) {
+ throw NotEncryptedError (asset->id ());
}
- _keys.push_back (DecryptedKDMKey (asset->key_type(), asset->key_id().get(), key, cpl->id ()));
+ _keys.push_back (DecryptedKDMKey (mxf->key_type(), mxf->key_id().get(), key, cpl->id ()));
}
}
}