diff --git a/frameworks/native/camera/base/src/session/capture_session.cpp b/frameworks/native/camera/base/src/session/capture_session.cpp index 7c6d80de6696e7e233f0e782c2140011bc04a204..0851b391f9e3495cff363021ff4b20ec8b27bda2 100644 --- a/frameworks/native/camera/base/src/session/capture_session.cpp +++ b/frameworks/native/camera/base/src/session/capture_session.cpp @@ -616,25 +616,29 @@ void CaptureSession::UpdateDeviceDeferredability() CHECK_RETURN_ELOG(metadata == nullptr, "UpdateDeviceDeferredability camera metadata is null"); int32_t ret = Camera::FindCameraMetadataItem(metadata->get(), OHOS_ABILITY_DEFERRED_IMAGE_DELIVERY, &item); MEDIA_INFO_LOG("UpdateDeviceDeferredability get ret: %{public}d", ret); - MEDIA_DEBUG_LOG("UpdateDeviceDeferredability item: %{public}d count: %{public}d", item.item, item.count); - for (uint32_t i = 0; i < item.count; i++) { - if (i % DEFERRED_MODE_DATA_SIZE == 0) { - MEDIA_DEBUG_LOG("UpdateDeviceDeferredability mode index:%{public}d, deferredType:%{public}d", - item.data.u8[i], item.data.u8[i + 1]); - deviceInfo->modeDeferredType_[item.data.u8[i]] = - static_cast(item.data.u8[i + 1]); + if (ret == CAM_META_SUCCESS) { + MEDIA_INFO_LOG("UpdateDeviceDeferredability item: %{public}d count: %{public}d", item.item, item.count); + for (uint32_t i = 0; i + 1 < item.count; i++) { + if (i % DEFERRED_MODE_DATA_SIZE == 0) { + MEDIA_DEBUG_LOG("UpdateDeviceDeferredability mode index:%{public}d, deferredType:%{public}d", + item.data.u8[i], item.data.u8[i + 1]); + deviceInfo->modeDeferredType_[item.data.u8[i]] = + static_cast(item.data.u8[i + 1]); + } } } deviceInfo->modeVideoDeferredType_ = {}; ret = Camera::FindCameraMetadataItem(metadata->get(), OHOS_ABILITY_AUTO_DEFERRED_VIDEO_ENHANCE, &item); MEDIA_INFO_LOG("UpdateDeviceDeferredability get video ret: %{public}d", ret); - MEDIA_DEBUG_LOG("UpdateDeviceDeferredability video item: %{public}d count: %{public}d", item.item, item.count); - for (uint32_t i = 0; i + 1 < item.count; i++) { - if (i % DEFERRED_MODE_DATA_SIZE == 0) { - MEDIA_DEBUG_LOG("UpdateDeviceDeferredability mode index:%{public}d, video deferredType:%{public}d", - item.data.u8[i], item.data.u8[i + 1]); - deviceInfo->modeVideoDeferredType_[item.data.u8[i]] = item.data.u8[i + 1]; + if (ret == CAM_META_SUCCESS) { + MEDIA_INFO_LOG("UpdateDeviceDeferredability video item: %{public}d count: %{public}d", item.item, item.count); + for (uint32_t i = 0; i + 1 < item.count; i++) { + if (i % DEFERRED_MODE_DATA_SIZE == 0) { + MEDIA_DEBUG_LOG("UpdateDeviceDeferredability mode index:%{public}d, video deferredType:%{public}d", + item.data.u8[i], item.data.u8[i + 1]); + deviceInfo->modeVideoDeferredType_[item.data.u8[i]] = item.data.u8[i + 1]; + } } } }