2b7f8a3af7
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/pipewire.git#be385b8bead20dac22768069ec795e9366c11590
38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
From 98b1b8090dbffe1dfa6e1883b2550008833a568a Mon Sep 17 00:00:00 2001
|
|
From: Wim Taymans <wtaymans@redhat.com>
|
|
Date: Sat, 31 Oct 2020 15:22:32 +0100
|
|
Subject: [PATCH 1/3] pulse-server: don't underrun when draining
|
|
|
|
---
|
|
src/modules/module-protocol-pulse/pulse-server.c | 12 +++++++-----
|
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
|
|
index a4162280..dbc52431 100644
|
|
--- a/src/modules/module-protocol-pulse/pulse-server.c
|
|
+++ b/src/modules/module-protocol-pulse/pulse-server.c
|
|
@@ -1276,13 +1276,15 @@ static void stream_process(void *data)
|
|
int32_t avail = spa_ringbuffer_get_read_index(&stream->ring, &pd.read_index);
|
|
if (avail <= 0) {
|
|
/* underrun */
|
|
- if (stream->drain_tag)
|
|
- pw_stream_flush(stream->stream, true);
|
|
-
|
|
size = buf->datas[0].maxsize;
|
|
memset(p, 0, size);
|
|
- pd.underrun_for = size;
|
|
- pd.underrun = true;
|
|
+
|
|
+ if (stream->drain_tag)
|
|
+ pw_stream_flush(stream->stream, true);
|
|
+ else {
|
|
+ pd.underrun_for = size;
|
|
+ pd.underrun = true;
|
|
+ }
|
|
} else if (avail > MAXLENGTH) {
|
|
/* overrun, handled by other side */
|
|
pw_log_warn(NAME" %p: overrun", stream);
|
|
--
|
|
2.28.0
|
|
|