diff options
Diffstat (limited to 'camera/OMXCameraAdapter/OMXFocus.cpp')
-rw-r--r-- | camera/OMXCameraAdapter/OMXFocus.cpp | 9 |
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); |