summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharatt Kukreja <bkukreja@google.com>2023-11-30 23:19:40 +0000
committerShuzhen Wang <shuzhenwang@google.com>2023-12-05 20:34:19 +0000
commit1f080403506f586e32b6d0fc0dcd6bd43d1c532c (patch)
tree855a40a5913144250bf22d3cfc4c610ce82d51fc
parent1f89b09a78e6b8b24895decb9db2ba2eb78d1761 (diff)
downloadcamera-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.cc19
-rw-r--r--common/hal/aidl_service/aidl_camera_device.h4
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;