diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2013-07-18 19:15:17 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2013-07-18 19:36:00 -0700 |
commit | 46910bdc57c35ac36bd4adcbb76f4f3a590e3f21 (patch) | |
tree | 61f2b1567b83c436650e098f89527ec261a3d9aa /services/camera/libcameraservice/Camera3Device.h | |
parent | a2520db02bead68d4980783c41500ae96511bdf8 (diff) | |
download | frameworks_av-46910bdc57c35ac36bd4adcbb76f4f3a590e3f21.zip frameworks_av-46910bdc57c35ac36bd4adcbb76f4f3a590e3f21.tar.gz frameworks_av-46910bdc57c35ac36bd4adcbb76f4f3a590e3f21.tar.bz2 |
Camera2/3: Fix deadlock when starting recording before preview.
Move 3A notification synthesis for HAL3 devices from
Camera3Device::processCaptureResult to Camera2Client's
FrameProcessor. This will ensure that calls to processCaptureResult
from HAL can never block on Camera2Client internal mutexes.
Bug: 9923891
Change-Id: I5184649bf45c0807babe6b8c0e1239e959cd3480
Diffstat (limited to 'services/camera/libcameraservice/Camera3Device.h')
-rw-r--r-- | services/camera/libcameraservice/Camera3Device.h | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/services/camera/libcameraservice/Camera3Device.h b/services/camera/libcameraservice/Camera3Device.h index faa42b9..2328f89 100644 --- a/services/camera/libcameraservice/Camera3Device.h +++ b/services/camera/libcameraservice/Camera3Device.h @@ -107,6 +107,7 @@ class Camera3Device : virtual status_t waitUntilDrained(); virtual status_t setNotifyCallback(NotificationListener *listener); + virtual bool willNotify3A(); virtual status_t waitForNextFrame(nsecs_t timeout); virtual status_t getNextFrame(CameraMetadata *frame); @@ -389,18 +390,6 @@ class Camera3Device : Condition mResultSignal; NotificationListener *mListener; - struct AlgState { - camera_metadata_enum_android_control_ae_state aeState; - camera_metadata_enum_android_control_af_state afState; - camera_metadata_enum_android_control_awb_state awbState; - - AlgState() : - aeState(ANDROID_CONTROL_AE_STATE_INACTIVE), - afState(ANDROID_CONTROL_AF_STATE_INACTIVE), - awbState(ANDROID_CONTROL_AWB_STATE_INACTIVE) { - } - } m3AState; - /**** End scope for mOutputLock ****/ /** |