mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Report broacast audio config to HAL
Bug: 321168976 Bug: 339121774 Test: atest --host bluetooth_test_broadcaster Change-Id: I8eaeb72d027b9b01f83458f560d23770c8005b78
This commit is contained in:
@@ -121,18 +121,41 @@ const AudioConfiguration BluetoothAudioSession::GetAudioConfig() {
|
||||
|
||||
void BluetoothAudioSession::ReportAudioConfigChanged(
|
||||
const AudioConfiguration& audio_config) {
|
||||
if (session_type_ !=
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH &&
|
||||
session_type_ !=
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH) {
|
||||
return;
|
||||
}
|
||||
|
||||
std::lock_guard<std::recursive_mutex> guard(mutex_);
|
||||
if (audio_config.getTag() != AudioConfiguration::leAudioConfig) {
|
||||
LOG(ERROR) << __func__ << " invalid audio config type for SessionType ="
|
||||
<< toString(session_type_);
|
||||
return;
|
||||
if (com::android::btaudio::hal::flags::leaudio_report_broadcast_ac_to_hal()) {
|
||||
if (session_type_ ==
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
|
||||
session_type_ ==
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH) {
|
||||
if (audio_config.getTag() != AudioConfiguration::leAudioConfig) {
|
||||
LOG(ERROR) << __func__ << " invalid audio config type for SessionType ="
|
||||
<< toString(session_type_);
|
||||
return;
|
||||
}
|
||||
} else if (session_type_ ==
|
||||
SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH) {
|
||||
if (audio_config.getTag() != AudioConfiguration::leAudioBroadcastConfig) {
|
||||
LOG(ERROR) << __func__ << " invalid audio config type for SessionType ="
|
||||
<< toString(session_type_);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
LOG(ERROR) << __func__ << " invalid SessionType ="
|
||||
<< toString(session_type_);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (session_type_ !=
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH &&
|
||||
session_type_ !=
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH) {
|
||||
return;
|
||||
}
|
||||
if (audio_config.getTag() != AudioConfiguration::leAudioConfig) {
|
||||
LOG(ERROR) << __func__ << " invalid audio config type for SessionType ="
|
||||
<< toString(session_type_);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
audio_config_ = std::make_unique<AudioConfiguration>(audio_config);
|
||||
|
||||
Reference in New Issue
Block a user