- Removed StreamerWorker thread wrapper in favor of direct async operations with module-level multicaster instances
- Split settings persistence into primary and secondary caches (SETTINGS_CACHE1/2) with dedicated load/save functions
- Removed unused imports and simplified initialization logic by inlining worker coroutines into API endpoints
- Added PCM1862 I2S interface setup with differential input configuration via I2C
- Reduced audio buffer latency by decreasing period_size from 240 to 120 samples (5ms to 2.5ms)
- Updated buffer_size to 360 samples for both channels to maintain stable audio capture
- Changed static_drop_ms from drift_threshold_ms to 2ms for more accurate frame dropping behavior
- Removed outdated cooldown comment that no longer matches the implementation
- Replaced complex multi-PCM asound.conf with streamlined dsnoop-based ch1/ch2 devices using matched 5ms periods
- Updated sounddevice utilities to recognize dsnoop and hw:X,Y patterns for better device filtering
- Adjusted audio input latency parameters to align with new ALSA period configuration
- Implement adaptive frame dropping to prevent latency from accumulating
- small packets are dropped and a crossfade is used to hide the dropping.
- still audible in some situations
Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/10
- Renamed "AES67" mode to "Network" for clearer user understanding
- Added structured stream controls with consistent start/stop buttons and status display
- Changed presentation delay input from microseconds to milliseconds for better usability
- Restricted retransmission (RTN) options to valid range of 1-4
- Added help tooltips for assisted listening and immediate rendering options
- Fixed portaudio configuration to enable ALSA support and remove
Co-authored-by: pstruebi <struebin.patrick.com>
Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/11