pipewire/0001-modules-fix-rate-update.patch

44 lines
1.4 KiB
Diff
Raw Normal View History

From 860b8fc27ffbfd0a095e3fa4b0cd125d536283d3 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 29 Dec 2022 12:22:56 +0100
Subject: [PATCH] modules: fix rate update
Setting the rate with the PROP_rate would actually result in a rate
adjustment of 1.0f / rate, so do the same here.
See #2891
---
src/modules/module-pulse-tunnel.c | 2 +-
src/modules/module-rtp-source.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/modules/module-pulse-tunnel.c b/src/modules/module-pulse-tunnel.c
index 916400d22..be89a51b3 100644
--- a/src/modules/module-pulse-tunnel.c
+++ b/src/modules/module-pulse-tunnel.c
@@ -270,7 +270,7 @@ static void update_rate(struct impl *impl, bool playback)
impl->current_latency, impl->target_latency);
SPA_FLAG_SET(impl->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
- impl->rate_match->rate = corr;
+ impl->rate_match->rate = 1.0f / corr;
}
static void playback_stream_process(void *d)
diff --git a/src/modules/module-rtp-source.c b/src/modules/module-rtp-source.c
index bc25cdc3d..6d1443e6c 100644
--- a/src/modules/module-rtp-source.c
+++ b/src/modules/module-rtp-source.c
@@ -272,7 +272,7 @@ static void stream_process(void *data)
if (sess->rate_match) {
SPA_FLAG_SET(sess->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
- sess->rate_match->rate = corr;
+ sess->rate_match->rate = 1.0f / corr;
}
}
spa_ringbuffer_read_data(&sess->ring,
--
GitLab