diff options
author | Bharatt Kukreja <bkukreja@google.com> | 2023-11-30 23:19:40 +0000 |
---|---|---|
committer | Shuzhen Wang <shuzhenwang@google.com> | 2023-12-05 20:34:19 +0000 |
commit | 1f080403506f586e32b6d0fc0dcd6bd43d1c532c (patch) | |
tree | 855a40a5913144250bf22d3cfc4c610ce82d51fc | |
parent | 1f89b09a78e6b8b24895decb9db2ba2eb78d1761 (diff) | |
download | camera-1f080403506f586e32b6d0fc0dcd6bd43d1c532c.tar.gz |
EmulatedCamera: Add getSessionCharacteristics API
For now, return the same static metadata in SessionCharacteristics as
in CameraCharacteristics.
Test: Build
Bug: 303645857
Change-Id: I75fddd651315b7074a5d32f13a827f8ba854e26b
-rw-r--r-- | common/hal/aidl_service/aidl_camera_device.cc | 19 | ||||
-rw-r--r-- | common/hal/aidl_service/aidl_camera_device.h | 4 |
2 files changed, 22 insertions, 1 deletions
diff --git a/common/hal/aidl_service/aidl_camera_device.cc b/common/hal/aidl_service/aidl_camera_device.cc index b1c984b..a086897 100644 --- a/common/hal/aidl_service/aidl_camera_device.cc +++ b/common/hal/aidl_service/aidl_camera_device.cc @@ -182,6 +182,23 @@ ScopedAStatus AidlCameraDevice::isStreamCombinationWithSettingsSupported( static_cast<int32_t>(Status::OPERATION_NOT_SUPPORTED)); } +ScopedAStatus AidlCameraDevice::getSessionCharacteristics( + const StreamConfiguration& session_config, + CameraMetadata* characteristics_ret) { + // Temporary check to make sure session configuration is valid. + // As a mock implementation, we are just returning the camera characteristics + // for now. + google_camera_hal::StreamConfiguration stream_config; + status_t res = + aidl_utils::ConvertToHalStreamConfig(session_config, &stream_config); + if (res != OK) { + ALOGE("%s: ConvertToHalStreamConfig fail", __FUNCTION__); + return ScopedAStatus::fromServiceSpecificError( + static_cast<int32_t>(Status::INTERNAL_ERROR)); + } + return getCameraCharacteristics(characteristics_ret); +} + ScopedAStatus AidlCameraDevice::getPhysicalCameraCharacteristics( const std::string& physicalCameraId, CameraMetadata* characteristics_ret) { if (characteristics_ret == nullptr) { @@ -275,7 +292,7 @@ ScopedAStatus AidlCameraDevice::isStreamCombinationSupported( google_camera_hal::StreamConfiguration stream_config; status_t res = aidl_utils::ConvertToHalStreamConfig(streams, &stream_config); if (res != OK) { - ALOGE("%s: ConverToHalStreamConfig fail", __FUNCTION__); + ALOGE("%s: ConvertToHalStreamConfig fail", __FUNCTION__); return ScopedAStatus::fromServiceSpecificError( static_cast<int32_t>(Status::INTERNAL_ERROR)); } diff --git a/common/hal/aidl_service/aidl_camera_device.h b/common/hal/aidl_service/aidl_camera_device.h index bd62834..ccfaea2 100644 --- a/common/hal/aidl_service/aidl_camera_device.h +++ b/common/hal/aidl_service/aidl_camera_device.h @@ -93,6 +93,10 @@ class AidlCameraDevice : public BnCameraDevice { ScopedAStatus isStreamCombinationWithSettingsSupported( const StreamConfiguration& streamConfiguration, bool* supported) override; + ScopedAStatus getSessionCharacteristics( + const StreamConfiguration& session_config, + CameraMetadata* characteristics) override; + // End of override functions in ICameraDevice AidlCameraDevice() = default; |