diff options
author | Zhijun He <zhijunhe@google.com> | 2014-07-07 17:05:38 -0700 |
---|---|---|
committer | Zhijun He <zhijunhe@google.com> | 2014-07-08 14:13:16 +0000 |
commit | 0ea8fa4ccbf9b2b179370b983f3887d3daf2381f (patch) | |
tree | 7c513124746228beab5a262424fcbdd2a00018c7 /services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp | |
parent | d8cbe4a024ef54adf043b6ea31fa22271b8b2c51 (diff) | |
download | frameworks_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.cpp | 22 |
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 ¶ms) { 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); |