From dc136ffee31f21da3b31240f8a22d4d08a658d0d Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Tue, 16 Dec 2014 12:24:18 -0800 Subject: audiopolicy : Fix for incorrect input device selection Some VoIP applications do not use source as VOICE_COMM but MIC and policy manager ignores the force usage in that case and selects handset-mic as input device even when BT-SCO headset is connected. Check the force usage for the AUDIO_SOURCE_MIC as well. Bug: 18606571 Change-Id: I5d5010ab396f85bf58573943c91fd815f39f57c1 --- services/audiopolicy/AudioPolicyManager.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'services/audiopolicy') diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp index 744556d..79d4ae6 100644 --- a/services/audiopolicy/AudioPolicyManager.cpp +++ b/services/audiopolicy/AudioPolicyManager.cpp @@ -5127,6 +5127,9 @@ audio_devices_t AudioPolicyManager::getDeviceForInputSource(audio_source_t input case AUDIO_SOURCE_MIC: if (availableDeviceTypes & AUDIO_DEVICE_IN_BLUETOOTH_A2DP) { device = AUDIO_DEVICE_IN_BLUETOOTH_A2DP; + } else if ((mForceUse[AUDIO_POLICY_FORCE_FOR_RECORD] == AUDIO_POLICY_FORCE_BT_SCO) && + (availableDeviceTypes & AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET)) { + device = AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET; } else if (availableDeviceTypes & AUDIO_DEVICE_IN_WIRED_HEADSET) { device = AUDIO_DEVICE_IN_WIRED_HEADSET; } else if (availableDeviceTypes & AUDIO_DEVICE_IN_USB_DEVICE) { -- cgit v1.1