summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/device3/Camera3Device.cpp
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2014-09-14 12:44:20 -0700
committerZhijun He <zhijunhe@google.com>2014-09-14 14:18:06 -0700
commita1530f1b16f093a91edbbbaf7dac9f9809867817 (patch)
treeae02777ffeb1240f3fb260856839460ad1719348 /services/camera/libcameraservice/device3/Camera3Device.cpp
parent2b9530a7287f4f470d5f2aecea4da043b7af98a7 (diff)
downloadframeworks_av-a1530f1b16f093a91edbbbaf7dac9f9809867817.zip
frameworks_av-a1530f1b16f093a91edbbbaf7dac9f9809867817.tar.gz
frameworks_av-a1530f1b16f093a91edbbbaf7dac9f9809867817.tar.bz2
Camera3: Update ZSL post-processing tags
Update ZSL processing tags according the still capture template Also cache the request template to avoid extra cost of querying into HAL every time. Bug: 17463102 Change-Id: I2eeffefb0a4131c99a85dd3e4484cc6f0f025efa
Diffstat (limited to 'services/camera/libcameraservice/device3/Camera3Device.cpp')
-rw-r--r--services/camera/libcameraservice/device3/Camera3Device.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index fafe349..690f675 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -1044,6 +1044,11 @@ status_t Camera3Device::createDefaultRequest(int templateId,
return INVALID_OPERATION;
}
+ if (!mRequestTemplateCache[templateId].isEmpty()) {
+ *request = mRequestTemplateCache[templateId];
+ return OK;
+ }
+
const camera_metadata_t *rawRequest;
ATRACE_BEGIN("camera3->construct_default_request_settings");
rawRequest = mHal3Device->ops->construct_default_request_settings(
@@ -1055,6 +1060,7 @@ status_t Camera3Device::createDefaultRequest(int templateId,
return DEAD_OBJECT;
}
*request = rawRequest;
+ mRequestTemplateCache[templateId] = rawRequest;
return OK;
}