Skip to content

APR-19: AirPlay 2 group streaming spike notes - #12

Open
jcarbaugh wants to merge 1 commit into
mainfrom
claude/interesting-saha-b7d0e2
Open

APR-19: AirPlay 2 group streaming spike notes#12
jcarbaugh wants to merge 1 commit into
mainfrom
claude/interesting-saha-b7d0e2

Conversation

@jcarbaugh

Copy link
Copy Markdown
Member

Summary

  • Spike deliverable for APR-19 — a sub-issue of APR-18 (AirPlay 2 device groups).
  • Adds docs/spikes/APR-19-airplay2-groups.md recording the findings: pyatv 0.17.0 has no native AirPlay 2 group/multi-receiver API (confirmed via source inspection — pyatv.connect takes a single BaseConfig, Stream.stream_file takes a single reader, RaopStream is one-session-per-receiver, senderSupportsRelay: False is hardcoded, and no group/leader/follower hooks exist).
  • Recommends the parallel-session fan-out approach for APR-21 and APR-22: one pyatv.connect + stream_file per receiver, all fed from a single capture, with per-session fault isolation via per-reader feed_eof(). The write-up also pins down the concrete constraints this puts on APR-21 (resolve_targets shape, empty-list handling) and APR-22 (per-device StreamReader, per-session failure surface, sync-drift tradeoff, CPU expectations).

No production code changes — this is research output only.

Test plan

  • Docs-only change; no code paths touched. CI should pass without additional verification.

Records the APR-19 spike finding that pyatv 0.17.0 has no native group
API, and outlines the parallel-session fan-out approach that APR-21
and APR-22 should build on.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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