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

Skip to content
Commit ca993c5a authored by Jakub Tyszkowski's avatar Jakub Tyszkowski
Browse files

LeAudio: Decouple configuration mechanism from the available contexts

Current audio set configuration should be coupled with the current
audio use case, therefor coupled with the current call state, sink and
source metadata if any of these are activated. This will allow us to
properly configure for scenarios which are not supported on the remote
device and use the UNSPECIFIED context.

The existing configuration logic is coupled with the context
availability at many levels and had to be reworked.
As a result, the sink/source audio contexts serving as a base
for the configurations are now initially not filtered by the
context availability, but stored as local contexts, derived
from the local audio track metadata. Then, when the remote device
is about to be configured, we derive the remote side contexts
from the local contexts and we apply (among others) the remote device
context availability policy.

Additionally, the configuration cache map is now recomputed on
demand for the particular configuration context, when it is needed,
while previously we recomputed the entire array of configurations
every time the audio set conditions have changed, even if some of
them are rarelly or never used between these changes (eg. when the
device was disconnected or PACs have changed).

Bug: 285647765
Test: atest bluetooth_le_audio_test bluetooth_le_audio_client_test
Change-Id: Id2821ef1681e99f3c5afe109473c43abf91de670
parent 55c0719c
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