From 6d3a8f788b85578f862021a8abe6bb3aa632e6c0 Mon Sep 17 00:00:00 2001 From: huyue57 Date: Tue, 28 Nov 2023 10:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=86=E5=B8=83=E5=BC=8F?= =?UTF-8?q?=E7=BB=84=E7=BD=91=E6=97=B6=E6=9C=AC=E7=AB=AF=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E5=92=8C=E5=BD=95=E5=88=B6=E9=BB=98=E8=AE=A4=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E8=BF=9C=E7=AB=AFspeaker=E5=92=8Cmic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyue57 Change-Id: Iffbd5f149fc66c13fb2a70e4e26c47d7df153a0c --- .../src/service/audio_device_manager.cpp | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/services/audio_policy/server/src/service/audio_device_manager.cpp b/services/audio_policy/server/src/service/audio_device_manager.cpp index 05ebffa255..09127f075f 100644 --- a/services/audio_policy/server/src/service/audio_device_manager.cpp +++ b/services/audio_policy/server/src/service/audio_device_manager.cpp @@ -120,7 +120,7 @@ void AudioDeviceManager::MakePairedDeviceDescriptor(const shared_ptr &desc) { - if (desc->deviceRole_ != devRole) { + if (desc->networkId_ != devDesc->networkId_ || desc->deviceRole_ != devRole) { return false; } if (devDesc->macAddress_ != "" && devDesc->macAddress_ == desc->macAddress_) { @@ -286,14 +286,16 @@ void AudioDeviceManager::AddNewDevice(const sptr &deviceD UpdateDeviceInfo(devDesc); AddConnectedDevices(devDesc); - HandleScoWithDefaultCategory(devDesc); - AddDefaultDevices(deviceDescriptor); - AddRemoteRenderDev(devDesc); - AddRemoteCaptureDev(devDesc); - - AddCommunicationDevices(devDesc); - AddMediaDevices(devDesc); - AddCaptureDevices(devDesc); + if (devDesc->networkId_ != LOCAL_NETWORK_ID) { + AddRemoteRenderDev(devDesc); + AddRemoteCaptureDev(devDesc); + } else { + HandleScoWithDefaultCategory(devDesc); + AddDefaultDevices(deviceDescriptor); + AddCommunicationDevices(devDesc); + AddMediaDevices(devDesc); + AddCaptureDevices(devDesc); + } } void AudioDeviceManager::RemoveMatchDeviceInArray(const AudioDeviceDescriptor &devDesc, string logName, @@ -301,7 +303,8 @@ void AudioDeviceManager::RemoveMatchDeviceInArray(const AudioDeviceDescriptor &d { auto isPresent = [&devDesc] (const shared_ptr &desc) { CHECK_AND_RETURN_RET_LOG(desc != nullptr, false, "Invalid device descriptor"); - return devDesc.deviceType_ == desc->deviceType_ && devDesc.macAddress_ == desc->macAddress_; + return devDesc.deviceType_ == desc->deviceType_ && devDesc.macAddress_ == desc->macAddress_ && + devDesc.networkId_ == desc->networkId_; }; auto itr = find_if(descArray.begin(), descArray.end(), isPresent); -- Gitee