Skip to content

feat(source): implement source@v1 role and input stream protocol#145

Open
rudyberends wants to merge 1 commit intoSendspin:mainfrom
rudyberends:source-v1-reference-impl
Open

feat(source): implement source@v1 role and input stream protocol#145
rudyberends wants to merge 1 commit intoSendspin:mainfrom
rudyberends:source-v1-reference-impl

Conversation

@rudyberends
Copy link

This PR adds a working source@v1 reference implementation to aiosendspin.

It covers the full flow:

  • source handshake support (source@v1_support)
  • source state + source commands
  • source binary audio chunks (message type 12)
  • input stream messages:
    • input_stream/start
    • input_stream/request-format
    • input_stream/end
  • server-side source role handling and ingest into normal group playback
  • controller state integration with optional sources list

changes

  • Added source models in aiosendspin/models/source.py
  • Extended core/types/client for source + input stream messages
  • Added server roles:
    • server/roles/source/v1.py
    • server/roles/source/group.py
  • Wired source role into role registry and connection dispatch
  • Added source tests:
    • tests/models/test_source_models.py
    • tests/server/roles/test_source_v1.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant