Add some more logging to the DCP examiner.
authorCarl Hetherington <cth@carlh.net>
Fri, 28 Jan 2022 19:36:46 +0000 (20:36 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 9 Mar 2022 16:04:02 +0000 (17:04 +0100)
src/lib/dcp_examiner.cc

index 857f26232bc184e4e9b820f03e1ea4ef3d309e8a..f61e2a7de1f0dad23073339ee1f07c08505136da 100644 (file)
@@ -256,6 +256,7 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
                        auto pic = i->main_picture()->asset();
                        if (pic->encrypted() && !pic->key()) {
                                _kdm_valid = false;
+                               LOG_GENERAL_NC ("Picture has no key");
                        }
                        auto mono = dynamic_pointer_cast<dcp::MonoPictureAsset>(pic);
                        auto stereo = dynamic_pointer_cast<dcp::StereoPictureAsset>(pic);
@@ -274,6 +275,7 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
                                auto sound = i->main_sound()->asset ();
                                if (sound->encrypted() && !sound->key()) {
                                        _kdm_valid = false;
+                                       LOG_GENERAL_NC ("Sound has no key");
                                }
                                auto reader = i->main_sound()->asset()->start_read();
                                reader->set_check_hmac (false);
@@ -285,6 +287,7 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
                                auto mxf_sub = dynamic_pointer_cast<dcp::MXF>(sub);
                                if (mxf_sub && mxf_sub->encrypted() && !mxf_sub->key()) {
                                        _kdm_valid = false;
+                                       LOG_GENERAL_NC ("Subtitle has no key");
                                }
                                sub->subtitles ();
                        }
@@ -293,6 +296,7 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
                                auto atmos = i->atmos()->asset();
                                if (atmos->encrypted() && !atmos->key()) {
                                        _kdm_valid = false;
+                                       LOG_GENERAL_NC ("ATMOS sound has no key");
                                }
                                auto reader = atmos->start_read();
                                reader->set_check_hmac (false);
@@ -301,8 +305,10 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
                }
        } catch (dcp::ReadError& e) {
                _kdm_valid = false;
+               LOG_GENERAL ("KDM is invalid: %1", e.what());
        } catch (dcp::MiscError& e) {
                _kdm_valid = false;
+               LOG_GENERAL ("KDM is invalid: %1", e.what());
        }
 
        _standard = cpl->standard();