From d1cd199f16ff4741c765d604977f7b3e59ea68d4 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 19 Sep 2022 14:45:11 +0200 Subject: [PATCH] pulse-server: set record latency as fragsize / 2 The record latency is set to fragsize / 2 by pulseaudio, so do the same in pipewire. Fixes #2702 --- src/modules/module-protocol-pulse/pulse-server.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c index b403aba21..32733f369 100644 --- a/src/modules/module-protocol-pulse/pulse-server.c +++ b/src/modules/module-protocol-pulse/pulse-server.c @@ -685,9 +685,10 @@ static uint64_t fix_record_buffer_attr(struct stream *s, struct buffer_attr *att if (attr->maxlength < attr->fragsize * 4) attr->maxlength = attr->fragsize * 4; - latency = attr->fragsize / frame_size; + /* pulseaudio configures half the fragsize as latency in the source. */ + latency = attr->fragsize / 2; - lat->num = latency; + lat->num = latency / frame_size; lat->denom = rate; clamp_latency(s, lat);