Audio Synchronization Improvements
This release significantly improves audio sync accuracy and stability:
- Fixed sync error calculation - Now correctly measures the difference between actual DAC playback position and expected position, eliminating the oscillation between Insert/Drop correction modes
- Added EMA smoothing - Sync errors are now smoothed using exponential moving average (α=0.1) to filter out timing jitter before making correction decisions
- Accurate frame tracking - DAC position calculation now properly accounts for dropped and inserted frames during sync corrections
- Correct playback timing reference - Fixed timing anchor to use actual playback start time rather than buffer arrival time
Network Change Detection
- Automatic re-sync on network change - When switching WiFi networks or roaming between access points, the app now automatically resets clock synchronization and re-establishes sync with the server
- Faster recovery - Eliminates stale timing data from previous network path, allowing faster convergence to accurate sync on the new connection
GroupSync Support
- Sync offset protocol - Added handler for
client/sync_offsetmessages to support GroupSync speaker calibration