summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndriy Chepurnyy <x0155536@ti.com>2013-02-28 19:23:08 +0200
committerHashcode <hashcode0f@gmail.com>2015-02-03 13:39:42 -0800
commitd5e70a5e5d6a724ac648a93940a34b24ade96662 (patch)
treeefc64611622b65b07a8539c8045373d21d845d02
parent3c1d9ceb8868e53c421baed0fd8666c59b28759e (diff)
downloadhardware_ti_omap4-d5e70a5e5d6a724ac648a93940a34b24ade96662.zip
hardware_ti_omap4-d5e70a5e5d6a724ac648a93940a34b24ade96662.tar.gz
hardware_ti_omap4-d5e70a5e5d6a724ac648a93940a34b24ade96662.tar.bz2
CameraHal: Skip AF callback in non-AF state
There is no real need to deliver AF callbacks if autofocus is not triggered from client(i.e. adapter in non AF state). Change-Id: Ie724922c705d749820b6984144bd5390dcd3ff03 Signed-off-by: Andriy Chepurnyy <x0155536@ti.com>
-rw-r--r--camera/OMXCameraAdapter/OMXFocus.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/camera/OMXCameraAdapter/OMXFocus.cpp b/camera/OMXCameraAdapter/OMXFocus.cpp
index 31e5560..17b74a7 100644
--- a/camera/OMXCameraAdapter/OMXFocus.cpp
+++ b/camera/OMXCameraAdapter/OMXFocus.cpp
@@ -829,8 +829,15 @@ void OMXCameraAdapter::handleFocusCallback() {
OMX_PARAM_FOCUSSTATUSTYPE eFocusStatus;
CameraHalEvent::FocusStatus focusStatus = CameraHalEvent::FOCUS_STATUS_FAIL;
status_t ret = NO_ERROR;
- BaseCameraAdapter::AdapterState nextState;
+ BaseCameraAdapter::AdapterState nextState, currentState;
BaseCameraAdapter::getNextState(nextState);
+ BaseCameraAdapter::getState(currentState);
+
+ // Dropping AF callback if it triggered in non AF state
+ if ((currentState != AF_STATE) && (currentState != AF_ZOOM_STATE) &&
+ (nextState != AF_STATE) && (nextState != AF_ZOOM_STATE)) {
+ return;
+ }
OMX_INIT_STRUCT(eFocusStatus, OMX_PARAM_FOCUSSTATUSTYPE);