From d49d6019c1ff18ee820e5203eea2ce85f17693a9 Mon Sep 17 00:00:00 2001 From: huyue57 Date: Fri, 29 Dec 2023 10:37:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=80=9A=E8=AF=9D=E8=BD=A6?= =?UTF-8?q?=E6=9C=BA=E8=93=9D=E7=89=99=E4=BC=98=E5=85=88=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyue57 Change-Id: Ic9cf4295376f58e8ed9491569b65d2762a13b999 --- .../service/routers/cockpit_phone_router.cpp | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/services/audio_policy/server/src/service/routers/cockpit_phone_router.cpp b/services/audio_policy/server/src/service/routers/cockpit_phone_router.cpp index e4a557b04f..caed9db03e 100644 --- a/services/audio_policy/server/src/service/routers/cockpit_phone_router.cpp +++ b/services/audio_policy/server/src/service/routers/cockpit_phone_router.cpp @@ -21,6 +21,18 @@ using namespace std; namespace OHOS { namespace AudioStandard { +vector> GetBTCarDevices(vector> &descs) +{ + vector> carDescs; + for (const auto &desc : descs) { + if (desc == nullptr || desc->deviceCategory_ != BT_CAR) { + continue; + } + carDescs.push_back(make_unique(*desc)); + } + return carDescs; +} + unique_ptr CockpitPhoneRouter::GetMediaRenderDevice(StreamUsage streamUsage, int32_t clientUID) { return make_unique(); @@ -28,12 +40,24 @@ unique_ptr CockpitPhoneRouter::GetMediaRenderDevice(Strea unique_ptr CockpitPhoneRouter::GetCallRenderDevice(StreamUsage streamUsage, int32_t clientUID) { - return make_unique(); + vector> descs = + AudioDeviceManager::GetAudioDeviceManager().GetCommRenderPublicDevices(); + vector> carDescs = GetBTCarDevices(descs); + unique_ptr desc = GetLatestConnectDeivce(carDescs); + AUDIO_DEBUG_LOG("streamUsage %{public}d clientUID %{public}d fetch device %{public}d", streamUsage, + clientUID, desc->deviceType_); + return desc; } unique_ptr CockpitPhoneRouter::GetCallCaptureDevice(SourceType sourceType, int32_t clientUID) { - return make_unique(); + vector> descs = + AudioDeviceManager::GetAudioDeviceManager().GetCommCapturePublicDevices(); + vector> carDescs = GetBTCarDevices(descs); + unique_ptr desc = GetLatestConnectDeivce(carDescs); + AUDIO_DEBUG_LOG("sourceType %{public}d clientUID %{public}d fetch device %{public}d", sourceType, + clientUID, desc->deviceType_); + return desc; } unique_ptr CockpitPhoneRouter::GetRingRenderDevice(StreamUsage streamUsage, int32_t clientUID) -- Gitee