Send `client/state: 'error'` on audio underrun instead of always `synchronized`

Open Beginner friendly
#257 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python

Research direction

Start with the sounddevice callback in sendspin/audio.py:432-437 and the send_player_state() call in audio_connector.py:456-460. Compare the behavior with docs/stream-sync-correction.md §sendspin-cli. Done means an audio underrun sends error, then follows the mute and buffer flow before sending synchronized.

Written by the indexing model from the issue text.

Description

Severity: 🟡 medium

The sounddevice callback at sendspin/audio.py:432-437 detects underrun and triggers a deferred queue clear, but no send_player_state(state='error') is ever sent. The only send_player_state() call (audio_connector.py:456-460) always sends SYNCHRONIZED. Per spec, an underrun should produce state: 'error' → mute → buffer → state: 'synchronized'.


Source: docs/stream-sync-correction.md §sendspin-cli
Full audit branch: claude/stream-sync-correction-sdks-AWoNC
Per-SDK digest: sdk-issues digest

Filed from a cross-SDK conformance audit; see digest for the full per-SDK punch list.

Dominant language
Python
Stars
190
Forks
36
Avg merge
11d 19h
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Sendspin/sendspin-python-cli

All issues in Sendspin/sendspin-python-cli

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.