diff options
Diffstat (limited to 'services/camera/libcameraservice/camera2/FrameProcessor.h')
-rw-r--r-- | services/camera/libcameraservice/camera2/FrameProcessor.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/camera2/FrameProcessor.h b/services/camera/libcameraservice/camera2/FrameProcessor.h index 27ed8f6..f480c55 100644 --- a/services/camera/libcameraservice/camera2/FrameProcessor.h +++ b/services/camera/libcameraservice/camera2/FrameProcessor.h @@ -44,6 +44,9 @@ class FrameProcessor : public ProFrameProcessor { private: wp<Camera2Client> mClient; + + bool mSynthesize3ANotify; + int mLastFrameNumberOfFaces; void processNewFrames(const sp<Camera2Client> &client); @@ -54,6 +57,22 @@ class FrameProcessor : public ProFrameProcessor { status_t processFaceDetect(const CameraMetadata &frame, const sp<Camera2Client> &client); + // Send 3A state change notifications to client based on frame metadata + status_t process3aState(const CameraMetadata &frame, + const sp<Camera2Client> &client); + + 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; + // Emit FaceDetection event to java if faces changed void callbackFaceDetection(sp<Camera2Client> client, const camera_frame_metadata &metadata); |