Merge "Skip track if verification fails" into klp-dev am: ab2c5046ef am: f233415199 am: 87f1a3041d am: 222dca470e am: ff9e1b0303 am: 6d050827c3 -s ours am: 84b2e0717c -s ours am: 0a78268055 -s ours am: 8d68455f69 -s ours am: 369ad623bc -s ours am: 920df6ca00 -s ours am: e21ab964c1 -s ours am: 4566e87270 -s ours am: 6d719ca88c -s ours am: d6fba171b7 -s ours am: 8158fccafd -s ours am: 4c32e865d3 -s ours
am: 5b2a157387 -s ours
Change-Id: I41b87d21527c9497d7ae2ace3ff43aa6c000b96a
diff --git a/services/camera/libcameraservice/api1/client2/Parameters.cpp b/services/camera/libcameraservice/api1/client2/Parameters.cpp
index a305bc7..1addcdd 100644
--- a/services/camera/libcameraservice/api1/client2/Parameters.cpp
+++ b/services/camera/libcameraservice/api1/client2/Parameters.cpp
@@ -2200,6 +2200,14 @@
normalizedXToArray(meteringAreas[j].right);
reqMeteringAreas[i + 3] =
normalizedYToArray(meteringAreas[j].bottom);
+ // Requested size may be zero by rounding error with/without zooming.
+ // The ae regions should be at least 1 if metering width/height is not zero.
+ if (reqMeteringAreas[i + 0] == reqMeteringAreas[i + 2]) {
+ reqMeteringAreas[i + 2]++;
+ }
+ if (reqMeteringAreas[i + 1] == reqMeteringAreas[i + 3]) {
+ reqMeteringAreas[i + 3]++;
+ }
} else {
reqMeteringAreas[i + 0] = 0;
reqMeteringAreas[i + 1] = 0;