diff options
Diffstat (limited to 'services/camera/libcameraservice/camera2/CaptureSequencer.h')
-rw-r--r-- | services/camera/libcameraservice/camera2/CaptureSequencer.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/camera2/CaptureSequencer.h b/services/camera/libcameraservice/camera2/CaptureSequencer.h index 07e4c01..8df6d95 100644 --- a/services/camera/libcameraservice/camera2/CaptureSequencer.h +++ b/services/camera/libcameraservice/camera2/CaptureSequencer.h @@ -53,6 +53,11 @@ class CaptureSequencer: // Begin still image capture status_t startCapture(); + // Wait until current image capture completes; returns immediately if no + // capture is active. Returns TIMED_OUT if capture does not complete during + // the specified duration. + status_t waitUntilIdle(nsecs_t timeout); + // Notifications about AE state changes void notifyAutoExposure(uint8_t newState, int triggerId); @@ -118,6 +123,8 @@ class CaptureSequencer: NUM_CAPTURE_STATES } mCaptureState; static const char* kStateNames[]; + Mutex mStateMutex; // Guards mCaptureState + Condition mStateChanged; typedef CaptureState (CaptureSequencer::*StateManager)(sp<Camera2Client> &client); static const StateManager kStateManagers[]; |