Reduce BROADCAST_CAPACITY to maintain metadata synchronization
Changed from 4096 to 128 messages (~10s buffer instead of ~5min). The large buffer was causing metadata drift: clients could be hearing audio 5 minutes behind the metadata endpoint and ICY metadata updates. With TimerNode pacing the stream to real-time, we only need a small buffer for network jitter. This keeps metadata properly synchronized with the actual audio being played.
This commit is contained in:
@@ -81,9 +81,10 @@ use tracing::{debug, error, info, trace, warn};
|
||||
const DEFAULT_ICY_METAINT: usize = 16000;
|
||||
|
||||
/// Broadcast channel capacity for FLAC bytes.
|
||||
/// Increased to 4096 to handle network backpressure and late-joining clients.
|
||||
/// At ~12-15 chunks/sec (8KB each), this provides ~5 minutes of buffer.
|
||||
const BROADCAST_CAPACITY: usize = 4096;
|
||||
/// Set to 128 to provide ~10 seconds of buffer for network jitter.
|
||||
/// With TimerNode pacing the stream to real-time, this is sufficient
|
||||
/// while keeping metadata synchronized (larger buffers cause metadata drift).
|
||||
const BROADCAST_CAPACITY: usize = 128;
|
||||
|
||||
/// Snapshot of track metadata at a point in time.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user