diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2017-08-22 16:15:09 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2017-09-15 11:08:48 -0700 |
commit | 50fe43099495dcb388fdd7eb1ff78609aaa0cf88 (patch) | |
tree | 05cb5a744e55f3e633d6a36089cdd5e510f29d9e /camera/device/3.2/default/CameraDeviceSession.cpp | |
parent | 7c353e9dd8a94ba0b1648726e7859a9bfe5d1111 (diff) |
Camera: Add default implementation of camera.device@3.3
Inherit as much as possible from camera.device@3.2
- Refactor CameraDeviceSession@3.2 implementation to separate out the
HIDL session interface from the main implementation object. This
avoids multiple inheritance issues
- Create CameraDeviceSession@3.3 with support for the new
overrideDataspace field
- Add virtual factory method for CameraDevice to create the right version
of Session.
- Create CameraDevice@3.3, which overrides createSession to return a
CameraDeviceSession@3.3.
- Add system property to override selection of which minor HIDL
version is used for legal HAL version 3.x; set the default to the
newest available minor version.
Test: Camera CTS passes on device using @3.3.
Bug: 62358514
Change-Id: I497e4bc0de798b56ecdb2ea6467b79afccaf89f7
Diffstat (limited to 'camera/device/3.2/default/CameraDeviceSession.cpp')
-rw-r--r-- | camera/device/3.2/default/CameraDeviceSession.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp index fcd134f45e..d6a04bc56b 100644 --- a/camera/device/3.2/default/CameraDeviceSession.cpp +++ b/camera/device/3.2/default/CameraDeviceSession.cpp @@ -49,7 +49,6 @@ CameraDeviceSession::CameraDeviceSession( mDerivePostRawSensKey(false), mNumPartialResults(1), mResultBatcher(callback) { - mDeviceInfo = deviceInfo; camera_metadata_entry partialResultsCount = mDeviceInfo.find(ANDROID_REQUEST_PARTIAL_RESULT_COUNT); @@ -328,7 +327,8 @@ void CameraDeviceSession::ResultBatcher::setBatchedStreams( mStreamsToBatch = streamsToBatch; } -void CameraDeviceSession::ResultBatcher::setResultMetadataQueue(std::shared_ptr<ResultMetadataQueue> q) { +void CameraDeviceSession::ResultBatcher::setResultMetadataQueue( + std::shared_ptr<ResultMetadataQueue> q) { Mutex::Autolock _l(mLock); mResultMetadataQueue = q; } @@ -387,7 +387,8 @@ void CameraDeviceSession::ResultBatcher::checkAndRemoveFirstBatch() { } } -void CameraDeviceSession::ResultBatcher::sendBatchShutterCbsLocked(std::shared_ptr<InflightBatch> batch) { +void CameraDeviceSession::ResultBatcher::sendBatchShutterCbsLocked( + std::shared_ptr<InflightBatch> batch) { if (batch->mShutterDelivered) { ALOGW("%s: batch shutter callback already sent!", __FUNCTION__); return; @@ -441,7 +442,8 @@ void CameraDeviceSession::ResultBatcher::pushStreamBuffer( } } -void CameraDeviceSession::ResultBatcher::sendBatchBuffersLocked(std::shared_ptr<InflightBatch> batch) { +void CameraDeviceSession::ResultBatcher::sendBatchBuffersLocked( + std::shared_ptr<InflightBatch> batch) { sendBatchBuffersLocked(batch, mStreamsToBatch); } @@ -736,7 +738,7 @@ void CameraDeviceSession::ResultBatcher::processCaptureResult(CaptureResult& res // Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow. Return<void> CameraDeviceSession::constructDefaultRequestSettings( - RequestTemplate type, constructDefaultRequestSettings_cb _hidl_cb) { + RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { Status status = initStatus(); CameraMetadata outMetadata; const camera_metadata_t *rawRequest; @@ -802,7 +804,8 @@ android_dataspace CameraDeviceSession::mapToLegacyDataspace( } Return<void> CameraDeviceSession::configureStreams( - const StreamConfiguration& requestedConfiguration, configureStreams_cb _hidl_cb) { + const StreamConfiguration& requestedConfiguration, + ICameraDeviceSession::configureStreams_cb _hidl_cb) { Status status = initStatus(); HalStreamConfiguration outStreams; @@ -960,13 +963,13 @@ void CameraDeviceSession::updateBufferCaches(const hidl_vec<BufferCache>& caches } Return<void> CameraDeviceSession::getCaptureRequestMetadataQueue( - getCaptureRequestMetadataQueue_cb _hidl_cb) { + ICameraDeviceSession::getCaptureRequestMetadataQueue_cb _hidl_cb) { _hidl_cb(*mRequestMetadataQueue->getDesc()); return Void(); } Return<void> CameraDeviceSession::getCaptureResultMetadataQueue( - getCaptureResultMetadataQueue_cb _hidl_cb) { + ICameraDeviceSession::getCaptureResultMetadataQueue_cb _hidl_cb) { _hidl_cb(*mResultMetadataQueue->getDesc()); return Void(); } @@ -974,7 +977,7 @@ Return<void> CameraDeviceSession::getCaptureResultMetadataQueue( Return<void> CameraDeviceSession::processCaptureRequest( const hidl_vec<CaptureRequest>& requests, const hidl_vec<BufferCache>& cachesToRemove, - processCaptureRequest_cb _hidl_cb) { + ICameraDeviceSession::processCaptureRequest_cb _hidl_cb) { updateBufferCaches(cachesToRemove); uint32_t numRequestProcessed = 0; |