Skip to content

LE Audio: Dynamically generate BASS receive states #72879

@Thalley

Description

@Thalley

Is your enhancement proposal related to a problem? Please describe.
The BASS receive states store information about the broadcast source. The challenge with this is, is that the more data the broadcast source has (e.g number of subgroups or metadata), the more data we need to store. Since we also do not know the configuration of broadcast sources at build time, this makes it difficult to properly store.

We do, however, know that the BASE is maximum BASE_MAX_SIZE, and we know that we any BASE can be stored in that amount of octets.

Describe the solution you'd like
Instead of using CONFIG_BT_BAP_BASS_MAX_SUBGROUPS and CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE in the BASS receive states, we can just allocate BASE_MAX_SIZE per receive state, and then dynamically generate the the receive state when it is being read by broadcast assistants.

This should reduce the number of Kconfig options we rely on, while also making the memory size more expectable, while also support any configuration.

There may be places where CONFIG_BT_BAP_BASS_MAX_SUBGROUPS needs to be replaced by BASE_SUBGROUP_MAX_COUNT.

Describe alternatives you've considered
N/A

Additional context
N/A

Metadata

Metadata

Assignees

Projects

Status

To do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions