OSDN Git Service

API1: ZSL buffers should be skipped for manual AF mode
authorZhijun He <zhijunhe@google.com>
Fri, 19 Sep 2014 22:51:04 +0000 (15:51 -0700)
committerZhijun He <zhijunhe@google.com>
Sat, 20 Sep 2014 00:39:59 +0000 (17:39 -0700)
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

services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp

index de31e23..f110b66 100644 (file)
@@ -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)) {