[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
Loading
Please register or sign in to comment