leaudio: Add reconfiguration guard
Android stack choose LeAudio configuration based on the local sink and source metadata. Local Source metadata change does immediate change if needed. Local Sink metadata change just stores metadata and applies it when Local Sink direction is resumed (started). It has been observed that while BT Stack tries to reconfigure the stream, Audio HAL keep changing Metadata on the Local Source which breaks reconfiguration, especially when reconfiguration has been triggered by Local Sink direction. This is because Audio HAL keeps Suspending and Resuming Sink direction but keeps intention of previous revonfiguration - which Android is not aware of. With this change, when reconfiguration is scheduled, BT stack will not allow for other reconfigurations unless 1. Reconfiguration timeout fires 2. All the directions for which reconfiguration has been scheduled, got resumed after Audio HAL was informed about reconfiguration being completed. Bug: 375334939 Flag: Exempt, regression tests with unit tests Test: atest bluetooth_le_audio_client_test Change-Id: I041669332a5d7d465dd1dcfbbe8b353bf65d2883
Loading
Please register or sign in to comment