diff options
Diffstat (limited to 'src/lib/film.cc')
| -rw-r--r-- | src/lib/film.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc index 9516afcc2..56270c17b 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -1363,26 +1363,25 @@ Film::make_kdm ( map<shared_ptr<const dcp::ReelMXF>, dcp::Key> keys; - BOOST_FOREACH(shared_ptr<const dcp::ReelAsset> i, cpl->reel_assets ()) { - shared_ptr<const dcp::ReelMXF> mxf = boost::dynamic_pointer_cast<const dcp::ReelMXF> (i); - if (!mxf || !mxf->key_id()) { + BOOST_FOREACH(shared_ptr<const dcp::ReelMXF> i, cpl->reel_mxfs()) { + if (!i->key_id()) { continue; } /* Get any imported key for this ID */ bool done = false; BOOST_FOREACH (dcp::DecryptedKDMKey j, imported_keys) { - if (j.id() == mxf->key_id().get()) { - LOG_GENERAL ("Using imported key for %1", mxf->key_id().get()); - keys[mxf] = j.key(); + if (j.id() == i->key_id().get()) { + LOG_GENERAL ("Using imported key for %1", i->key_id().get()); + keys[i] = j.key(); done = true; } } if (!done) { /* No imported key; it must be an asset that we encrypted */ - LOG_GENERAL ("Using our own key for %1", mxf->key_id().get()); - keys[mxf] = key(); + LOG_GENERAL ("Using our own key for %1", i->key_id().get()); + keys[i] = key(); } } |
