Skip to content

Conversation

@maximmaxim345
Copy link
Member

@maximmaxim345 maximmaxim345 commented Jan 15, 2026

WIP to test Sendspin/aiosendspin#129

Requires aiosendspin from that PR branch to be installed manually.

Adds multi-bit-depth audio output (16/24-bit) and FLAC codec decoding. Format detection probes the audio device on startup to advertise supported formats to the server.

Changes:

  • detect_supported_audio_formats() probes device for supported rates/depths/channels
  • New FlacDecoder class decodes FLAC frames using PyAV
  • Volume scaling handles 16/24/32-bit samples with dedicated code paths
  • UI shows current audio format in status line

TODOs

  • Simplify software volume handling by always using 32-bit internally, then convert to output bit depth at final output (maybe we should always use the highest bit depth since we do sw volume)
  • Test on low-powered hardware (Pi Zero) to verify 32-bit internal processing doesn't cause performance issues
  • Format detection takes ~200ms (6 probes). Could cache results or run async to reduce startup delay.

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.

3 participants