QCamera3: Move HDR+ enabling after stream on
HDR+ mode should be enabled only after AP, Easel, and sensor have
start streaming.
Test: GCA
Bug: 37442192
Change-Id: I21d5f9a9317301cc25a42a1651f864da68109144
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 9509bb3..5f20e72 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -5227,25 +5227,6 @@
mFirstConfiguration = false;
}
- // Enable HDR+ mode for the first PREVIEW_INTENT request.
- {
- Mutex::Autolock l(gHdrPlusClientLock);
- if (gEaselManagerClient.isEaselPresentOnDevice() &&
- !gEaselBypassOnly && !mFirstPreviewIntentSeen &&
- meta.exists(ANDROID_CONTROL_CAPTURE_INTENT) &&
- meta.find(ANDROID_CONTROL_CAPTURE_INTENT).data.u8[0] ==
- ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW) {
- rc = enableHdrPlusModeLocked();
- if (rc != OK) {
- LOGE("%s: Failed to open HDR+ asynchronously", __FUNCTION__);
- pthread_mutex_unlock(&mMutex);
- return rc;
- }
-
- mFirstPreviewIntentSeen = true;
- }
- }
-
uint32_t frameNumber = request->frame_number;
cam_stream_ID_t streamsArray;
@@ -5989,6 +5970,25 @@
}
}
+ // Enable HDR+ mode for the first PREVIEW_INTENT request.
+ {
+ Mutex::Autolock l(gHdrPlusClientLock);
+ if (gEaselManagerClient.isEaselPresentOnDevice() &&
+ !gEaselBypassOnly && !mFirstPreviewIntentSeen &&
+ meta.exists(ANDROID_CONTROL_CAPTURE_INTENT) &&
+ meta.find(ANDROID_CONTROL_CAPTURE_INTENT).data.u8[0] ==
+ ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW) {
+ rc = enableHdrPlusModeLocked();
+ if (rc != OK) {
+ LOGE("%s: Failed to open HDR+ asynchronously", __FUNCTION__);
+ pthread_mutex_unlock(&mMutex);
+ return rc;
+ }
+
+ mFirstPreviewIntentSeen = true;
+ }
+ }
+
LOGD("mPendingLiveRequest = %d", mPendingLiveRequest);
mState = STARTED;