Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 4a6cbce6 authored by Łukasz Rymanowski's avatar Łukasz Rymanowski
Browse files

leaudio: Improve LeAudio switch during phone call

When LeAudio Group is getting Active during phone call it is because
user changed the output device for a phone call.
This operations is quite heavy as it takes Telecom/Audio Framework and
Bluetooth time and resources. The step by step scenario looks like this:
1. Telecom clears current communication device (could be also Bluetooth)
2. Telecom enables Audio for Bluetooth device
3. LeAudioService calls native to set group as active (GroupSetActive)
4. leaudio native stack starts audio session and notifies upper layer
   about that
5. LeAudioService requests Audio Manager to connect LeAudio device
6. Audio Manager reads LeAudio device capabilities
7. Audio Manager notifies about LeAudio device being connected
8. LeAudioService notifies users (and Telecom) about LeAudio device
   being connected
9. Telecom choose new communication device
10. Audio HAL Resumes Bluetooth Encoding session which triggers ASE
    Configuration up to Streaming

The whole thing can take up to 4 sec

With this patch, followining modifications are added in following steps

4. in addition to previous steps, if native stack detects ongoing call,
   it will start ASE configuration for Conversational use case up to QoS
   Configure state
10. Here instade of complete ASE configuration, only Enable ASE is
    left.

This can decrease time by 1.5 sec

Bug: 308510081
Bug: 369322905
Test: atest bluetooth_le_audio_test bluetooth_le_audio_client_test
Flag: com::android::bluetooth:flags::leaudio_improve_switch_during_phone_call

Change-Id: Iaedd00594e6caa17495435c897e76c199c61eca9
parent 84bfcf37
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment