pipewire/0001-modules-fix-rate-update.patch
Antonio Larrosa 35e8a91d0a Accepting request 1055765 from home:alarrosa:branches:multimedia:libs
- Add patch from upstream to fix pulse tunnel getting out of
  sync/overruns (glfo#pipewire/pipewire#2891):
  * 0001-modules-fix-rate-update.patch
- Add patch from upstream to fix memory leak of properties:
  * 0001-alsa-fix-memory-leak-of-properties.patch

OBS-URL: https://build.opensuse.org/request/show/1055765
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=99
2023-01-04 11:39:40 +00:00

44 lines
1.4 KiB
Diff

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