summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-30 08:16:57 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-30 08:16:57 +0000
commita21eae5570ee23ff259ccee6adc402fa27578a83 (patch)
tree0507ed3791ad67e98a33cc87b0a485409d6b3e77 /media-video/pipewire/files
parentb7cf34e541f10778605d8740e2690d8459908ac5 (diff)
gentoo auto-resync : 30:12:2022 - 08:16:57
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch28
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-rate-update.patch39
2 files changed, 67 insertions, 0 deletions
diff --git a/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch b/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
new file mode 100644
index 000000000000..8a4169b57af5
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
@@ -0,0 +1,28 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/89ac6b353521fb9a6d6eb6bb74724c4fa968f75c
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2893
+
+From 89ac6b353521fb9a6d6eb6bb74724c4fa968f75c Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Sat, 17 Dec 2022 18:17:33 +0100
+Subject: [PATCH] =?UTF-8?q?alsa:=20don=C2=B4t=20set=20-1=20as=20node.targe?=
+ =?UTF-8?q?t?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Leave the target unset when -1, just like what pw-stream does.
+
+See #2893
+--- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c
++++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c
+@@ -579,7 +579,7 @@ static int snd_pcm_pipewire_prepare(snd_pcm_ioplug_t *io)
+ pw_properties_setf(props, PW_KEY_NODE_LATENCY, "%lu/%u", pw->min_avail, io->rate);
+ if (pw_properties_get(props, PW_KEY_NODE_RATE) == NULL)
+ pw_properties_setf(props, PW_KEY_NODE_RATE, "1/%u", io->rate);
+- if (pw->target != NULL &&
++ if (pw->target != NULL && !spa_streq(pw->target, "-1") &&
+ pw_properties_get(props, PW_KEY_NODE_TARGET) == NULL)
+ pw_properties_setf(props, PW_KEY_NODE_TARGET, "%s", pw->target);
+
+--
+GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch b/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
new file mode 100644
index 000000000000..91487def58e2
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
@@ -0,0 +1,39 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/860b8fc27ffbfd0a095e3fa4b0cd125d536283d3
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2915
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2891
+
+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
+--- 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)
+--- 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
+
+