summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2014-08-22 03:29:01 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-08-22 03:29:01 +0000
commitdbddcd51c76b587b4e1cfaae82217fee9601cdec (patch)
tree70e21da91c3570577a05dc1dae917d0b6e48115f
parent19d99c521fb810aff292d9e40aa5caa415624986 (diff)
parentfa1fc7086313f2f1868cae4c1a5698e592a437cb (diff)
downloadframeworks_av-dbddcd51c76b587b4e1cfaae82217fee9601cdec.zip
frameworks_av-dbddcd51c76b587b4e1cfaae82217fee9601cdec.tar.gz
frameworks_av-dbddcd51c76b587b4e1cfaae82217fee9601cdec.tar.bz2
am fa1fc708: Merge "Camera: fix triggerId logic" into lmp-dev
* commit 'fa1fc7086313f2f1868cae4c1a5698e592a437cb': Camera: fix triggerId logic
-rw-r--r--services/camera/libcameraservice/device3/Camera3Device.cpp13
-rw-r--r--services/camera/libcameraservice/device3/Camera3Device.h2
2 files changed, 13 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index 93c8662..0d33406 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -2138,6 +2138,8 @@ Camera3Device::RequestThread::RequestThread(wp<Camera3Device> parent,
mPaused(true),
mFrameNumber(0),
mLatestRequestId(NAME_NOT_FOUND),
+ mCurrentAfTriggerId(0),
+ mCurrentPreCaptureTriggerId(0),
mRepeatingLastFrameNumber(NO_IN_FLIGHT_REPEATING_FRAMES) {
mStatusId = statusTracker->addComponent();
}
@@ -2620,6 +2622,8 @@ sp<Camera3Device::CaptureRequest>
if (nextRequest != NULL) {
nextRequest->mResultExtras.frameNumber = mFrameNumber++;
+ nextRequest->mResultExtras.afTriggerId = mCurrentAfTriggerId;
+ nextRequest->mResultExtras.precaptureTriggerId = mCurrentPreCaptureTriggerId;
}
return nextRequest;
}
@@ -2699,8 +2703,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<uint32_t>(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 e071cc2..915c024 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.h
+++ b/services/camera/libcameraservice/device3/Camera3Device.h
@@ -486,6 +486,8 @@ class Camera3Device :
TriggerMap mTriggerMap;
TriggerMap mTriggerRemovedMap;
TriggerMap mTriggerReplacedMap;
+ uint32_t mCurrentAfTriggerId;
+ uint32_t mCurrentPreCaptureTriggerId;
int64_t mRepeatingLastFrameNumber;
};