diff --git a/camera/metadata/include/camera_device_ability_items.h b/camera/metadata/include/camera_device_ability_items.h index 253a130b1f1043472f2fb4239a198b180304fe43..0f8bc730b408cd60433bef23ce76e8544533cfe1 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 77a39ec9bdb3e11a4289c8da86a0a17a84d64de8..9105105a19224aec6a0be5dee82446b4ac43d52a 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 121d9ad4a49c9e31593a5373306a89e98e86111f..7804894ae464b0f9632d1dc6de4f037a1c93fe34 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,