From 8f9c953a1af81b39b01a7f2e4aac986b7e175f14 Mon Sep 17 00:00:00 2001 From: byndyx Date: Thu, 18 Jan 2024 20:10:15 +0800 Subject: [PATCH] modify wait_for Signed-off-by: byndyx --- .../receiverengine/src/av_receiver_engine_adapter.cpp | 5 +++-- .../senderengine/src/av_sender_engine_adapter.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/services/audiotransport/receiverengine/src/av_receiver_engine_adapter.cpp b/services/audiotransport/receiverengine/src/av_receiver_engine_adapter.cpp index 2fc07ea8..a92fee7a 100644 --- a/services/audiotransport/receiverengine/src/av_receiver_engine_adapter.cpp +++ b/services/audiotransport/receiverengine/src/av_receiver_engine_adapter.cpp @@ -120,8 +120,9 @@ int32_t AVTransReceiverAdapter::RegisterAdapterCallback(const std::shared_ptr lock(chnCreatedMtx_); - auto status = chnCreatedCondVar_.wait_for(lock, std::chrono::milliseconds(WAIT_TIMEOUT_MS)); - if (status == std::cv_status::timeout) { + auto status = chnCreatedCondVar_.wait_for(lock, std::chrono::milliseconds(WAIT_TIMEOUT_MS), + [this]() { return chnCreateSuccess_.load(); }); + if (!status) { DHLOGI("Wait timeout."); return ERR_DH_AUDIO_SA_WAIT_TIMEOUT; } diff --git a/services/audiotransport/senderengine/src/av_sender_engine_adapter.cpp b/services/audiotransport/senderengine/src/av_sender_engine_adapter.cpp index 85dca86a..c9228661 100644 --- a/services/audiotransport/senderengine/src/av_sender_engine_adapter.cpp +++ b/services/audiotransport/senderengine/src/av_sender_engine_adapter.cpp @@ -133,8 +133,9 @@ int32_t AVTransSenderAdapter::RegisterAdapterCallback(const std::shared_ptr lock(chnCreatedMtx_); - auto status = chnCreatedCondVar_.wait_for(lock, std::chrono::milliseconds(WAIT_TIMEOUT_MS)); - if (status == std::cv_status::timeout) { + auto status = chnCreatedCondVar_.wait_for(lock, std::chrono::milliseconds(WAIT_TIMEOUT_MS), + [this]() { return chnCreateSuccess_.load(); }); + if (!status) { DHLOGI("Wait timeout."); return ERR_DH_AUDIO_SA_WAIT_TIMEOUT; } -- Gitee