summaryrefslogtreecommitdiff
path: root/src/stereo_picture_asset.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-12-01 14:55:54 +0000
committerCarl Hetherington <cth@carlh.net>2015-12-01 14:55:54 +0000
commit6e9b1b0ca5e839bda7b567b609cebb92a1cb95a7 (patch)
treebf4dc5244f62e754dfbe84d45a508917f477d0e7 /src/stereo_picture_asset.cc
parent1a4b0d2c7978f45b415db2e9a0f1840aa114bcc9 (diff)
Check every picture frame when -k is passed to dcpdiff.
Diffstat (limited to 'src/stereo_picture_asset.cc')
-rw-r--r--src/stereo_picture_asset.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/stereo_picture_asset.cc b/src/stereo_picture_asset.cc
index 76c353f1..e2494be6 100644
--- a/src/stereo_picture_asset.cc
+++ b/src/stereo_picture_asset.cc
@@ -105,6 +105,8 @@ StereoPictureAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt,
shared_ptr<const StereoPictureAsset> other_picture = dynamic_pointer_cast<const StereoPictureAsset> (other);
DCP_ASSERT (other_picture);
+ bool result = true;
+
for (int i = 0; i < _intrinsic_duration; ++i) {
shared_ptr<const StereoPictureFrame> frame_A;
shared_ptr<const StereoPictureFrame> frame_B;
@@ -124,7 +126,10 @@ StereoPictureAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt,
frame_A->left_j2k_data(), frame_A->left_j2k_size(),
frame_B->left_j2k_data(), frame_B->left_j2k_size()
)) {
- return false;
+ result = false;
+ if (!opt.keep_going) {
+ return result;
+ }
}
if (!frame_buffer_equals (
@@ -132,9 +137,12 @@ StereoPictureAsset::equals (shared_ptr<const Asset> other, EqualityOptions opt,
frame_A->right_j2k_data(), frame_A->right_j2k_size(),
frame_B->right_j2k_data(), frame_B->right_j2k_size()
)) {
- return false;
+ result = false;
+ if (!opt.keep_going) {
+ return result;
+ }
}
}
- return true;
+ return result;
}