blob: cfd2b2e2232c74e75262010c13f8305b501b6893 [file] [view]
# TODO: BAP Unicast Simple Control Implementation
## Phase 1: Foundation and Discovery
- [x] Define core types for Configurations and Codec Capability Settings (enums/structs).
- [x] Implement `BapUnicastManager` skeleton with `PeerId` mapping.
- [ ] Implement `add_peer` function:
- [ ] Connect to PACS and read capabilities.
- [ ] Connect to ASCS and discover ASEs.
- [ ] Implement mapping logic from raw PACS/ASCS data to spec-defined Configurations.
## Phase 2: Stream Control (Prescriptive)
- [ ] Implement `start_streaming`:
- [ ] Generate Codec Specific Configuration LTVs for requested setting.
- [ ] Drive ASCS state machine (Config Codec, Config QoS, Enable).
- [ ] Extract and return CIS handles upon success.
- [ ] Implement `stop_streaming` / `release`:
- [ ] Drive ASCS state machine back to Idle.
- [ ] Ensure CIS is released.
## Phase 3: Pause and Resume
- [ ] Implement `pause_streaming`:
- [ ] Move ASEs to a state that retains CIS (e.g., QoS Configured or custom handling).
- [ ] Implement `resume_streaming`:
- [ ] Move ASEs back to Streaming state.
## Phase 4: Testing Support
- [ ] Ensure `start_streaming` skips capability validation check against discovered PACS data to allow testing unsupported configurations.