mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
BT: add LOW_LATENCY mode if low latency allowed
LatencyMode is not updatable after audio session started. Currently, if low latency is allowed, audio session should have LOW_LATENCY latency mode. Create a workaround to add LOW_LATENCY when low_latency_allowed_ set to ture at ReportLowLatencyModeAllowedChanged. Bug: 291760415 Bug: 294498919 Test: play low latency audio with supported headset and check LOW_LATENCY mode can be selected Change-Id: Ia324f0a368e47ae8b8056c190d8d1f4a2e09ecec
This commit is contained in:
@@ -503,6 +503,16 @@ void BluetoothAudioSession::ReportControlStatus(bool start_resp,
|
||||
void BluetoothAudioSession::ReportLowLatencyModeAllowedChanged(bool allowed) {
|
||||
std::lock_guard<std::recursive_mutex> guard(mutex_);
|
||||
low_latency_allowed_ = allowed;
|
||||
// TODO(b/294498919): Remove this after there is API to update latency mode
|
||||
// after audio session started. If low_latency_allowed_ is true, the session
|
||||
// can support LOW_LATENCY and FREE LatencyMode.
|
||||
if (low_latency_allowed_) {
|
||||
if (std::find(latency_modes_.begin(), latency_modes_.end(),
|
||||
LatencyMode::LOW_LATENCY) == latency_modes_.end()) {
|
||||
LOG(INFO) << __func__ << " - insert LOW_LATENCY LatencyMode";
|
||||
latency_modes_.push_back(LatencyMode::LOW_LATENCY);
|
||||
}
|
||||
}
|
||||
if (observers_.empty()) {
|
||||
LOG(WARNING) << __func__ << " - SessionType=" << toString(session_type_)
|
||||
<< " has NO port state observer";
|
||||
|
||||
Reference in New Issue
Block a user