Loading camera/device/3.2/default/CameraDeviceSession.cpp +10 −5 Original line number Original line Diff line number Diff line Loading @@ -738,8 +738,14 @@ void CameraDeviceSession::ResultBatcher::processCaptureResult(CaptureResult& res // Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow. // Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow. Return<void> CameraDeviceSession::constructDefaultRequestSettings( Return<void> CameraDeviceSession::constructDefaultRequestSettings( RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { Status status = initStatus(); CameraMetadata outMetadata; CameraMetadata outMetadata; Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata); _hidl_cb(status, outMetadata); return Void(); } Status CameraDeviceSession::constructDefaultRequestSettingsRaw(int type, CameraMetadata *outMetadata) { Status status = initStatus(); const camera_metadata_t *rawRequest; const camera_metadata_t *rawRequest; if (status == Status::OK) { if (status == Status::OK) { ATRACE_BEGIN("camera3->construct_default_request_settings"); ATRACE_BEGIN("camera3->construct_default_request_settings"); Loading @@ -761,15 +767,14 @@ Return<void> CameraDeviceSession::constructDefaultRequestSettings( defaultBoost, 1); defaultBoost, 1); const camera_metadata_t *metaBuffer = const camera_metadata_t *metaBuffer = mOverridenRequest.getAndLock(); mOverridenRequest.getAndLock(); convertToHidl(metaBuffer, &outMetadata); convertToHidl(metaBuffer, outMetadata); mOverridenRequest.unlock(metaBuffer); mOverridenRequest.unlock(metaBuffer); } else { } else { convertToHidl(rawRequest, &outMetadata); convertToHidl(rawRequest, outMetadata); } } } } } } _hidl_cb(status, outMetadata); return status; return Void(); } } /** /** Loading camera/device/3.2/default/CameraDeviceSession.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -113,6 +113,8 @@ protected: Return<void> close(); Return<void> close(); // Helper methods // Helper methods Status constructDefaultRequestSettingsRaw(int type, CameraMetadata *outMetadata); bool preProcessConfigurationLocked(const StreamConfiguration& requestedConfiguration, bool preProcessConfigurationLocked(const StreamConfiguration& requestedConfiguration, camera3_stream_configuration_t *stream_list /*out*/, camera3_stream_configuration_t *stream_list /*out*/, hidl_vec<camera3_stream_t*> *streams /*out*/); hidl_vec<camera3_stream_t*> *streams /*out*/); Loading camera/device/3.4/Android.bp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -18,8 +18,11 @@ hidl_interface { "android.hidl.base@1.0", "android.hidl.base@1.0", ], ], types: [ types: [ "CaptureRequest", "HalStream", "HalStream", "HalStreamConfiguration", "HalStreamConfiguration", "PhysicalCameraSetting", "RequestTemplate", "Stream", "Stream", "StreamConfiguration", "StreamConfiguration", ], ], Loading camera/device/3.4/ICameraDeviceSession.hal +38 −0 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.hardware.camera.device@3.4; package android.hardware.camera.device@3.4; import android.hardware.camera.common@1.0::Status; import android.hardware.camera.common@1.0::Status; import @3.2::CameraMetadata; import @3.3::ICameraDeviceSession; import @3.3::ICameraDeviceSession; import @3.3::HalStreamConfiguration; import @3.3::HalStreamConfiguration; import @3.2::BufferCache; import @3.2::BufferCache; Loading @@ -29,6 +30,43 @@ import @3.2::BufferCache; */ */ interface ICameraDeviceSession extends @3.3::ICameraDeviceSession { interface ICameraDeviceSession extends @3.3::ICameraDeviceSession { /** * constructDefaultRequestSettings_3_4: * * Create capture settings for standard camera use cases. Supports the * new template enums added in @3.4. * * The device must return a settings buffer that is configured to meet the * requested use case, which must be one of the CAMERA3_TEMPLATE_* * enums. All request control fields must be included. * * Performance requirements: * * This must be a non-blocking call. The HAL should return from this call * in 1ms, and must return from this call in 5ms. * * Return values: * @return status Status code for the operation, one of: * OK: * On a successful construction of default settings. * INTERNAL_ERROR: * An unexpected internal error occurred, and the default settings * are not available. * ILLEGAL_ARGUMENT: * The camera HAL does not support the input template type * CAMERA_DISCONNECTED: * An external camera device has been disconnected, and is no longer * available. This camera device interface is now stale, and a new * instance must be acquired if the device is reconnected. All * subsequent calls on this interface must return * CAMERA_DISCONNECTED. * @return requestTemplate The default capture request settings for the requested * use case, or an empty metadata structure if status is not OK. * */ constructDefaultRequestSettings_3_4(RequestTemplate type) generates (Status status, @3.2::CameraMetadata requestTemplate); /** /** * configureStreams_3_4: * configureStreams_3_4: * * Loading camera/device/3.4/default/CameraDeviceSession.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,14 @@ CameraDeviceSession::CameraDeviceSession( CameraDeviceSession::~CameraDeviceSession() { CameraDeviceSession::~CameraDeviceSession() { } } Return<void> CameraDeviceSession::constructDefaultRequestSettings_3_4( RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { V3_2::CameraMetadata outMetadata; Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata); _hidl_cb(status, outMetadata); return Void(); } Return<void> CameraDeviceSession::configureStreams_3_4( Return<void> CameraDeviceSession::configureStreams_3_4( const StreamConfiguration& requestedConfiguration, const StreamConfiguration& requestedConfiguration, ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb) { ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb) { Loading Loading
camera/device/3.2/default/CameraDeviceSession.cpp +10 −5 Original line number Original line Diff line number Diff line Loading @@ -738,8 +738,14 @@ void CameraDeviceSession::ResultBatcher::processCaptureResult(CaptureResult& res // Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow. // Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow. Return<void> CameraDeviceSession::constructDefaultRequestSettings( Return<void> CameraDeviceSession::constructDefaultRequestSettings( RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { Status status = initStatus(); CameraMetadata outMetadata; CameraMetadata outMetadata; Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata); _hidl_cb(status, outMetadata); return Void(); } Status CameraDeviceSession::constructDefaultRequestSettingsRaw(int type, CameraMetadata *outMetadata) { Status status = initStatus(); const camera_metadata_t *rawRequest; const camera_metadata_t *rawRequest; if (status == Status::OK) { if (status == Status::OK) { ATRACE_BEGIN("camera3->construct_default_request_settings"); ATRACE_BEGIN("camera3->construct_default_request_settings"); Loading @@ -761,15 +767,14 @@ Return<void> CameraDeviceSession::constructDefaultRequestSettings( defaultBoost, 1); defaultBoost, 1); const camera_metadata_t *metaBuffer = const camera_metadata_t *metaBuffer = mOverridenRequest.getAndLock(); mOverridenRequest.getAndLock(); convertToHidl(metaBuffer, &outMetadata); convertToHidl(metaBuffer, outMetadata); mOverridenRequest.unlock(metaBuffer); mOverridenRequest.unlock(metaBuffer); } else { } else { convertToHidl(rawRequest, &outMetadata); convertToHidl(rawRequest, outMetadata); } } } } } } _hidl_cb(status, outMetadata); return status; return Void(); } } /** /** Loading
camera/device/3.2/default/CameraDeviceSession.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -113,6 +113,8 @@ protected: Return<void> close(); Return<void> close(); // Helper methods // Helper methods Status constructDefaultRequestSettingsRaw(int type, CameraMetadata *outMetadata); bool preProcessConfigurationLocked(const StreamConfiguration& requestedConfiguration, bool preProcessConfigurationLocked(const StreamConfiguration& requestedConfiguration, camera3_stream_configuration_t *stream_list /*out*/, camera3_stream_configuration_t *stream_list /*out*/, hidl_vec<camera3_stream_t*> *streams /*out*/); hidl_vec<camera3_stream_t*> *streams /*out*/); Loading
camera/device/3.4/Android.bp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -18,8 +18,11 @@ hidl_interface { "android.hidl.base@1.0", "android.hidl.base@1.0", ], ], types: [ types: [ "CaptureRequest", "HalStream", "HalStream", "HalStreamConfiguration", "HalStreamConfiguration", "PhysicalCameraSetting", "RequestTemplate", "Stream", "Stream", "StreamConfiguration", "StreamConfiguration", ], ], Loading
camera/device/3.4/ICameraDeviceSession.hal +38 −0 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.hardware.camera.device@3.4; package android.hardware.camera.device@3.4; import android.hardware.camera.common@1.0::Status; import android.hardware.camera.common@1.0::Status; import @3.2::CameraMetadata; import @3.3::ICameraDeviceSession; import @3.3::ICameraDeviceSession; import @3.3::HalStreamConfiguration; import @3.3::HalStreamConfiguration; import @3.2::BufferCache; import @3.2::BufferCache; Loading @@ -29,6 +30,43 @@ import @3.2::BufferCache; */ */ interface ICameraDeviceSession extends @3.3::ICameraDeviceSession { interface ICameraDeviceSession extends @3.3::ICameraDeviceSession { /** * constructDefaultRequestSettings_3_4: * * Create capture settings for standard camera use cases. Supports the * new template enums added in @3.4. * * The device must return a settings buffer that is configured to meet the * requested use case, which must be one of the CAMERA3_TEMPLATE_* * enums. All request control fields must be included. * * Performance requirements: * * This must be a non-blocking call. The HAL should return from this call * in 1ms, and must return from this call in 5ms. * * Return values: * @return status Status code for the operation, one of: * OK: * On a successful construction of default settings. * INTERNAL_ERROR: * An unexpected internal error occurred, and the default settings * are not available. * ILLEGAL_ARGUMENT: * The camera HAL does not support the input template type * CAMERA_DISCONNECTED: * An external camera device has been disconnected, and is no longer * available. This camera device interface is now stale, and a new * instance must be acquired if the device is reconnected. All * subsequent calls on this interface must return * CAMERA_DISCONNECTED. * @return requestTemplate The default capture request settings for the requested * use case, or an empty metadata structure if status is not OK. * */ constructDefaultRequestSettings_3_4(RequestTemplate type) generates (Status status, @3.2::CameraMetadata requestTemplate); /** /** * configureStreams_3_4: * configureStreams_3_4: * * Loading
camera/device/3.4/default/CameraDeviceSession.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,14 @@ CameraDeviceSession::CameraDeviceSession( CameraDeviceSession::~CameraDeviceSession() { CameraDeviceSession::~CameraDeviceSession() { } } Return<void> CameraDeviceSession::constructDefaultRequestSettings_3_4( RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb) { V3_2::CameraMetadata outMetadata; Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata); _hidl_cb(status, outMetadata); return Void(); } Return<void> CameraDeviceSession::configureStreams_3_4( Return<void> CameraDeviceSession::configureStreams_3_4( const StreamConfiguration& requestedConfiguration, const StreamConfiguration& requestedConfiguration, ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb) { ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb) { Loading