leaudio: Handle seamless streaming during late join or drop of member devices
1) Generate maximum required Bi-directional and Uni-directional (Sourc and Sink) CIS ID(s) required to form the CIG for the Context Type. 2) Create CIG once when starting stream, with maximum Bi-directional and Uni-directional CIS(es) needed for supporting the Context Type 3) Handle assigning and un-assigning of CIS ID(s) and Connection Handle(s) - Assign CIS ID(s) to ASEs: prior to Codec config - Map CIS ID(s) to Connection Handle(s): on CIG creation - Assign Connection Handle(s) to ASE(s): on CIG creation, prior to Codec Config, if CIG is already created - Un-assigning of CIS ID(s): on CIS / ACL disconnection, CIG removal 3) Update State-machine to handle late dropped or joined devices - Handle setup ISO data path and CIS creation 4) Handle updating number of devices and channel count dynamically for sending the ISO data - Sink and Source stream configurations are updated dynamically, as well as the number of devices and channel count - Incremented on setup ISO data path - Decremented on CIS / ACL disconnection / ISO data path removal 5) Reconfigure CIG only if during late join, the newly connected member device cannot support existing CIG codec/qos config Bug: 231084798 Bug: 238961038 Bug: 239651157 Tag: #feature Sponsor: @siyuanh Test: atest BluetoothInstrumentationTests Test: atest bluetooth_le_audio_test bluetooth_le_audio_client_test Test: music stream, phone call switch Merged-In: Ia98ea0ab9a26e09e11b5672efe2c5d3764cc18f6 Change-Id: Ia98ea0ab9a26e09e11b5672efe2c5d3764cc18f6 (cherry picked from commit 61ad337f)
Loading
Please register or sign in to comment