| # TODO: BAP Broadcast Assistant Implementation |
| |
| ## Phase 1: Broadcast Source Discovery & PA Synchronization |
| - [x] Define scan filters for Broadcast Audio Announcement Service (`0x1852`). |
| - [x] Parse `Broadcast_ID` and `Broadcast_Name` from Extended Advertising (EA) payloads. |
| - [x] Integrate `bt_gatt::periodic_advertising::PeriodicAdvertising` trait for establishing PA sync when BASE data is missing. |
| - [x] Parse Basic Audio Announcement Service (`0x1851`) BASE structure (subgroups, Codec IDs, Codec Configurations, Metadata, BIS indices). |
| - [x] Merge discovered BASE endpoint into internal `BroadcastSource` state. |
| - [x] Automatically abort/cancel PA sync once complete source information is gathered to conserve system resources. |
| |
| ## Phase 2: Scan Delegator Discovery & BASS Client Integration |
| - [x] Define scan filters for Broadcast Audio Scan Service (BASS, `0x184F`). |
| - [x] Implement connection procedure to Scan Delegator peers. |
| - [x] Instantiate `BroadcastAudioScanServiceClient` over discovered GATT service. |
| - [x] Stream BASS events (Receive State characteristic updates) to upper layers. |
| |
| ## Phase 3: Control Point Operations & Delegation |
| - [x] Implement `Add Source` control point operation (`add_broadcast_source`). |
| - [x] Implement `Modify Source` control point operation (`modify_broadcast_source`). |
| - [x] Implement `Remove Source` control point operation (`remove_broadcast_source`). |
| - [x] Implement `Set Broadcast Code` control point operation (`set_broadcast_code`). |
| - [ ] Implement Periodic Advertising Sync Transfer (PAST) offloading procedure for platforms supporting PAST. |
| |
| ## Phase 4: Refinement, Advanced Features & Testing |
| - [x] Provide force discovery/debug mock helpers for testing without hardware radio. |
| - [ ] Support high-level multi-subgroup / multi-BIS synchronization selection helpers. |
| - [ ] Enhanced error handling for PA sync loss / establishment failures during scanning. |
| - [ ] End-to-end integration tests with real/mocked platform BLE controller. |