From 73f866a6edbb134258ee45f23a6234cbce0ee8b6 Mon Sep 17 00:00:00 2001 From: yupanwen Date: Fri, 5 Sep 2025 10:59:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=81=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E5=B9=B6=E5=8F=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 136******92 Change-Id: Ib28d25bab67a9ffde4b1f575c4de67404872668a --- services/audio_service/server/include/audio_server.h | 3 ++- services/audio_service/server/src/audio_server.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/services/audio_service/server/include/audio_server.h b/services/audio_service/server/include/audio_server.h index 96d8e3a775..4ca37d1a65 100644 --- a/services/audio_service/server/include/audio_server.h +++ b/services/audio_service/server/include/audio_server.h @@ -223,7 +223,7 @@ public: int32_t GetStandbyStatus(uint32_t sessionId, bool &isStandby, int64_t &enterStandbyTime) override; int32_t GenerateSessionId(uint32_t &sessionId) override; - + int32_t NotifyAccountsChanged() override; int32_t NotifySettingsDataReady() override; @@ -400,6 +400,7 @@ private: std::mutex streamLifeCycleMutex_ {}; // Temporary resolution to avoid pcm driver problem std::map usbInfoMap_; + std::mutex mtxGetUsbParameter_; std::atomic isAudioPolicyReady_ = false; std::mutex isAudioPolicyReadyMutex_; diff --git a/services/audio_service/server/src/audio_server.cpp b/services/audio_service/server/src/audio_server.cpp index 9f0758fa1a..41f911ab81 100644 --- a/services/audio_service/server/src/audio_server.cpp +++ b/services/audio_service/server/src/audio_server.cpp @@ -1132,7 +1132,7 @@ const std::string AudioServer::GetUsbParameter(const std::string &condition) CHECK_AND_RETURN_RET_LOG(StringConverter(GetField(condition, "role", ' '), deviceRoleNum), usbInfoStr, "convert invalid value: %{public}s", GetField(condition, "role", ' ').c_str()); DeviceRole role = static_cast(deviceRoleNum); - + lock_guard lg(mtxGetUsbParameter_); std::shared_ptr sink = GetSinkByProp(HDI_ID_TYPE_PRIMARY, HDI_ID_INFO_USB, true); CHECK_AND_RETURN_RET_LOG(sink, "", "rendererSink is nullptr"); std::string infoCond = std::string("get_usb_info#C") + GetField(address, "card", ';') + "D0"; -- Gitee