summaryrefslogtreecommitdiff
path: root/camera/device/3.2/default/CameraDeviceSession.cpp
diff options
context:
space:
mode:
authorEmilian Peev <epeev@google.com>2018-01-17 11:00:54 +0000
committerEmilian Peev <epeev@google.com>2018-01-20 15:51:37 +0000
commitb75aa350e71b0c7dc59c4d51420a37608577a650 (patch)
tree68d0f0ec5d6773aeeb874f3ddf0765796669252a /camera/device/3.2/default/CameraDeviceSession.cpp
parent82e36b3f8cf13aef95d4746fbf8d6803b1174482 (diff)
camera: Add support for individual physical camera requests
Multi-camera devices should be able to accept and process individual settings for all physical sensors backing the logical camera. 'CaptureRequest' must be extended to hold these additional physical camera settings. Test: Manual using camera application, camera_client_test, run vts --skip-all-system-status-check --skip-preconditions --primary-abi-only --module VtsHalCameraProviderV2_4Target -l INFO Bug: 64691172 Change-Id: Ia38d1e7681a9385be7578c11e40f4e35e9101d75
Diffstat (limited to 'camera/device/3.2/default/CameraDeviceSession.cpp')
-rw-r--r--camera/device/3.2/default/CameraDeviceSession.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index 631404e79c..31b47392e8 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -333,11 +333,10 @@ void CameraDeviceSession::ResultBatcher::setResultMetadataQueue(
mResultMetadataQueue = q;
}
-void CameraDeviceSession::ResultBatcher::registerBatch(
- const hidl_vec<CaptureRequest>& requests) {
+void CameraDeviceSession::ResultBatcher::registerBatch(uint32_t frameNumber, uint32_t batchSize) {
auto batch = std::make_shared<InflightBatch>();
- batch->mFirstFrame = requests[0].frameNumber;
- batch->mBatchSize = requests.size();
+ batch->mFirstFrame = frameNumber;
+ batch->mBatchSize = batchSize;
batch->mLastFrame = batch->mFirstFrame + batch->mBatchSize - 1;
batch->mNumPartialResults = mNumPartialResults;
for (int id : mStreamsToBatch) {
@@ -1010,7 +1009,7 @@ Return<void> CameraDeviceSession::processCaptureRequest(
}
if (s == Status::OK && requests.size() > 1) {
- mResultBatcher.registerBatch(requests);
+ mResultBatcher.registerBatch(requests[0].frameNumber, requests.size());
}
_hidl_cb(s, numRequestProcessed);
@@ -1111,6 +1110,7 @@ Status CameraDeviceSession::processOneCaptureRequest(const CaptureRequest& reque
halRequest.settings = settingsOverride.getAndLock();
}
}
+ halRequest.num_physcam_settings = 0;
ATRACE_ASYNC_BEGIN("frame capture", request.frameNumber);
ATRACE_BEGIN("camera3->process_capture_request");