Merge "Allow playing output to default output device when during uplink playback" into pi-dev am: 6497af909a

am: 749fc66a89

Change-Id: I77e7c4d654ed82ef80fb9a0c3a93580a661e9933
gugelfrei
Nadav Bar 6 years ago committed by android-build-merger
commit 759427dba4

@ -851,6 +851,21 @@ status_t AudioPolicyManager::getOutputForAttr(const audio_attributes_t *attr,
*flags = (audio_output_flags_t)(*flags | AUDIO_OUTPUT_FLAG_HW_AV_SYNC);
}
// Set incall music only if device was explicitly set, and fallback to the device which is
// chosen by the engine if not.
// FIXME: provide a more generic approach which is not device specific and move this back
// to getOutputForDevice.
if (device == AUDIO_DEVICE_OUT_TELEPHONY_TX &&
*stream == AUDIO_STREAM_MUSIC &&
audio_is_linear_pcm(config->format) &&
isInCall()) {
if (*selectedDeviceId != AUDIO_PORT_HANDLE_NONE) {
*flags = (audio_output_flags_t)AUDIO_OUTPUT_FLAG_INCALL_MUSIC;
} else {
device = mEngine->getDeviceForStrategy(strategy);
}
}
ALOGV("getOutputForAttr() device 0x%x, sampling rate %d, format %#x, channel mask %#x, "
"flags %#x",
device, config->sample_rate, config->format, config->channel_mask, *flags);
@ -906,11 +921,6 @@ audio_io_handle_t AudioPolicyManager::getOutputForDevice(
*flags = (audio_output_flags_t)(AUDIO_OUTPUT_FLAG_VOIP_RX |
AUDIO_OUTPUT_FLAG_DIRECT);
ALOGV("Set VoIP and Direct output flags for PCM format");
} else if (device == AUDIO_DEVICE_OUT_TELEPHONY_TX &&
stream == AUDIO_STREAM_MUSIC &&
audio_is_linear_pcm(config->format) &&
isInCall()) {
*flags = (audio_output_flags_t)AUDIO_OUTPUT_FLAG_INCALL_MUSIC;
}

Loading…
Cancel
Save