summaryrefslogtreecommitdiffstats
path: root/services/camera
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2014-09-19 15:51:04 -0700
committerZhijun He <zhijunhe@google.com>2014-09-19 17:39:59 -0700
commit43e2418e30c360cdd43052fb3471433161cc161e (patch)
treeddb8c9f711a443109a93c9d25694e7db7dd985b5 /services/camera
parentb0ed4e3e482cbdc2fa6c7853526597f4ae3f0972 (diff)
downloadframeworks_av-43e2418e30c360cdd43052fb3471433161cc161e.zip
frameworks_av-43e2418e30c360cdd43052fb3471433161cc161e.tar.gz
frameworks_av-43e2418e30c360cdd43052fb3471433161cc161e.tar.bz2
API1: ZSL buffers should be skipped for manual AF mode
ZSL counts on good auto focus (CAF). It is really tricky to enable ZSL for manual focus mode. as it is bascically a locked focus mode, you can not tell if the focus is good or not by reading the afstate. Bug: 17577928 Change-Id: I68ff7d143e7d56f942bb00a8da6a9faea57b52a0
Diffstat (limited to 'services/camera')
-rw-r--r--services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp b/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp
index de31e23..f110b66 100644
--- a/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp
+++ b/services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp
@@ -573,6 +573,11 @@ nsecs_t ZslProcessor3::getCandidateTimestampLocked(size_t* metadataIdx) const {
continue;
}
uint8_t afMode = entry.data.u8[0];
+ if (afMode == ANDROID_CONTROL_AF_MODE_OFF) {
+ // Skip all the ZSL buffer for manual AF mode, as we don't really
+ // know the af state.
+ continue;
+ }
// Check AF state if device has focuser and focus mode isn't fixed
if (mHasFocuser && !isFixedFocusMode(afMode)) {