BTAudio HAL: implement changes for DSA Over LEA am: 7c48034d32

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2835456

Change-Id: I9f31f9c9c74b27018e43a73e1be8dbbb91cb714b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Limon Mia
2023-11-20 10:13:13 +00:00
committed by Automerger Merge Worker

View File

@@ -588,15 +588,32 @@ std::vector<LatencyMode> BluetoothAudioSession::GetSupportedLatencyModes() {
<< " has NO session";
return std::vector<LatencyMode>();
}
if (low_latency_allowed_) return latency_modes_;
std::vector<LatencyMode> modes;
for (LatencyMode mode : latency_modes_) {
if (mode == LatencyMode::LOW_LATENCY)
// ignore those low latency mode if Bluetooth stack doesn't allow
continue;
modes.push_back(mode);
std::vector<LatencyMode> supported_latency_modes;
if (session_type_ ==
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH) {
for (LatencyMode mode : latency_modes_) {
if (mode == LatencyMode::LOW_LATENCY) {
// LOW_LATENCY is not supported for LE_HARDWARE_OFFLOAD_ENC sessions
continue;
}
supported_latency_modes.push_back(mode);
}
} else {
for (LatencyMode mode : latency_modes_) {
if (!low_latency_allowed_ && mode == LatencyMode::LOW_LATENCY) {
// ignore LOW_LATENCY mode if Bluetooth stack doesn't allow
continue;
}
if (mode == LatencyMode::DYNAMIC_SPATIAL_AUDIO_SOFTWARE ||
mode == LatencyMode::DYNAMIC_SPATIAL_AUDIO_HARDWARE) {
// DSA_SW and DSA_HW only supported for LE_HARDWARE_OFFLOAD_ENC sessions
continue;
}
supported_latency_modes.push_back(mode);
}
}
return modes;
return supported_latency_modes;
}
void BluetoothAudioSession::SetLatencyMode(const LatencyMode& latency_mode) {