diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-06-05 18:41:44 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-06-05 18:41:44 +0100 |
| commit | 26c7fc71df9a6207696323e6f62b2020da2a9435 (patch) | |
| tree | 543ce72f72a9bf21527e41071a6304d903e3f7e0 /src/decrypted_kdm.cc | |
| parent | ca6a4a18769e57dfe2c6896c87db1566e9ecda0d (diff) | |
Make ReelEncryptableAsset like MXF.
Diffstat (limited to 'src/decrypted_kdm.cc')
| -rw-r--r-- | src/decrypted_kdm.cc | 12 |
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 ())); } } } |
