- Add several patches from upstream to fix several issues (glfo#pipewire/pipewire#2925, glfo#pipewire/pipewire#2928, glfo#pipewire/pipewire#2929): * 0001-module-rt-fix-warning-when-xdg-desktop-portal-isnt-running.patch * 0001-midifile-error-won-invalid-track-size.patch * 0001-impl-node-move-2-state-variables-to-private.patch * 0001-context-rename-a-method.patch * 0002-impl-node-restore-running-state-after-reconfigure.patch * 0001-context-keep-per-node-quantum-and-rate-settings.patch * 0001-fix-use_buffers-checks.patch * 0001-pulse-server-clear-the-drained-state-correctly.patch OBS-URL: https://build.opensuse.org/request/show/1057763 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=102
35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
From 624e265fd6e5027e11027822eb943c533feab85f Mon Sep 17 00:00:00 2001
|
|
From: Wim Taymans <wtaymans@redhat.com>
|
|
Date: Tue, 10 Jan 2023 12:49:22 +0100
|
|
Subject: [PATCH] pulse-server: clear the drained state correctly
|
|
|
|
When we start the drain, we unpause the stream. When we conplete the
|
|
drain, we unpause again, which does nothing when the stream was already
|
|
unpaused. However, this leaves the drained state on the stream and so
|
|
the stream will never be able to play new data.
|
|
|
|
Trigger a new pw_stream_set_active() with the current stream state to
|
|
clear the drained state.
|
|
|
|
Fixes #2928
|
|
---
|
|
src/modules/module-protocol-pulse/pulse-server.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
|
|
index 97405e039..97d247d26 100644
|
|
--- a/src/modules/module-protocol-pulse/pulse-server.c
|
|
+++ b/src/modules/module-protocol-pulse/pulse-server.c
|
|
@@ -1541,7 +1541,7 @@ static void stream_drained(void *data)
|
|
reply_simple_ack(stream->client, stream->drain_tag);
|
|
stream->drain_tag = 0;
|
|
|
|
- stream_set_paused(stream, false, "complete drain");
|
|
+ pw_stream_set_active(stream->stream, !stream->is_paused);
|
|
}
|
|
}
|
|
|
|
--
|
|
GitLab
|
|
|