Skip to content

feat: aiosendspin protocol compliance#13

Merged
chrisuthe merged 1 commit intomasterfrom
feat/protocol-compliance
Mar 4, 2026
Merged

feat: aiosendspin protocol compliance#13
chrisuthe merged 1 commit intomasterfrom
feat/protocol-compliance

Conversation

@chrisuthe
Copy link
Owner

Summary

  • Send static_delay_ms in client/state messages — Server uses this for GroupSync calibration to compensate for device audio output latency across the group
  • Clear artwork on empty binary payload — Server sends empty artwork message (type 8-11, 0-byte data) to signal "no artwork"; previously showed stale artwork
  • Advertise 32-bit PCM in supported formats — Remove 24-bit cap so WASAPI devices report native 32-bit depth; SDK's PcmDecoder and NAudio already handle it
  • SDK version bumped to 7.1.0 (minor, backward-compatible additions)
  • App version bumped to 1.12.0

Matches protocol gaps identified in SendspinDroid PR #44 audit against aiosendspin server source.

Test plan

  • Connect to a server, verify static_delay_ms appears in client/state JSON in server logs
  • Play a track with artwork, switch to one without — album art should clear to placeholder
  • Check client hello logs for 32-bit bit depth in supported_formats (device-dependent)
  • Verify build succeeds with no new errors

🤖 Generated with Claude Code

…, 32-bit PCM)

- Send static_delay_ms in client/state messages for GroupSync calibration
- Clear artwork on empty binary payload instead of passing empty byte[]
- Advertise 32-bit PCM in supported formats (remove 24-bit cap)
- Bump SDK version to 7.1.0, app version to 1.12.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@chrisuthe chrisuthe merged commit 2478b06 into master Mar 4, 2026
3 checks passed
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