Loading hal/msm8974/platform.c +30 −30 Original line number Diff line number Diff line Loading @@ -871,6 +871,36 @@ snd_device_t platform_get_output_snd_device(void *platform, audio_devices_t devi goto exit; } if (popcount(devices) == 2) { if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { if (audio_extn_get_anc_enabled()) snd_device = SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET; else snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_AUX_DIGITAL | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HDMI; } else if (devices == (AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET; } else { ALOGE("%s: Invalid combo device(%#x)", __func__, devices); goto exit; } if (snd_device != SND_DEVICE_NONE) { goto exit; } } if (popcount(devices) != 1) { ALOGE("%s: Invalid output devices(%#x)", __func__, devices); goto exit; } if ((mode == AUDIO_MODE_IN_CALL) || voice_extn_compress_voip_is_active(adev)) { if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || Loading Loading @@ -922,36 +952,6 @@ snd_device_t platform_get_output_snd_device(void *platform, audio_devices_t devi } } if (popcount(devices) == 2) { if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { if (audio_extn_get_anc_enabled()) snd_device = SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET; else snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_AUX_DIGITAL | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HDMI; } else if (devices == (AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET; } else { ALOGE("%s: Invalid combo device(%#x)", __func__, devices); goto exit; } if (snd_device != SND_DEVICE_NONE) { goto exit; } } if (popcount(devices) != 1) { ALOGE("%s: Invalid output devices(%#x)", __func__, devices); goto exit; } if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || devices & AUDIO_DEVICE_OUT_WIRED_HEADSET) { if (devices & AUDIO_DEVICE_OUT_WIRED_HEADSET Loading policy_hal/AudioPolicyManager.cpp +2 −2 Original line number Diff line number Diff line /* * Copyright (c) 2013, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. * Not a contribution. * * Copyright (C) 2009 The Android Open Source Project Loading Loading @@ -590,7 +590,7 @@ audio_devices_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strate case STRATEGY_MEDIA: { uint32_t device2 = AUDIO_DEVICE_NONE; if (isInCall()) { if (isInCall() && (device == AUDIO_DEVICE_NONE)) { // when in call, get the device for Phone strategy device = getDeviceForStrategy(STRATEGY_PHONE, false /*fromCache*/); break; Loading Loading
hal/msm8974/platform.c +30 −30 Original line number Diff line number Diff line Loading @@ -871,6 +871,36 @@ snd_device_t platform_get_output_snd_device(void *platform, audio_devices_t devi goto exit; } if (popcount(devices) == 2) { if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { if (audio_extn_get_anc_enabled()) snd_device = SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET; else snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_AUX_DIGITAL | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HDMI; } else if (devices == (AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET; } else { ALOGE("%s: Invalid combo device(%#x)", __func__, devices); goto exit; } if (snd_device != SND_DEVICE_NONE) { goto exit; } } if (popcount(devices) != 1) { ALOGE("%s: Invalid output devices(%#x)", __func__, devices); goto exit; } if ((mode == AUDIO_MODE_IN_CALL) || voice_extn_compress_voip_is_active(adev)) { if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || Loading Loading @@ -922,36 +952,6 @@ snd_device_t platform_get_output_snd_device(void *platform, audio_devices_t devi } } if (popcount(devices) == 2) { if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADPHONE | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_WIRED_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { if (audio_extn_get_anc_enabled()) snd_device = SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET; else snd_device = SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES; } else if (devices == (AUDIO_DEVICE_OUT_AUX_DIGITAL | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_HDMI; } else if (devices == (AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET | AUDIO_DEVICE_OUT_SPEAKER)) { snd_device = SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET; } else { ALOGE("%s: Invalid combo device(%#x)", __func__, devices); goto exit; } if (snd_device != SND_DEVICE_NONE) { goto exit; } } if (popcount(devices) != 1) { ALOGE("%s: Invalid output devices(%#x)", __func__, devices); goto exit; } if (devices & AUDIO_DEVICE_OUT_WIRED_HEADPHONE || devices & AUDIO_DEVICE_OUT_WIRED_HEADSET) { if (devices & AUDIO_DEVICE_OUT_WIRED_HEADSET Loading
policy_hal/AudioPolicyManager.cpp +2 −2 Original line number Diff line number Diff line /* * Copyright (c) 2013, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. * Not a contribution. * * Copyright (C) 2009 The Android Open Source Project Loading Loading @@ -590,7 +590,7 @@ audio_devices_t AudioPolicyManager::getDeviceForStrategy(routing_strategy strate case STRATEGY_MEDIA: { uint32_t device2 = AUDIO_DEVICE_NONE; if (isInCall()) { if (isInCall() && (device == AUDIO_DEVICE_NONE)) { // when in call, get the device for Phone strategy device = getDeviceForStrategy(STRATEGY_PHONE, false /*fromCache*/); break; Loading