summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/Camera3Device.h
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-07-18 19:15:17 -0700
committerEino-Ville Talvala <etalvala@google.com>2013-07-18 19:36:00 -0700
commit46910bdc57c35ac36bd4adcbb76f4f3a590e3f21 (patch)
tree61f2b1567b83c436650e098f89527ec261a3d9aa /services/camera/libcameraservice/Camera3Device.h
parenta2520db02bead68d4980783c41500ae96511bdf8 (diff)
downloadframeworks_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.h13
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 ****/
/**