From 6d7a7252a07b08fd1ade5191fc7286fd86a62dc7 Mon Sep 17 00:00:00 2001 From: zhanhang Date: Thu, 13 Oct 2022 17:14:17 +0800 Subject: [PATCH] fix bug that selecting inputDevice for build mic will stop playing music Signed-off-by: zhanhang Change-Id: Ifa31dac8482cda74249ea6742f90720808145fc6 --- .../server/src/service/audio_policy_service.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/services/audio_policy/server/src/service/audio_policy_service.cpp b/services/audio_policy/server/src/service/audio_policy_service.cpp index 7e76581eac..9878c91381 100644 --- a/services/audio_policy/server/src/service/audio_policy_service.cpp +++ b/services/audio_policy/server/src/service/audio_policy_service.cpp @@ -840,16 +840,13 @@ static uint32_t GetSampleFormatValue(AudioSampleFormat sampleFormat) int32_t AudioPolicyService::SelectNewDevice(DeviceRole deviceRole, DeviceType deviceType) { int32_t result = SUCCESS; - DeviceType activeDevice = deviceRole == DeviceRole::OUTPUT_DEVICE ? currentActiveDevice_ : activeInputDevice_; - if (activeDevice == deviceType) { - return result; + if (deviceRole == DeviceRole::OUTPUT_DEVICE) { + std::string activePort = GetPortName(currentActiveDevice_); + AUDIO_INFO_LOG("port %{public}s, active device %{public}d", activePort.c_str(), currentActiveDevice_); + audioPolicyManager_.SuspendAudioDevice(activePort, true); } - std::string activePort = GetPortName(activeDevice); - AUDIO_INFO_LOG("port %{public}s, active device %{public}d", activePort.c_str(), activeDevice); - audioPolicyManager_.SuspendAudioDevice(activePort, true); - std::string portName = GetPortName(deviceType); CHECK_AND_RETURN_RET_LOG(portName != PORT_NONE, result, "Invalid port name %{public}s", portName.c_str()); @@ -869,6 +866,7 @@ int32_t AudioPolicyService::SelectNewDevice(DeviceRole deviceRole, DeviceType de } return SUCCESS; } + int32_t AudioPolicyService::ActivateNewDevice(DeviceType deviceType, bool isSceneActivation = false) { int32_t result = SUCCESS; -- Gitee