QCamera2: HAL3: ANDROID_SYNC_FRAME_NUMBER Metadata Fix
Update ANDROID_SYNC_FRAME_NUMBER tag in orchestrateResult function,
after internal frame number is translated to framework frame number.
Test: Manually use GCA
Bug: 36655894
Change-Id: I485b636b4559d8e99d06586ba8213dacfb46074f
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index f89cabc..a738bbe 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -4435,6 +4435,15 @@
if (frameworkFrameNumber == EMPTY_FRAMEWORK_FRAME_NUMBER) {
LOGD("Internal Request drop the result");
} else {
+ if (result->result != NULL) {
+ CameraMetadata metadata;
+ metadata.acquire((camera_metadata_t *)result->result);
+ if (metadata.exists(ANDROID_SYNC_FRAME_NUMBER)) {
+ int64_t sync_frame_number = frameworkFrameNumber;
+ metadata.update(ANDROID_SYNC_FRAME_NUMBER, &sync_frame_number, 1);
+ }
+ result->result = metadata.release();
+ }
result->frame_number = frameworkFrameNumber;
mCallbackOps->process_capture_result(mCallbackOps, result);
}