From c00a25ccce0734bf5627cf02d0c4fb3cf051ce15 Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Thu, 21 Aug 2014 14:27:44 -0700 Subject: Camera: fix triggerId logic Fix missing triggerId introduced by previous cleanup change. bug 17108154 bug 17053130 Change-Id: Ifda55d5fbe992d98f335a8427aa256d78a856586 --- services/camera/libcameraservice/device3/Camera3Device.cpp | 13 +++++++++++-- services/camera/libcameraservice/device3/Camera3Device.h | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'services') diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index ed350c1..0ca7f6d 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -2129,6 +2129,8 @@ Camera3Device::RequestThread::RequestThread(wp parent, mPaused(true), mFrameNumber(0), mLatestRequestId(NAME_NOT_FOUND), + mCurrentAfTriggerId(0), + mCurrentPreCaptureTriggerId(0), mRepeatingLastFrameNumber(NO_IN_FLIGHT_REPEATING_FRAMES) { mStatusId = statusTracker->addComponent(); } @@ -2611,6 +2613,8 @@ sp if (nextRequest != NULL) { nextRequest->mResultExtras.frameNumber = mFrameNumber++; + nextRequest->mResultExtras.afTriggerId = mCurrentAfTriggerId; + nextRequest->mResultExtras.precaptureTriggerId = mCurrentPreCaptureTriggerId; } return nextRequest; } @@ -2690,8 +2694,13 @@ status_t Camera3Device::RequestThread::insertTriggers( if (tag == ANDROID_CONTROL_AF_TRIGGER_ID || tag == ANDROID_CONTROL_AE_PRECAPTURE_ID) { bool isAeTrigger = (trigger.metadataTag == ANDROID_CONTROL_AE_PRECAPTURE_ID); uint32_t triggerId = static_cast(trigger.entryValue); - isAeTrigger ? request->mResultExtras.precaptureTriggerId = triggerId : - request->mResultExtras.afTriggerId = triggerId; + if (isAeTrigger) { + request->mResultExtras.precaptureTriggerId = triggerId; + mCurrentPreCaptureTriggerId = triggerId; + } else { + request->mResultExtras.afTriggerId = triggerId; + mCurrentAfTriggerId = triggerId; + } if (parent->mDeviceVersion >= CAMERA_DEVICE_API_VERSION_3_2) { continue; // Trigger ID tag is deprecated since device HAL 3.2 } diff --git a/services/camera/libcameraservice/device3/Camera3Device.h b/services/camera/libcameraservice/device3/Camera3Device.h index 7656237..539d919 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.h +++ b/services/camera/libcameraservice/device3/Camera3Device.h @@ -484,6 +484,8 @@ class Camera3Device : TriggerMap mTriggerMap; TriggerMap mTriggerRemovedMap; TriggerMap mTriggerReplacedMap; + uint32_t mCurrentAfTriggerId; + uint32_t mCurrentPreCaptureTriggerId; int64_t mRepeatingLastFrameNumber; }; -- cgit v1.1