Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2023-05-30 22:01:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pipewire (Old) and /work/SRC/openSUSE:Factory/.pipewire.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire" Tue May 30 22:01:11 2023 rev:84 rq:1089545 version:0.3.71 Changes: -------- --- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2023-05-19 11:54:38.382960401 +0200 +++ /work/SRC/openSUSE:Factory/.pipewire.new.1533/pipewire.changes 2023-05-30 22:01:18.702610458 +0200 @@ -1,0 +2,11 @@ +Fri May 19 17:26:12 UTC 2023 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Add patch from upstream to fix JACK buffersize updates: + * 0001-jack-update-bufsize-and-samplerate-when-skipping-not.patch +- Create a pipewire-jack package that provides jack-daemon (and + conflicts with any other) and requires the pipewire-libjack + library. + Move the ld configuration from pipewire-libjack, so that only + pipewire-jack forces PipeWire to be the default JACK. + +------------------------------------------------------------------- New: ---- 0001-jack-update-bufsize-and-samplerate-when-skipping-not.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pipewire.spec ++++++ --- /var/tmp/diff_new_pack.3OiswQ/_old 2023-05-30 22:01:19.298613971 +0200 +++ /var/tmp/diff_new_pack.3OiswQ/_new 2023-05-30 22:01:19.302613994 +0200 @@ -70,6 +70,8 @@ Source99: baselibs.conf # PATCH-FIX-OPENSUSE reduce-meson-dependency.patch Patch0: reduce-meson-dependency.patch +# PATCH-FIX-UPSTREAM 0001-jack-update-bufsize-and-samplerate-when-skipping-not.patch +Patch1: 0001-jack-update-bufsize-and-samplerate-when-skipping-not.patch BuildRequires: docutils BuildRequires: doxygen BuildRequires: fdupes @@ -147,7 +149,6 @@ Requires: %{name}-tools = %{version} Requires: rtkit Suggests: wireplumber -Suggests: pipewire-libjack-%{apiver_str} %{?systemd_ordering} %description @@ -186,7 +187,6 @@ Group: Development/Libraries/C and C++ Requires(post): update-alternatives Requires(postun):update-alternatives -Conflicts: jack Conflicts: libjack0 Conflicts: libjacknet0 Conflicts: libjackserver0 @@ -344,18 +344,32 @@ Requires: pulseaudio-utils Recommends: pipewire-alsa Conflicts: pulseaudio -Conflicts: pulseaudio-daemon # Virtual Provides to support swapping between PipeWire-PA and PA +Conflicts: pulseaudio-daemon Provides: pulseaudio-daemon %if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400 Requires(post): pulseaudio-setup %endif #Provides: pulseaudio-module-bluetooth -#Provides: pulseaudio-module-jack %description pulseaudio This package provides a PulseAudio implementation based on PipeWire +%package jack +Summary: PipeWire JACK implementation +Group: Development/Libraries/C and C++ +Requires: %{libpipewire} >= %{version}-%{release} +Requires: %{name} >= %{version}-%{release} +Requires: pipewire-libjack-%{apiver_str} +Recommends: jack-dbus +# Virtual Provides to support swapping between PipeWire-JACK and JACKd +Conflicts: jack-daemon +Provides: jack-daemon +#Provides: pulseaudio-module-jack + +%description jack +This package provides a JACK implementation based on PipeWire + %lang_package %prep @@ -363,6 +377,7 @@ %if %{?pkg_vcmp:%{pkg_vcmp meson <= 0.61.0}} %patch0 -p1 %endif +%patch1 -p1 %build %if %{pkg_vcmp gcc < 8} @@ -537,6 +552,9 @@ %postun pulseaudio %systemd_user_postun pipewire-pulse.service pipewire-pulse.socket +%post jack -p /sbin/ldconfig +%postun jack -p /sbin/ldconfig + %post -n %{libpipewire} -p /sbin/ldconfig %postun -n %{libpipewire} -p /sbin/ldconfig @@ -643,8 +661,6 @@ %{_bindir}/pw-jack %{_mandir}/man1/pw-jack-%{apiver}.1%{?ext_man} %{_mandir}/man1/pw-jack.1%{?ext_man} -%{_datadir}/pipewire/jack.conf -%config %{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf %files libjack-%{apiver_str}-devel %{_libdir}/pipewire-%{apiver}/jack/libjack.so @@ -728,6 +744,10 @@ %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf +%files jack +%config %{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf +%{_datadir}/pipewire/jack.conf + %files lang -f %{name}.lang %changelog ++++++ 0001-jack-update-bufsize-and-samplerate-when-skipping-not.patch ++++++ >From 1b823f1bc3363c496758a9230c9f5d4ce4491815 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaym...@redhat.com> Date: Thu, 18 May 2023 09:59:26 +0200 Subject: [PATCH] jack: update bufsize and samplerate when skipping notify When we skip the notify because we are not active or we don't have a callback, still update the buffer_size and sample_rate fields or else we will keep on trying forever. Fixes #3226 --- pipewire-jack/src/pipewire-jack.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index ee82425a9..ed21ccf76 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -1027,8 +1027,6 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1, struct notify *notify; bool emit = false;; - if ((type & NOTIFY_ACTIVE_FLAG) && !c->active) - return 0; switch (type) { case NOTIFY_TYPE_REGISTRATION: emit = c->registration_callback != NULL && o != NULL; @@ -1060,8 +1058,18 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1, default: break; } + if ((type & NOTIFY_ACTIVE_FLAG) && !c->active) + emit = false; if (!emit) { - pw_log_debug("%p: skip notify %d", c, type); + switch (type) { + case NOTIFY_TYPE_BUFFER_FRAMES: + c->buffer_frames = arg1; + break; + case NOTIFY_TYPE_SAMPLE_RATE: + c->sample_rate = arg1; + break; + } + pw_log_debug("%p: skip notify %08x active:%d", c, type, c->active); if (o != NULL && arg1 == 0 && o->removing) { o->removing = false; free_object(c, o); -- 2.40.1