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

Skip to content
Commit 703fd440 authored by Rongxuan Liu's avatar Rongxuan Liu
Browse files

[le audio broadcast] Handle STOP message in enabling state

Currently if broadcaster is creating BIG in enabling state, we ignored
the STOP message, and this will cause us stuck in an incorrect state.
This CL handles this case by stopping the broadcast and cleaning up the states
properly.

For late BIG event
1. Create BIG, in enabling state
2. STOP received, switch to stopping state, but NO disable announcements
3. When the prev BIG create complete, in HandleHciEvent -> stopping will terminate BIG
4. When BIG terminated, HandleHciEvent -> HCI_BLE_TERM_BIG_CPL_EVT -> DisableAnnouncement()
5. OnEnableAnnouncement -> STOPPED state

For late ISO event
1. Create BIG, in enabling state, and BIG setup completed, start setup
   ISO
2. STOP received, with my change, in stopping state, but NO disable announcements
3. When all ISO complete, tear down all ISO
4. When all ISO teared down, OnRemoveIsoDataPath -> terminate BIG
5. HandleHciEvent -> HCI_BLE_TERM_BIG_CPL_EVT -> DisableAnnouncement()
5. OnEnableAnnouncement -> STOPPED state

Bug: 398723382
Flag: EXEMPT, trivial fix covered by unit tests
Test: atest bluetooth_test_broadcaster_state_machine --host --no-bazel-mode
Change-Id: I0a8d1ae0c774f48080f635503c7cbc071ed5d36e
parent 8f2dde56
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