From 53724d9c59be5134f0845d5224b79e4fd6027d45c0f42ef70b351a1bdfccb8f2 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Fri, 30 Dec 2022 11:24:14 +0000 Subject: [PATCH 1/3] Accepting request 1045563 from home:XRevan86 OBS-URL: https://build.opensuse.org/request/show/1045563 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=97 --- ...tive-fix-missing-brace-in-CIND-reply.patch | 26 +++++++++++++++++++ pipewire.changes | 9 +++++++ pipewire.spec | 26 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch diff --git a/0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch b/0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch new file mode 100644 index 0000000..9f605d4 --- /dev/null +++ b/0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch @@ -0,0 +1,26 @@ +From c7b3ef0d9ff16a1e69a299870860bebcb628e298 Mon Sep 17 00:00:00 2001 +From: Pauli Virtanen +Date: Wed, 21 Dec 2022 12:54:52 +0200 +Subject: [PATCH] bluez5: backend-native: fix missing brace in CIND reply + +It should look like ...,("battchg,(0-5)) not ...,"battchg",(0-5)) +--- + spa/plugins/bluez5/backend-native.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spa/plugins/bluez5/backend-native.c b/spa/plugins/bluez5/backend-native.c +index eed23f66e..ab543a621 100644 +--- a/spa/plugins/bluez5/backend-native.c ++++ b/spa/plugins/bluez5/backend-native.c +@@ -74,7 +74,7 @@ enum { + HFP_AG_INITIAL_CODEC_SETUP_WAIT + }; + +-#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),\"battchg\",(0-5))" ++#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" + enum { + CIND_SERVICE = 1, + CIND_CALL, +-- +2.39.0 + diff --git a/pipewire.changes b/pipewire.changes index 31896e0..794dc7d 100644 --- a/pipewire.changes +++ b/pipewire.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Dec 27 20:12:09 UTC 2022 - Alexei Sorokin + +- Split the X11 bell implementation into a separate package + (overlaps with implementations in e.g. Marco). +- Add patch from upstream to fix a Bluetooth regression + (glfo#pipewire/pipewire#2898): + * 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch + ------------------------------------------------------------------- Mon Dec 19 11:00:49 UTC 2022 - Antonio Larrosa diff --git a/pipewire.spec b/pipewire.spec index 849ec34..14b52a2 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -68,6 +68,8 @@ Patch0: reduce-meson-dependency.patch Patch1: 0001-pulse-server-add-channel-map-in-echo-cancel-module.patch # PATCH-FIX-UPSTREAM 0001-alsa-dont-set--1-as-node.target.patch Patch2: 0001-alsa-dont-set--1-as-node.target.patch +# PATCH-FIX-UPSTREAM 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch +Patch3: 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch BuildRequires: docutils BuildRequires: doxygen BuildRequires: fdupes @@ -263,6 +265,25 @@ The framework is used to build a modular daemon that can be configured to: * A central hub where video can be made available for other applications such as the gnome-shell screencast API. +%package module-x11-%{apiver_str} +Summary: X11 support For PipeWire, A Multimedia Framework +Group: Productivity/Multimedia/Other +Requires: %{libpipewire} >= %{version}-%{release} +Requires: %{name} >= %{version}-%{release} + +%description module-x11-%{apiver_str} +PipeWire is a server and user space API to deal with multimedia pipelines. + +The framework is used to build a modular daemon that can be configured to: + + * Be a low-latency audio server with features like pulseaudio and/or jack; + * A video capture server that can manage hardware video capture devices + and provide access to them; + * A central hub where video can be made available for other applications + such as the gnome-shell screencast API. + +This package contains X11 bell support for PipeWire. + %package spa-plugins-%{spa_ver_str} Summary: Plugins For PipeWire SPA Group: Productivity/Multimedia/Other @@ -341,6 +362,7 @@ This package provides a PulseAudio implementation based on PipeWire %endif %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build %if %{pkg_vcmp gcc < 8} @@ -550,9 +572,13 @@ fi %files modules-%{apiver_str} %dir %{_libdir}/pipewire-%{apiver} %{_libdir}/pipewire-%{apiver}/libpipewire-module-*.so +%exclude %{_libdir}/pipewire-%{apiver}/libpipewire-module-x11-bell.so %dir %{_libdir}/pipewire-%{apiver}/v4l2/ %{_libdir}/pipewire-%{apiver}/v4l2/libpw-v4l2.so +%files module-x11-%{apiver_str} +%{_libdir}/pipewire-%{apiver}/libpipewire-module-x11-bell.so + %dir %{_datadir}/alsa-card-profile/ %dir %{_datadir}/alsa-card-profile/mixer/ %{_datadir}/alsa-card-profile/mixer/* From cfb642ebdd8dfb3bd250d12243871e836d389afbc37fa2e27405ebd4851929ad Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Fri, 30 Dec 2022 17:02:05 +0000 Subject: [PATCH 2/3] Accepting request 1045830 from home:predivan:branches:multimedia:libs - Ship only X11 bell module in module-x11 sub-package OBS-URL: https://build.opensuse.org/request/show/1045830 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=98 --- pipewire.changes | 5 +++++ pipewire.spec | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pipewire.changes b/pipewire.changes index 794dc7d..012481d 100644 --- a/pipewire.changes +++ b/pipewire.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Dec 30 13:45:32 UTC 2022 - Predrag Ivanović + +- Ship only X11 bell module in module-x11 sub-package + ------------------------------------------------------------------- Tue Dec 27 20:12:09 UTC 2022 - Alexei Sorokin diff --git a/pipewire.spec b/pipewire.spec index 14b52a2..9569734 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -575,10 +575,6 @@ fi %exclude %{_libdir}/pipewire-%{apiver}/libpipewire-module-x11-bell.so %dir %{_libdir}/pipewire-%{apiver}/v4l2/ %{_libdir}/pipewire-%{apiver}/v4l2/libpw-v4l2.so - -%files module-x11-%{apiver_str} -%{_libdir}/pipewire-%{apiver}/libpipewire-module-x11-bell.so - %dir %{_datadir}/alsa-card-profile/ %dir %{_datadir}/alsa-card-profile/mixer/ %{_datadir}/alsa-card-profile/mixer/* @@ -587,6 +583,9 @@ fi %{_datadir}/pipewire/client-rt.conf %{_datadir}/pipewire/minimal.conf +%files module-x11-%{apiver_str} +%{_libdir}/pipewire-%{apiver}/libpipewire-module-x11-bell.so + %files spa-plugins-%{spa_ver_str} %dir %{_libdir}/spa-%{spa_ver}/ %{_libdir}/spa-%{spa_ver}/aec/ From 35e8a91d0adcd9ab1a357ea44b066f6afe01c7e8d8030f8a2cb6d11a64316901 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Wed, 4 Jan 2023 11:39:40 +0000 Subject: [PATCH 3/3] 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 --- 0001-alsa-fix-memory-leak-of-properties.patch | 24 +++++++++++ 0001-modules-fix-rate-update.patch | 43 +++++++++++++++++++ pipewire.changes | 9 ++++ pipewire.spec | 8 +++- 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 0001-alsa-fix-memory-leak-of-properties.patch create mode 100644 0001-modules-fix-rate-update.patch diff --git a/0001-alsa-fix-memory-leak-of-properties.patch b/0001-alsa-fix-memory-leak-of-properties.patch new file mode 100644 index 0000000..d0d7b9c --- /dev/null +++ b/0001-alsa-fix-memory-leak-of-properties.patch @@ -0,0 +1,24 @@ +From ed463248721cc03c826f80dac9667b238c844e03 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Sun, 1 Jan 2023 02:00:36 +0000 +Subject: [PATCH] alsa: fix memory leak of properties + +--- + pipewire-alsa/alsa-plugins/ctl_pipewire.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pipewire-alsa/alsa-plugins/ctl_pipewire.c b/pipewire-alsa/alsa-plugins/ctl_pipewire.c +index 71f02f90e..67bd2f432 100644 +--- a/pipewire-alsa/alsa-plugins/ctl_pipewire.c ++++ b/pipewire-alsa/alsa-plugins/ctl_pipewire.c +@@ -1083,6 +1083,7 @@ static void proxy_destroy(void *data) + struct global *g = data; + spa_list_remove(&g->link); + g->proxy = NULL; ++ pw_properties_free(g->props); + } + + static const struct pw_proxy_events proxy_events = { +-- +GitLab + diff --git a/0001-modules-fix-rate-update.patch b/0001-modules-fix-rate-update.patch new file mode 100644 index 0000000..129fd51 --- /dev/null +++ b/0001-modules-fix-rate-update.patch @@ -0,0 +1,43 @@ +From 860b8fc27ffbfd0a095e3fa4b0cd125d536283d3 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +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 + diff --git a/pipewire.changes b/pipewire.changes index 012481d..7d9d884 100644 --- a/pipewire.changes +++ b/pipewire.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jan 4 11:25:48 UTC 2023 - Antonio Larrosa + +- 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 + ------------------------------------------------------------------- Fri Dec 30 13:45:32 UTC 2022 - Predrag Ivanović diff --git a/pipewire.spec b/pipewire.spec index 9569734..5b39978 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -1,7 +1,7 @@ # # spec file for package pipewire # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # Copyright (c) 2018 Luciano Santos, luc14n0@linuxmail.org. # # All modifications and additions to the file contributed by third parties @@ -70,6 +70,10 @@ Patch1: 0001-pulse-server-add-channel-map-in-echo-cancel-module.patch Patch2: 0001-alsa-dont-set--1-as-node.target.patch # PATCH-FIX-UPSTREAM 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch Patch3: 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch +# PATCH-FIX-UPSTREAM 0001-modules-fix-rate-update.patch +Patch4: 0001-modules-fix-rate-update.patch +# PATCH-FIX-UPSTREAM 0001-alsa-fix-memory-leak-of-properties.patch +Patch5: 0001-alsa-fix-memory-leak-of-properties.patch BuildRequires: docutils BuildRequires: doxygen BuildRequires: fdupes @@ -363,6 +367,8 @@ This package provides a PulseAudio implementation based on PipeWire %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 %build %if %{pkg_vcmp gcc < 8}