From 6e3e5d5a94e50a10c0e3252cbebb20e0540cbbed Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 28 Jan 2022 20:37:02 +0100 Subject: Bail out early when there's a reason why the KDM is invalid. --- src/lib/dcp_examiner.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc index f61e2a7de..04711130b 100644 --- a/src/lib/dcp_examiner.cc +++ b/src/lib/dcp_examiner.cc @@ -257,6 +257,7 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) if (pic->encrypted() && !pic->key()) { _kdm_valid = false; LOG_GENERAL_NC ("Picture has no key"); + break; } auto mono = dynamic_pointer_cast(pic); auto stereo = dynamic_pointer_cast(pic); @@ -276,6 +277,7 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) if (sound->encrypted() && !sound->key()) { _kdm_valid = false; LOG_GENERAL_NC ("Sound has no key"); + break; } auto reader = i->main_sound()->asset()->start_read(); reader->set_check_hmac (false); @@ -288,6 +290,7 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) if (mxf_sub && mxf_sub->encrypted() && !mxf_sub->key()) { _kdm_valid = false; LOG_GENERAL_NC ("Subtitle has no key"); + break; } sub->subtitles (); } @@ -297,6 +300,7 @@ DCPExaminer::DCPExaminer (shared_ptr content, bool tolerant) if (atmos->encrypted() && !atmos->key()) { _kdm_valid = false; LOG_GENERAL_NC ("ATMOS sound has no key"); + break; } auto reader = atmos->start_read(); reader->set_check_hmac (false); -- cgit v1.2.3