summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalyani Oruganti <kalyanio@codeaurora.org>2015-06-25 22:10:16 -0700
committerZhijun He <zhijunhe@google.com>2015-06-26 13:26:30 -0700
commitc7a74d688531cf4214dfe75d4a21a392c32f5d69 (patch)
tree2f981cfed1cdd27bf0b223651853fb991912a949
parentedbb56d0939163192b9a178c15950cb45729956c (diff)
downloadhammerhead-c7a74d688531cf4214dfe75d4a21a392c32f5d69.tar.gz
QCamera2: Send saved AF_CONTROL_STATE.
In case ANDROID_CONTROL_AF_STATE is missing in the metadata, send the most recent saved state. Bug: 16883804 Change-Id: Ib2a1d51d0945598658ce2be34ff71c658e2d71d0
-rw-r--r--camera/QCamera2/HAL3/QCamera3HWI.cpp4
-rw-r--r--camera/QCamera2/HAL3/QCamera3HWI.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index e49ce1e..480259a 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -239,6 +239,7 @@ QCamera3HardwareInterface::QCamera3HardwareInterface(int cameraId,
mParameters(NULL),
mPrevParameters(NULL),
mLoopBackResult(NULL),
+ mAfState(0),
mFlush(false),
mMinProcessedFrameDuration(0),
mMinJpegFrameDuration(0),
@@ -2810,6 +2811,7 @@ QCamera3HardwareInterface::translateCbUrgentMetadataToResultMetadata
case CAM_INTF_META_AF_STATE: {
uint8_t *afState =
(uint8_t *)POINTER_OF(CAM_INTF_META_AF_STATE, metadata);
+ mAfState = *afState;
camMetadata.update(ANDROID_CONTROL_AF_STATE, afState, 1);
ALOGV("%s: urgent Metadata : ANDROID_CONTROL_AF_STATE", __func__);
break;
@@ -2885,6 +2887,8 @@ QCamera3HardwareInterface::translateCbUrgentMetadataToResultMetadata
curr_entry = next_entry;
}
+ camMetadata.update(ANDROID_CONTROL_AF_STATE, &mAfState, 1);
+
uint8_t fwk_aeMode;
if (redeye != NULL && *redeye == 1) {
fwk_aeMode = ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE;
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.h b/camera/QCamera2/HAL3/QCamera3HWI.h
index 2a5f7b4..0ca7e2e 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.h
+++ b/camera/QCamera2/HAL3/QCamera3HWI.h
@@ -274,6 +274,7 @@ private:
int32_t mCurrentRequestId;
camera3_capture_result_t *mLoopBackResult;
nsecs_t mLoopBackTimestamp;
+ uint8_t mAfState;
bool mFlush;
//mutex for serialized access to camera3_device_ops_t functions