summaryrefslogtreecommitdiff
path: root/src/lib/dcp_examiner.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-06-04 22:30:25 +0200
committerCarl Hetherington <cth@carlh.net>2021-06-04 22:30:25 +0200
commita498b8819ab431ecc2aac058b1aadb9e15d396ac (patch)
tree7a551eb65089e5948bd39c6a2973b57e3fe7939b /src/lib/dcp_examiner.cc
parent881e5de77401086265c5d901c7bde10d35d50231 (diff)
Ignore HMAC discrepencies when reading DCPs.
Diffstat (limited to 'src/lib/dcp_examiner.cc')
-rw-r--r--src/lib/dcp_examiner.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc
index b431cec26..ffdcad1c1 100644
--- a/src/lib/dcp_examiner.cc
+++ b/src/lib/dcp_examiner.cc
@@ -241,9 +241,13 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
auto stereo = dynamic_pointer_cast<dcp::StereoPictureAsset>(pic);
if (mono) {
- mono->start_read()->get_frame(0)->xyz_image ();
+ auto reader = mono->start_read();
+ reader->set_check_hmac (false);
+ reader->get_frame(0)->xyz_image();
} else {
- stereo->start_read()->get_frame(0)->xyz_image(dcp::Eye::LEFT);
+ auto reader = stereo->start_read();
+ reader->set_check_hmac (false);
+ reader->get_frame(0)->xyz_image(dcp::Eye::LEFT);
}
if (i->main_sound()) {
@@ -251,7 +255,9 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
if (sound->encrypted() && !sound->key()) {
_kdm_valid = false;
}
- i->main_sound()->asset()->start_read()->get_frame(0);
+ auto reader = i->main_sound()->asset()->start_read();
+ reader->set_check_hmac (false);
+ reader->get_frame(0);
}
if (i->main_subtitle()) {
@@ -268,7 +274,9 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
if (atmos->encrypted() && !atmos->key()) {
_kdm_valid = false;
}
- atmos->start_read()->get_frame(0);
+ auto reader = atmos->start_read();
+ reader->set_check_hmac (false);
+ reader->get_frame(0);
}
}
} catch (dcp::ReadError& e) {