From 102b77ea03198fdc531a88f619eb9787d48a1ccb Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 1 Jun 2021 16:59:00 +0200 Subject: [PATCH] pulse-server: don't request already requested data When we are flushing, don't ask for already requested bytes or else we end up with too much data in our buffer. Fixes #1243 --- src/modules/module-protocol-pulse/pulse-server.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c index 4c896ceee..c683fa1d6 100644 --- a/src/modules/module-protocol-pulse/pulse-server.c +++ b/src/modules/module-protocol-pulse/pulse-server.c @@ -2856,7 +2856,9 @@ static void stream_flush(struct stream *stream) if (stream->type == STREAM_TYPE_PLAYBACK) { stream->write_index = stream->read_index = stream->ring.writeindex = stream->ring.readindex; - stream->missing = stream->attr.tlength; + + stream->missing = stream->attr.tlength - + SPA_MIN(stream->requested, stream->attr.tlength); if (stream->attr.prebuf > 0) stream->in_prebuf = true;