Camera2: ZSL: Do regular capture if AE is not satisfied.
- Check the AE state of the selected ZSL buffer; if it's not reporting
as CONVERGED or LOCKED, fall back to normal capture sequence
- Add more debugging for the ZSL queue.
Bug: 6910087
Change-Id: I77a4287580aa9ddbd58438477c40ce829555d0ca
diff --git a/services/camera/libcameraservice/camera2/CaptureSequencer.cpp b/services/camera/libcameraservice/camera2/CaptureSequencer.cpp
index 981fdb4..eb9eb5b 100644
--- a/services/camera/libcameraservice/camera2/CaptureSequencer.cpp
+++ b/services/camera/libcameraservice/camera2/CaptureSequencer.cpp
@@ -274,8 +274,14 @@
// TODO: Actually select the right thing here.
res = processor->pushToReprocess(mCaptureId);
if (res != OK) {
- ALOGW("%s: Camera %d: Failed to use ZSL queue, falling back to standard capture",
- __FUNCTION__, client->getCameraId());
+ if (res == NOT_ENOUGH_DATA) {
+ ALOGV("%s: Camera %d: ZSL queue doesn't have good frame, "
+ "falling back to normal capture", __FUNCTION__,
+ client->getCameraId());
+ } else {
+ ALOGE("%s: Camera %d: Error in ZSL queue: %s (%d)",
+ __FUNCTION__, client->getCameraId(), strerror(-res), res);
+ }
return STANDARD_START;
}