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
|
||
|
|