diff options
Diffstat (limited to 'camera/OMXCameraAdapter/OMXFocus.cpp')
-rw-r--r-- | camera/OMXCameraAdapter/OMXFocus.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/camera/OMXCameraAdapter/OMXFocus.cpp b/camera/OMXCameraAdapter/OMXFocus.cpp index 50e2c21..be1dfc5 100644 --- a/camera/OMXCameraAdapter/OMXFocus.cpp +++ b/camera/OMXCameraAdapter/OMXFocus.cpp @@ -148,9 +148,10 @@ status_t OMXCameraAdapter::doAutoFocus() } } - if ( (focusControl.eFocusControl == OMX_IMAGE_FocusControlAuto - && (focusStatus.eFocusStatus == OMX_FocusStatusRequest - || focusStatus.eFocusStatus == OMX_FocusStatusUnableToReach) ) || + if ( (focusControl.eFocusControl == OMX_IMAGE_FocusControlAuto && + ( focusStatus.eFocusStatus == OMX_FocusStatusRequest || + focusStatus.eFocusStatus == OMX_FocusStatusUnableToReach || + focusStatus.eFocusStatus == OMX_FocusStatusLost ) ) || (mParameters3A.Focus != (OMX_IMAGE_FOCUSCONTROLTYPE)OMX_IMAGE_FocusControlAuto) ) { OMX_INIT_STRUCT_PTR (&bOMX, OMX_CONFIG_BOOLEANTYPE); @@ -163,11 +164,11 @@ status_t OMXCameraAdapter::doAutoFocus() // force AF, Ducati will take care of whether CAF // or AF will be performed, depending on light conditions - if ( focusControl.eFocusControl == OMX_IMAGE_FocusControlAuto - && focusStatus.eFocusStatus == OMX_FocusStatusUnableToReach ) - { - focusControl.eFocusControl = OMX_IMAGE_FocusControlAutoLock; - } + if ( focusControl.eFocusControl == OMX_IMAGE_FocusControlAuto && + ( focusStatus.eFocusStatus == OMX_FocusStatusUnableToReach || + focusStatus.eFocusStatus == OMX_FocusStatusLost ) ) { + focusControl.eFocusControl = OMX_IMAGE_FocusControlAutoLock; + } if ( focusControl.eFocusControl != OMX_IMAGE_FocusControlAuto ) { |