From a03dc5d2cd383b17dd2faf6be4ca75e14cef2ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BB=B7=E5=BB=BA?= Date: Tue, 5 Aug 2025 10:51:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A8=B3=E5=AE=9A=E6=80=A7?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张廷建 --- .../base/src/session/capture_session.cpp | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/frameworks/native/camera/base/src/session/capture_session.cpp b/frameworks/native/camera/base/src/session/capture_session.cpp index 7c6d80de6..0851b391f 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]; + } } } } -- Gitee