From d70fc6cc57ef431e8ce9328d083bdddadd23c1a1 Mon Sep 17 00:00:00 2001 From: yu-tengao Date: Sat, 28 Oct 2023 11:03:45 +0800 Subject: [PATCH] camera_host deliverbuffer crash Signed-off-by: yu-tengao --- rk3568/camera/pipeline_core/src/node/rk_exif_node.cpp | 9 +++++++-- rk3568/camera/pipeline_core/src/node/rk_exif_node.h | 1 - 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rk3568/camera/pipeline_core/src/node/rk_exif_node.cpp b/rk3568/camera/pipeline_core/src/node/rk_exif_node.cpp index 5da4e34..8008fac 100644 --- a/rk3568/camera/pipeline_core/src/node/rk_exif_node.cpp +++ b/rk3568/camera/pipeline_core/src/node/rk_exif_node.cpp @@ -70,8 +70,13 @@ void RKExifNode::DeliverBuffer(std::shared_ptr &buffer) } } - outPutPorts_ = GetOutPorts(); - for (auto& it : outPutPorts_) { + std::vector> outPutPorts; + outPutPorts = GetOutPorts(); + for (auto& it : outPutPorts) { + if (it == nullptr) { + CAMERA_LOGE("RKExifNode deliver buffer port is null"); + continue; + } if (it->format_.streamId_ == id) { it->DeliverBuffer(buffer); CAMERA_LOGI("RKExifNode deliver buffer streamid = %{public}d", it->format_.streamId_); diff --git a/rk3568/camera/pipeline_core/src/node/rk_exif_node.h b/rk3568/camera/pipeline_core/src/node/rk_exif_node.h index 195b559..e1b9322 100644 --- a/rk3568/camera/pipeline_core/src/node/rk_exif_node.h +++ b/rk3568/camera/pipeline_core/src/node/rk_exif_node.h @@ -44,7 +44,6 @@ private: RetCode SendMetadata(std::shared_ptr meta); RetCode SetGpsInfoMetadata(common_metadata_header_t *data); - std::vector> outPutPorts_; std::mutex gpsMetaDatalock_; std::vector gpsInfo_; }; -- Gitee