summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-06 14:34:23 +0200
committerCarl Hetherington <cth@carlh.net>2021-04-06 14:34:23 +0200
commited20305876e6743246996e8b4d77706d75dc63f8 (patch)
tree9e708826b8b6a86fe1ac3e9b9a0eed7567c18673 /src
parentd4f883f7e88b93d1ec2d451036f2b85434baff13 (diff)
Don't try to verify encrypted JPEG2000 bitstreams.
Diffstat (limited to 'src')
-rw-r--r--src/verify.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/verify.cc b/src/verify.cc
index 17f54e80..382a67ba 100644
--- a/src/verify.cc
+++ b/src/verify.cc
@@ -441,9 +441,11 @@ verify_picture_asset (shared_ptr<const ReelFileAsset> reel_file_asset, boost::fi
for (int64_t i = 0; i < duration; ++i) {
auto frame = reader->get_frame (i);
biggest_frame = max(biggest_frame, frame->size());
- vector<VerificationNote> j2k_notes;
- verify_j2k (frame, j2k_notes);
- check_and_add (j2k_notes);
+ if (!mono_asset->encrypted() || mono_asset->key()) {
+ vector<VerificationNote> j2k_notes;
+ verify_j2k (frame, j2k_notes);
+ check_and_add (j2k_notes);
+ }
progress (float(i) / duration);
}
} else if (auto stereo_asset = dynamic_pointer_cast<StereoPictureAsset>(asset)) {
@@ -451,10 +453,12 @@ verify_picture_asset (shared_ptr<const ReelFileAsset> reel_file_asset, boost::fi
for (int64_t i = 0; i < duration; ++i) {
auto frame = reader->get_frame (i);
biggest_frame = max(biggest_frame, max(frame->left()->size(), frame->right()->size()));
- vector<VerificationNote> j2k_notes;
- verify_j2k (frame->left(), j2k_notes);
- verify_j2k (frame->right(), j2k_notes);
- check_and_add (j2k_notes);
+ if (!stereo_asset->encrypted() || mono_asset->key()) {
+ vector<VerificationNote> j2k_notes;
+ verify_j2k (frame->left(), j2k_notes);
+ verify_j2k (frame->right(), j2k_notes);
+ check_and_add (j2k_notes);
+ }
progress (float(i) / duration);
}