diff options
Diffstat (limited to 'media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch')
-rw-r--r-- | media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch new file mode 100644 index 000000000000..99e752391885 --- /dev/null +++ b/media-video/pipewire/files/pipewire-0.3.60-pulse-server-also-advance-read-pointer-in-underrun.patch @@ -0,0 +1,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", |