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.