summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2014-07-07 17:05:38 -0700
committerZhijun He <zhijunhe@google.com>2014-07-08 14:13:16 +0000
commit0ea8fa4ccbf9b2b179370b983f3887d3daf2381f (patch)
tree7c513124746228beab5a262424fcbdd2a00018c7 /services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp
parentd8cbe4a024ef54adf043b6ea31fa22271b8b2c51 (diff)
downloadframeworks_av-0ea8fa4ccbf9b2b179370b983f3887d3daf2381f.zip
frameworks_av-0ea8fa4ccbf9b2b179370b983f3887d3daf2381f.tar.gz
frameworks_av-0ea8fa4ccbf9b2b179370b983f3887d3daf2381f.tar.bz2
Camera3: Add capture intent for ZSL capture
Also fix the warning condition in input buffer return path. Change-Id: I90e9edc1db9f1de87bc8936000b00c3306160c71
Diffstat (limited to 'services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp')
-rw-r--r--services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp b/services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp
index 99abced..911f55a 100644
--- a/services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp
+++ b/services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp
@@ -89,8 +89,26 @@ status_t StreamingProcessor::updatePreviewRequest(const Parameters &params) {
Mutex::Autolock m(mMutex);
if (mPreviewRequest.entryCount() == 0) {
- res = device->createDefaultRequest(CAMERA2_TEMPLATE_PREVIEW,
- &mPreviewRequest);
+ sp<Camera2Client> client = mClient.promote();
+ if (client == 0) {
+ ALOGE("%s: Camera %d: Client does not exist", __FUNCTION__, mId);
+ return INVALID_OPERATION;
+ }
+
+ // Use CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG for ZSL streaming case.
+ if (client->getCameraDeviceVersion() >= CAMERA_DEVICE_API_VERSION_3_0) {
+ if (params.zslMode && !params.recordingHint) {
+ res = device->createDefaultRequest(CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG,
+ &mPreviewRequest);
+ } else {
+ res = device->createDefaultRequest(CAMERA3_TEMPLATE_PREVIEW,
+ &mPreviewRequest);
+ }
+ } else {
+ res = device->createDefaultRequest(CAMERA2_TEMPLATE_PREVIEW,
+ &mPreviewRequest);
+ }
+
if (res != OK) {
ALOGE("%s: Camera %d: Unable to create default preview request: "
"%s (%d)", __FUNCTION__, mId, strerror(-res), res);