diff --git a/server/streamreader/posix_stream.cpp b/server/streamreader/posix_stream.cpp index 23fb3951..c28c2ef3 100644 --- a/server/streamreader/posix_stream.cpp +++ b/server/streamreader/posix_stream.cpp @@ -96,7 +96,10 @@ void PosixStream::do_read() { // no data available, fill with silence memset(chunk_->payload + len, 0, toRead - len); - idle_bytes_ += toRead - len; + + // avoid overflow after 186min 24s silence (at 48000:16:2) + if (idle_bytes_ <= max_idle_bytes_) + idle_bytes_ += toRead - len; break; } else if (count == 0)