diff options
author | Emilian Peev <epeev@google.com> | 2018-01-17 11:00:54 +0000 |
---|---|---|
committer | Emilian Peev <epeev@google.com> | 2018-01-20 15:51:37 +0000 |
commit | b75aa350e71b0c7dc59c4d51420a37608577a650 (patch) | |
tree | 68d0f0ec5d6773aeeb874f3ddf0765796669252a /camera/device/3.2/default/CameraDeviceSession.cpp | |
parent | 82e36b3f8cf13aef95d4746fbf8d6803b1174482 (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.cpp | 10 |
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"); |