已合并
维测优化 #2056
wangdongqi创建于 8月10日
维测优化 #2056
已合并
共 2 个文件变更+18-6
| @@ -526,6 +526,10 @@ std::map<uint32_t, uint32_t> g_itemDataTypeMap { | |||
| 526 | CameraMetadata::CameraMetadata(size_t itemCapacity, size_t dataCapacity) | 526 | CameraMetadata::CameraMetadata(size_t itemCapacity, size_t dataCapacity) |
| 527 | { | 527 | { |
| 528 | metadata_ = AllocateCameraMetadataBuffer(itemCapacity, AlignTo(dataCapacity, DATA_ALIGNMENT)); | 528 | metadata_ = AllocateCameraMetadataBuffer(itemCapacity, AlignTo(dataCapacity, DATA_ALIGNMENT)); |
| 529 | + if (metadata_ == nullptr) { | ||
| 530 | + METADATA_ERR_LOG("CameraMetadata: AllocateCameraMetadataBuffer failed, itemCapacity: %{public}zu," | ||
| 531 | + "dataCapacity: %{public}zu", itemCapacity, dataCapacity); | ||
| 532 | + } | ||
| 529 | } | 533 | } |
| 530 | 534 | ||
| 531 | CameraMetadata::~CameraMetadata() | 535 | CameraMetadata::~CameraMetadata() |
| @@ -798,7 +802,8 @@ common_metadata_header_t *CameraMetadata::AllocateCameraMetadataBuffer(uint32_t | |||
| 798 | size_t memoryRequired = CalculateCameraMetadataMemoryRequired(item_capacity, data_capacity); | 802 | size_t memoryRequired = CalculateCameraMetadataMemoryRequired(item_capacity, data_capacity); |
| 799 | void *buffer = calloc(1, memoryRequired); | 803 | void *buffer = calloc(1, memoryRequired); |
| 800 | if (buffer == nullptr) { | 804 | if (buffer == nullptr) { |
| 801 | - METADATA_ERR_LOG("AllocateCameraMetadataBuffer memory allocation failed"); | 805 | + METADATA_ERR_LOG("AllocateCameraMetadataBuffer memory allocation failed, memoryRequired: %{public}zu", |
| 806 | + memoryRequired); | ||
| 802 | return reinterpret_cast<common_metadata_header_t *>(buffer); | 807 | return reinterpret_cast<common_metadata_header_t *>(buffer); |
| 803 | } | 808 | } |
| 804 | 809 | ||
| @@ -307,10 +307,14 @@ void MetadataUtils::ConvertVecToMetadata(const std::vector<uint8_t>& cameraAbili | |||
| 307 | 307 | ||
| 308 | metadata = std::make_shared<CameraMetadata>(itemCapacity, dataCapacity); | 308 | metadata = std::make_shared<CameraMetadata>(itemCapacity, dataCapacity); |
| 309 | common_metadata_header_t *meta = metadata->get(); | 309 | common_metadata_header_t *meta = metadata->get(); |
| 310 | - for (auto &item_ : items) { | 310 | + for (auto &item_: items) { |
| 311 | void *buffer = nullptr; | 311 | void *buffer = nullptr; |
| 312 | MetadataUtils::ItemDataToBuffer(item_, &buffer); | 312 | MetadataUtils::ItemDataToBuffer(item_, &buffer); |
| 313 | - (void)AddCameraMetadataItem(meta, item_.item, buffer, item_.count); | 313 | + int32_t addRet = AddCameraMetadataItem(meta, item_.item, buffer, item_.count); |
| 314 | + if (addRet != CAM_META_SUCCESS) { | ||
| 315 | + METADATA_ERR_LOG("ConvertVecToMetadata: AddCameraMetadataItem failed, ret=%{public}d, item=%{public}u", | ||
| 316 | + addRet, item_.item); | ||
| 317 | + } | ||
| 314 | FreeMetadataBuffer(item_); | 318 | FreeMetadataBuffer(item_); |
| 315 | } | 319 | } |
| 316 | } | 320 | } |
| @@ -350,10 +354,14 @@ void MetadataUtils::ReadCameraMetadata(MessageParcel &data, common_metadata_head | |||
| 350 | items.push_back(item); | 354 | items.push_back(item); |
| 351 | } | 355 | } |
| 352 | 356 | ||
| 353 | - for (auto &item_ : items) { | 357 | + for (auto &item_: items) { |
| 354 | void *buffer = nullptr; | 358 | void *buffer = nullptr; |
| 355 | MetadataUtils::ItemDataToBuffer(item_, &buffer); | 359 | MetadataUtils::ItemDataToBuffer(item_, &buffer); |
| 356 | - (void)AddCameraMetadataItem(meta, item_.item, buffer, item_.count); | 360 | + int32_t addRet = AddCameraMetadataItem(meta, item_.item, buffer, item_.count); |
| 361 | + if (addRet != CAM_META_SUCCESS) { | ||
| 362 | + METADATA_ERR_LOG("ReadCameraMetadata: AddCameraMetadataItem failed, ret=%{public}d, item=%{public}u", | ||
| 363 | + addRet, item_.item); | ||
| 364 | + } | ||
| 357 | FreeMetadataBuffer(item_); | 365 | FreeMetadataBuffer(item_); |
| 358 | } | 366 | } |
| 359 | } | 367 | } |
| @@ -426,7 +434,6 @@ std::string MetadataUtils::EncodeToString(std::shared_ptr<CameraMetadata> metada | |||
| 426 | METADATA_ERR_LOG("MetadataUtils::EncodeToString Metadata is invalid"); | 434 | METADATA_ERR_LOG("MetadataUtils::EncodeToString Metadata is invalid"); |
| 427 | return {}; | 435 | return {}; |
| 428 | } | 436 | } |
| 429 | - | ||
| 430 | common_metadata_header_t *meta = metadata->get(); | 437 | common_metadata_header_t *meta = metadata->get(); |
| 431 | METADATA_CHECK_ERROR_RETURN_RET_LOG( | 438 | METADATA_CHECK_ERROR_RETURN_RET_LOG( |
| 432 | (static_cast<uint64_t>(headerLength) + (itemLen * meta->item_count) + meta->data_count) > | 439 | (static_cast<uint64_t>(headerLength) + (itemLen * meta->item_count) + meta->data_count) > |