summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch
blob: 99e752391885a01f0c408dfff5b6e73cda51d8f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b720da771efa950cf380101bed42d5d5ee177908

From b720da771efa950cf380101bed42d5d5ee177908 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 10 Nov 2022 16:13:33 +0100
Subject: [PATCH] pulse-server: also advance read pointer in underrun

So that we ask for more data from the client.

Also retested with #2799 that caused this regression.

Fixes #2821
--- a/src/modules/module-protocol-pulse/pulse-server.c
+++ b/src/modules/module-protocol-pulse/pulse-server.c
@@ -1433,10 +1433,11 @@ static void stream_process(void *data)
 						stream->buffer, MAXLENGTH,
 						index % MAXLENGTH,
 						p, avail);
-					index += avail;
-					pd.read_inc = avail;
-					spa_ringbuffer_read_update(&stream->ring, index);
 				}
+				index += size;
+				pd.read_inc = size;
+				spa_ringbuffer_read_update(&stream->ring, index);
+
 				pd.playing_for = size;
 			}
 			pw_log_debug("%p: [%s] underrun read:%u avail:%d max:%u",