From 4e54acdc34a8d7bd7161d7a63866ac96da2c4b4c Mon Sep 17 00:00:00 2001 From: guoyao Date: Sat, 30 Aug 2025 17:30:00 +0800 Subject: [PATCH] =?UTF-8?q?audio=20engine=20dfx=20=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: guoyao --- services/audio_engine/BUILD.gn | 2 ++ .../audio_engine/monitor/include/hpae_message_queue_monitor.h | 1 + services/audio_engine/utils/hpae_no_lock_queue.cpp | 3 +++ 3 files changed, 6 insertions(+) diff --git a/services/audio_engine/BUILD.gn b/services/audio_engine/BUILD.gn index 8dba94f1cc..d22bf80861 100644 --- a/services/audio_engine/BUILD.gn +++ b/services/audio_engine/BUILD.gn @@ -40,6 +40,7 @@ ohos_shared_library("audio_engine_utils") { "dfx", "buffer", "manager/include", + "monitor/include", "../audio_service/common/include", "../audio_service/server/include", "../../interfaces/inner_api/native/audiocommon/include", @@ -53,6 +54,7 @@ ohos_shared_library("audio_engine_utils") { ] deps = [ + ":audio_engine_monitor", "../audio_service:audio_common", "../../frameworks/native/audioutils:audio_utils", ] diff --git a/services/audio_engine/monitor/include/hpae_message_queue_monitor.h b/services/audio_engine/monitor/include/hpae_message_queue_monitor.h index 6555ee562c..09ebdb1457 100644 --- a/services/audio_engine/monitor/include/hpae_message_queue_monitor.h +++ b/services/audio_engine/monitor/include/hpae_message_queue_monitor.h @@ -25,6 +25,7 @@ enum MessageQueueType : int32_t { HPAE_CAPTURE_MANAGER_TYPE, HPAE_INNER_CAPTURE_MANAGER_TYPE, HPAE_OFFLOAD_MANAGER_TYPE, + HPAE_NO_LOCK_QUEUE_TYPE, }; class HpaeMessageQueueMonitor { public: diff --git a/services/audio_engine/utils/hpae_no_lock_queue.cpp b/services/audio_engine/utils/hpae_no_lock_queue.cpp index 9a51725312..23f8df3890 100644 --- a/services/audio_engine/utils/hpae_no_lock_queue.cpp +++ b/services/audio_engine/utils/hpae_no_lock_queue.cpp @@ -16,6 +16,7 @@ #include #include "hpae_no_lock_queue.h" #include "audio_engine_log.h" +#include "hpae_message_queue_monitor.h" namespace OHOS { namespace AudioStandard { @@ -54,6 +55,8 @@ void HpaeNoLockQueue::PushRequest(Request &&request) { const uint64_t freeRequestIndex = GetRequestNode(&freeRequestHeadIndex_); if (GetRequsetIndex(freeRequestIndex) == INVALID_REQUEST_ID) { + HpaeMessageQueueMonitor::ReportMessageQueueException(HPAE_NO_LOCK_QUEUE_TYPE, __func__, + "reached Queue Capacity"); AUDIO_WARNING_LOG("reached Queue Capacity: drop this request"); return; } -- Gitee