From 0b438f4383b73e8d84d7695972bd7d1287c8d15f Mon Sep 17 00:00:00 2001 From: Emilian Peev Date: Tue, 6 Mar 2012 11:34:47 +0200 Subject: CameraHal: Triggers temporal bracketing through parameters - Currently temporal bracketing was being triggered automatically as soon as AF events are generated. Due to newer updates that introduce CAF events, this approach is no longer feasible as some AF callbacks may not reach the camera client at all. This change removes the temporal bracketing dependency on AF events. By doing so, we will rely entirely on the client to trigger and stop bracketing appropriately. Change-Id: Id1836425456bcd06a5bae2e4a87ea1d23fae1176 Signed-off-by: Emilian Peev --- camera/CameraHal.cpp | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/camera/CameraHal.cpp b/camera/CameraHal.cpp index 68a623b..14cc03e 100644 --- a/camera/CameraHal.cpp +++ b/camera/CameraHal.cpp @@ -993,11 +993,6 @@ int CameraHal::setParameters(const CameraParameters& params) if ( !mBracketingEnabled ) { CAMHAL_LOGDA("Enabling bracketing"); mBracketingEnabled = true; - - //Wait for AF events to enable bracketing - if ( NULL != mCameraAdapter ) { - setEventProvider( CameraHalEvent::ALL_EVENTS, mCameraAdapter ); - } } else { CAMHAL_LOGDA("Bracketing already enabled"); } @@ -1014,13 +1009,6 @@ int CameraHal::setParameters(const CameraParameters& params) stopImageBracketing(); } - //Remove AF events subscription - if ( NULL != mEventProvider ) { - mEventProvider->disableEventNotification( CameraHalEvent::ALL_EVENTS ); - delete mEventProvider; - mEventProvider = NULL; - } - } else { adapterParams.remove(TICameraParameters::KEY_TEMP_BRACKETING); mParameters.remove(TICameraParameters::KEY_TEMP_BRACKETING); @@ -1071,6 +1059,10 @@ int CameraHal::setParameters(const CameraParameters& params) forceStopPreview(); } + if ( !mBracketingRunning && mBracketingEnabled ) { + startImageBracketing(); + } + if (ret != NO_ERROR) { CAMHAL_LOGEA("Failed to restart Preview"); @@ -2361,26 +2353,6 @@ void CameraHal::eventCallback(CameraHalEvent* event) { LOG_FUNCTION_NAME; - if ( NULL != event ) - { - switch( event->mEventType ) - { - case CameraHalEvent::EVENT_FOCUS_LOCKED: - case CameraHalEvent::EVENT_FOCUS_ERROR: - { - if ( mBracketingEnabled ) - { - startImageBracketing(); - } - break; - } - default: - { - break; - } - }; - } - LOG_FUNCTION_NAME_EXIT; } -- cgit v1.1