summaryrefslogtreecommitdiffstats
path: root/camera/BaseCameraAdapter.cpp
diff options
context:
space:
mode:
authorTyler Luu <tluu@ti.com>2012-01-31 13:36:22 -0600
committerIliyan Malchev <malchev@google.com>2012-02-01 14:47:16 -0800
commit1ec22866752ed94071f2d8ed2ca2a4bd724bd36c (patch)
treee870ea207a7e4d35c9649d5d0d741f34faa6fc9a /camera/BaseCameraAdapter.cpp
parent3634a7f0680637493f094743b51bd374a636a635 (diff)
downloadhardware_ti_omap4-1ec22866752ed94071f2d8ed2ca2a4bd724bd36c.zip
hardware_ti_omap4-1ec22866752ed94071f2d8ed2ca2a4bd724bd36c.tar.gz
hardware_ti_omap4-1ec22866752ed94071f2d8ed2ca2a4bd724bd36c.tar.bz2
CameraHal: Implementation for CAF status callbacks
1. Remove internal handling of CAMERA_MSG_FOCUS. Before we were enabling CAMERA_MSG_FOCUS only when application calls autoFocus(). No longer needed since the CAMERA_MSG_FOCUS can come just during preview now. 2. Add handling of unregistered focus callbacks. Since OMXCamera will send callbacks even when we are not waiting for one, add some handling. Signed-off-by: Tyler Luu <tluu@ti.com> Change-Id: I457e67b33b2561dd0b1ce3863ce807a8c27f79f6 Conflicts: camera/OMXCameraAdapter/OMXFocus.cpp
Diffstat (limited to 'camera/BaseCameraAdapter.cpp')
-rw-r--r--camera/BaseCameraAdapter.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/camera/BaseCameraAdapter.cpp b/camera/BaseCameraAdapter.cpp
index 5f86166..a3d8183 100644
--- a/camera/BaseCameraAdapter.cpp
+++ b/camera/BaseCameraAdapter.cpp
@@ -985,7 +985,7 @@ status_t BaseCameraAdapter::sendCommand(CameraCommands operation, int value1, in
return ret;
}
-status_t BaseCameraAdapter::notifyFocusSubscribers(bool status)
+status_t BaseCameraAdapter::notifyFocusSubscribers(CameraHalEvent::FocusStatus status)
{
event_callback eventCb;
CameraHalEvent focusEvent;
@@ -999,10 +999,12 @@ status_t BaseCameraAdapter::notifyFocusSubscribers(bool status)
}
#if PPM_INSTRUMENTATION || PPM_INSTRUMENTATION_ABS
-
- //dump the AF latency
- CameraHal::PPM("Focus finished in: ", &mStartFocus);
-
+ if (status == CameraHalEvent::FOCUS_STATUS_PENDING) {
+ gettimeofday(&mStartFocus, NULL);
+ } else {
+ //dump the AF latency
+ CameraHal::PPM("Focus finished in: ", &mStartFocus);
+ }
#endif
focusEvent.mEventData = new CameraHalEvent::CameraHalEventData();
@@ -1011,8 +1013,7 @@ status_t BaseCameraAdapter::notifyFocusSubscribers(bool status)
}
focusEvent.mEventType = CameraHalEvent::EVENT_FOCUS_LOCKED;
- focusEvent.mEventData->focusEvent.focusLocked = status;
- focusEvent.mEventData->focusEvent.focusError = !status;
+ focusEvent.mEventData->focusEvent.focusStatus = status;
for (unsigned int i = 0 ; i < mFocusSubscribers.size(); i++ )
{
@@ -1518,7 +1519,7 @@ status_t BaseCameraAdapter::autoFocus()
LOG_FUNCTION_NAME;
- notifyFocusSubscribers(false);
+ notifyFocusSubscribers(CameraHalEvent::FOCUS_STATUS_FAIL);
LOG_FUNCTION_NAME_EXIT;