You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implemented a deterministic "tick-based" pacing loop (10ms default).
The loop now prioritizes the clock over data availability. If input audio is late, the network thread waits for the next tick but does NOT compensate by bursting.
Silence Generation (Fix for "No Logs" Crash):
Fetch or Silence: Instead of sleeping when the buffer is empty, the app now generates a chunk of silence (zeros) and sends it.
Always Send: Removed the if is_silent { continue } optimization. The application now writes data to the TCP socket continuously, satisfying Snapcast's requirement for a steady bitstream.
Crucial Result: This prevents Recv-Q from dropping to 0, which was the root cause of the silent audio death.
Cleanups:
Removed High Precision Pacing: The spin-loop strategy (which wasted CPU) was replaced by the efficient thread::sleep based strict clock.
Removed Silence Suppression: As mentioned above, stopping transmission during silence was removed to ensure stability.