diff --git a/hdf/camera/cameraMg/v1_3/src/camera_hdi_test_v1_3.cpp b/hdf/camera/cameraMg/v1_3/src/camera_hdi_test_v1_3.cpp index 9a90eabe836483f6225b8ed480477940d8c4e631..b2acf29819bb0c67c07c5ee8debb4acff21550ec 100644 --- a/hdf/camera/cameraMg/v1_3/src/camera_hdi_test_v1_3.cpp +++ b/hdf/camera/cameraMg/v1_3/src/camera_hdi_test_v1_3.cpp @@ -24,6 +24,11 @@ constexpr uint32_t DATA_CAPACITY = 2000; constexpr uint32_t DATA_COUNT = 1; constexpr uint32_t FPS_COUNT = 2; constexpr uint32_t EXPOSURE_COUNT = 4; +constexpr uint32_t STEP_ONE = 1; +constexpr uint32_t STEP_TWO = 2; +constexpr uint32_t MODE_END = -1; +constexpr uint32_t TAG_END = -1; +constexpr uint32_t NORMAL_PHOTO = 1; int64_t OHOS::Camera::Test::StreamConsumer::g_timestamp[2] = {0}; void CameraHdiTestV1_3::SetUpTestCase(void) {} void CameraHdiTestV1_3::TearDownTestCase(void) {} @@ -57,6 +62,58 @@ bool g_IsTagValueExistsU8(std::shared_ptr ability, uint32_t tag, return false; } +bool IsQualityPrioritizationTypeSupported(int32_t* originInfo, uint32_t start, uint32_t end) +{ + bool flag1 = false; + bool flag2 = false; + for (uint32_t i = start; i < end; i++) { + if (originInfo[i] == OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_HIGH_QUALITY) { + std::cout<<"OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_HIGH_QUALITY is supported"<ability, nullptr); + common_metadata_header_t* data = cameraTest->ability->get(); + ASSERT_NE(data, nullptr); + camera_metadata_item_t entry; + cameraTest->rc = FindCameraMetadataItem(data, OHOS_ABILITY_PHOTO_QUALITY_PRIORITIZATION, &entry); + if (cameraTest->rc != CAM_META_SUCCESS || entry.count == 0) { + std::cout<<"OHOS_ABILITY_PHOTO_QUALITY_PRIORITIZATION is not supported"<(OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_HIGH_QUALITY); + int ret = FindCameraMetadataItem(data, OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, &item); + if (ret == CAM_META_ITEM_NOT_FOUND) { + status = cameraTest->ability->addEntry(OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, + &metaPhotoQualityPrioritization, DATA_COUNT); + std::cout<<"add OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_HIGH_QUALITY to ability"<ability->updateEntry(OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, + &metaPhotoQualityPrioritization, DATA_COUNT); + std::cout<<"update OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_HIGH_QUALITY to ability"< meta = std::make_shared(ITEM_CAPACITY, DATA_CAPACITY); + std::vector setting; + uint8_t noneType = 0; + meta->addEntry(OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, &noneType, DATA_COUNT); + MetadataUtils::ConvertMetadataToVec(meta, setting); + cameraTest->rc = (OHOS::HDI::Camera::V1_0::CamRetCode)cameraTest->cameraDeviceV1_3->UpdateSettings(setting); + EXPECT_EQ(HDI::Camera::V1_0::NO_ERROR, cameraTest->rc); + std::cout<<"update settings success"<ability, nullptr); + common_metadata_header_t* data = cameraTest->ability->get(); + ASSERT_NE(data, nullptr); + camera_metadata_item_t entry; + cameraTest->rc = FindCameraMetadataItem(data, OHOS_ABILITY_PHOTO_QUALITY_PRIORITIZATION, &entry); + if (cameraTest->rc != CAM_META_SUCCESS || entry.count == 0) { + std::cout<<"OHOS_ABILITY_PHOTO_QUALITY_PRIORITIZATION is not supported"<(OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_SPEED); + int ret = FindCameraMetadataItem(data, OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, &item); + if (ret == CAM_META_ITEM_NOT_FOUND) { + status = cameraTest->ability->addEntry(OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, + &metaPhotoQualityPrioritization, DATA_COUNT); + std::cout<<"add OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_SPEED to ability"<ability->updateEntry(OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, + &metaPhotoQualityPrioritization, DATA_COUNT); + std::cout<<"update OHOS_CAMERA_PHOTO_QUALITY_PRIORITIZATION_SPEED to ability"< meta = std::make_shared(ITEM_CAPACITY, DATA_CAPACITY); + std::vector setting; + uint8_t noneType = 0; + meta->addEntry(OHOS_CONTROL_PHOTO_QUALITY_PRIORITIZATION, &noneType, DATA_COUNT); + MetadataUtils::ConvertMetadataToVec(meta, setting); + cameraTest->rc = (OHOS::HDI::Camera::V1_0::CamRetCode)cameraTest->cameraDeviceV1_3->UpdateSettings(setting); + EXPECT_EQ(HDI::Camera::V1_0::NO_ERROR, cameraTest->rc); + std::cout<<"update settings success"<