diff options
author | Emilian Peev <epeev@mm-sol.com> | 2012-03-19 13:50:57 +0200 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2012-03-23 12:11:09 -0700 |
commit | 796f0f82433a3040198f216d15fd9ce17c04f360 (patch) | |
tree | 029da229aeaf8b59ec1d2d0c521baeebf817990a /camera | |
parent | 484116750df56d0805d5f5727ad94701f916e8c6 (diff) | |
download | hardware_ti_omap4xxx-796f0f82433a3040198f216d15fd9ce17c04f360.zip hardware_ti_omap4xxx-796f0f82433a3040198f216d15fd9ce17c04f360.tar.gz hardware_ti_omap4xxx-796f0f82433a3040198f216d15fd9ce17c04f360.tar.bz2 |
CameraHal: Remove excessive focus mode configurations
- This change should improve overall stability during
image capture. Configuring focus mode while image
capture is active is always going to result in
'OMX_ErrorBadParameter'.
Bug: 6026480
Change-Id: I735c5d25adc293d163f77488c0dc6d30a636544b
Signed-off-by: Emilian Peev <epeev@mm-sol.com>
Diffstat (limited to 'camera')
-rwxr-xr-x | camera/OMXCameraAdapter/OMXCameraAdapter.cpp | 10 | ||||
-rw-r--r-- | camera/OMXCameraAdapter/OMXFocus.cpp | 5 |
2 files changed, 7 insertions, 8 deletions
diff --git a/camera/OMXCameraAdapter/OMXCameraAdapter.cpp b/camera/OMXCameraAdapter/OMXCameraAdapter.cpp index 12facc0..b5f156e 100755 --- a/camera/OMXCameraAdapter/OMXCameraAdapter.cpp +++ b/camera/OMXCameraAdapter/OMXCameraAdapter.cpp @@ -2972,11 +2972,6 @@ OMX_ERRORTYPE OMXCameraAdapter::OMXCameraAdapterFillBufferDone(OMX_IN OMX_HANDLE } } - if ( (nextState & CAPTURE_ACTIVE) ) - { - mPending3Asettings |= SetFocus; - } - ///Prepare the frames to be sent - initialize CameraFrame object and reference count // TODO(XXX): ancillary data for snapshot frame is not being sent for video snapshot // if we are waiting for a snapshot and in video mode...go ahead and send @@ -3044,10 +3039,13 @@ OMX_ERRORTYPE OMXCameraAdapter::OMXCameraAdapterFillBufferDone(OMX_IN OMX_HANDLE // On the fly update to 3A settings not working // Do not update 3A here if we are in the middle of a capture // or in the middle of transitioning to it - if( mPending3Asettings && ((nextState & CAPTURE_ACTIVE) == 0)) + if( mPending3Asettings && + ( (nextState & CAPTURE_ACTIVE) == 0 ) && + ( (state & CAPTURE_ACTIVE) == 0 ) ) { apply3Asettings(mParameters3A); } + } else if( pBuffHeader->nOutputPortIndex == OMX_CAMERA_PORT_VIDEO_OUT_MEASUREMENT ) { diff --git a/camera/OMXCameraAdapter/OMXFocus.cpp b/camera/OMXCameraAdapter/OMXFocus.cpp index e9a969c..5703610 100644 --- a/camera/OMXCameraAdapter/OMXFocus.cpp +++ b/camera/OMXCameraAdapter/OMXFocus.cpp @@ -311,10 +311,11 @@ status_t OMXCameraAdapter::cancelAutoFocus() OMX_IMAGE_FocusControlAutoInfinity ) ) { stopAutoFocus(); } else if (focusMode.eFocusControl == OMX_IMAGE_FocusControlAuto) { + // This re-enabling of CAF doesn't seem to + // be needed any more. // re-apply CAF after unlocking and canceling - mPending3Asettings |= SetFocus; + // mPending3Asettings |= SetFocus; } - // If the apps call #cancelAutoFocus()}, the face callbacks will also resume. pauseFaceDetection(false); |