From c7ff3486cd502490d40400f16d16051591dca703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=94=BF?= Date: Thu, 20 Feb 2025 20:00:57 +0800 Subject: [PATCH] xxx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李政 --- .../include/camera_device_ability_items.h | 36 +++++++++++++++++++ .../include/camera_metadata_item_info.h | 6 ++++ camera/metadata/src/camera_metadata_info.cpp | 3 ++ 3 files changed, 45 insertions(+) diff --git a/camera/metadata/include/camera_device_ability_items.h b/camera/metadata/include/camera_device_ability_items.h index 253a130b..0f8bc730 100644 --- a/camera/metadata/include/camera_device_ability_items.h +++ b/camera/metadata/include/camera_device_ability_items.h @@ -469,6 +469,36 @@ typedef enum camera_device_metadata_tag { * (i.e. byte ...) */ OHOS_STATUS_SUN_BLOCK_HINT, + /** + * ohos.ability.cameraLimitedCapabilityes [static, double[], public] + * + * Camera capability set for limited concurrent scenarios. + * This item contains other capability items for device capability control, + * such as OHOS_ABILITY_FLASH_MODES or other 3A capabilities. + * Resolution is reported through OHOS_ABLE_AVAILABLE_PROFILE_LEVEL. + * (i.e. OHOS_ABILITY_FLASH_MODES, length, flashMode, flashMode, ...) + * @since 5.1 + * @version 1.0 + */ + OHOS_ABILITY_CAMERA_LIMITED_CAPABILITIES, + /** + * ohos.ability.cameraConcurrentType [static, byte, public] + * + * Indicates whether the current camera is in full concurrency mode or limited concurrency mode. + * (i.e. byte) + * @since 5.1 + * @version 1.0 + */ + OHOS_ABILITY_CAMERA_CONCURRENT_TYPE, + /** + * ohos.ability.cameraConcurrentType [static, int32, public] + * + * Concurrent camera combinations are supported. The camera combinations are separated by - 1. + * (i.e. int32[] [2, 3, -1, 1, 2]) + * @since 5.1 + * @version 1.0 + */ + OHOS_ABILITY_CONCURRENT_SUPPORTED_CAMERAS, /** * ohos.ability.autoAigcPhoto [static, int32[], public] * @@ -2873,4 +2903,10 @@ enum CameraRecordState { OHOS_CAMERA_RECORD_STATE_RECORD_START = 2, OHOS_CAMERA_RECORD_STATE_RECORD_STOP = 3, }; + +// OHOS_ABILITY_CAMERA_CONCURRENT_TYPE +enum CameraConcurrentType { + OHOS_CAMERA_COCURRENT_FULL = 0, + OHOS_CAMERA_COCURRENT_LIIMITED, +}; #endif diff --git a/camera/metadata/include/camera_metadata_item_info.h b/camera/metadata/include/camera_metadata_item_info.h index 77a39ec9..9105105a 100644 --- a/camera/metadata/include/camera_metadata_item_info.h +++ b/camera/metadata/include/camera_metadata_item_info.h @@ -154,6 +154,12 @@ static item_info_t g_ohosCameraProperties[OHOS_CAMERA_PROPERTIES_END - OHOS_CAME OHOS_CAMERA_PROPERTIES_START] = {"autoAigcPhoto", META_TYPE_INT32, -1}, [OHOS_CONTROL_AUTO_AIGC_PHOTO - OHOS_CAMERA_PROPERTIES_START] = {"controlAutoAigcPhoto", META_TYPE_BYTE, 1}, + [OHOS_ABILITY_CAMERA_LIMITED_CAPABILITIES - + OHOS_CAMERA_PROPERTIES_START] = {"cameraLimitedCapability", META_TYPE_DOUBLE, -1}, + [OHOS_ABILITY_CAMERA_CONCURRENT_TYPE - + OHOS_CAMERA_PROPERTIES_START] = {"cameraConcurrentType", META_TYPE_BYTE, 1}, + [OHOS_ABILITY_CONCURRENT_SUPPORTED_CAMERAS - + OHOS_CAMERA_PROPERTIES_START] = {"cameraConcurrentSupportedCameras", META_TYPE_INT32, 1}, }; static item_info_t g_ohosCameraSensor[OHOS_CAMERA_SENSOR_END - OHOS_CAMERA_SENSOR_START] = { diff --git a/camera/metadata/src/camera_metadata_info.cpp b/camera/metadata/src/camera_metadata_info.cpp index 121d9ad4..7804894a 100644 --- a/camera/metadata/src/camera_metadata_info.cpp +++ b/camera/metadata/src/camera_metadata_info.cpp @@ -88,6 +88,9 @@ const std::vector g_metadataTags = { OHOS_STATUS_SUN_BLOCK_HINT, OHOS_ABILITY_AUTO_AIGC_PHOTO, OHOS_CONTROL_AUTO_AIGC_PHOTO, + OHOS_ABILITY_CAMERA_LIMITED_CAPABILITIES, + OHOS_ABILITY_CAMERA_CONCURRENT_TYPE, + OHOS_ABILITY_CONCURRENT_SUPPORTED_CAMERAS, OHOS_SENSOR_EXPOSURE_TIME, OHOS_SENSOR_COLOR_CORRECTION_GAINS, -- Gitee