Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pipewire for openSUSE:Factory 
checked in at 2021-10-30 23:13:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pipewire (Old)
 and      /work/SRC/openSUSE:Factory/.pipewire.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pipewire"

Sat Oct 30 23:13:18 2021 rev:44 rq:928177 version:0.3.39

Changes:
--------
--- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes        2021-10-13 
18:03:18.307013000 +0200
+++ /work/SRC/openSUSE:Factory/.pipewire.new.1890/pipewire.changes      
2021-10-30 23:14:28.571091173 +0200
@@ -1,0 +2,121 @@
+Fri Oct 29 15:17:51 UTC 2021 - Antonio Larrosa <alarr...@suse.com>
+
+- Add patches from upstream to fix build in s390x:
+  * 0001-map-make-_insert_at-fail-on-a-removed-item.patch
+  * 0002-map-use-uintptr_t-for-the-next-pointer.patch
+
+-------------------------------------------------------------------
+Fri Oct 29 08:54:01 UTC 2021 - Antonio Larrosa <alarr...@suse.com>
+
+- Use readline-devel instead of pkgconfig(readline) so it can be
+  built in Leap15.3/SLE15-SP3
+
+-------------------------------------------------------------------
+Thu Oct 21 10:10:40 UTC 2021 - Antonio Larrosa <alarr...@suse.com>
+
+- Fix %systemd_user_post using the now separated
+  pipewire-media-session.service
+
+-------------------------------------------------------------------
+Thu Oct 21 09:27:57 UTC 2021 - Antonio Larrosa <alarr...@suse.com>
+
+- Update to version 0.3.39
+  * Highlights
+    - media-session is now moved into a separate module to speed up
+      its deprecation in favour of WirePlumber.
+    - There is now an LD_PRELOAD v4l2 emulation library to run some
+      existing v4l2 applications on top of PipeWire.
+    - Filter-chains should now flush out remaining samples when
+      paused. There is now also the option to let a filter-chain
+      drain so that long filters
+    such as reverbs can fade out properly.
+    - Stability and compatibility improvements in JACK apps.
+    - Better Bluetooth compatibility with more devices.
+    - libcamera plugin improvements.
+    - Many bugfixes and improvements all over the map.
+  * PipeWire
+    - Fix compilation on ARM.
+    - Log topics are added to most modules.
+    - Documentation updates. Many improvements to the layout.
+      Reorganisation of the modules and groups.
+    - Share a work queue for all links and nodes. This removes the
+      need for a separate eventfd per link and per node.
+    - Catch errors in the map implementation.
+    - Add option to compile without dbus support.
+    - Fix biquad frequency. It was using the wrong sample rate.
+    - Fix a potential crash when destroying nodes, in some cases
+      the node would not be deactivated properly.
+    - Add some more helpers for dealing with properties and their
+      values.
+    - Implement flush and reset on virtual sinks/sources.
+    - Make it possible to let virtual sinks/filter-chains run and
+      drain after being idle.
+    - Fix a bug where the quantum could exceed the maximum because
+      it was scaled with the sample rate.
+    - Fix channel_map parsing in module-zeroconf-discover so that
+      the remote channel map is used.
+    - pw-stream errors emitted on the proxy are reported but not
+      fatal any more. They are usually used by the session manager
+      to signal status to the client but otherwise does not really
+      cause an error on the client.
+    - Links now also store the output and input node id in the
+      global properties so that applications can parse and use them
+      regardless of how the link was made. (#1723)
+    - pw-stream and pw-filter now have an event to notify commands.
+    - The echo-cancel module can now operate on larger quantums.
+    - pw-cat now uses the right metadata to find the default
+      devices in --list-targets.
+  * media-session
+    - Don't try to remix unpositioned streams when linking. This
+      ensures that linking to Pro-Audio nodes does not remix the
+      stream channels but links them as they are, one by one.
+    - media-session is now moved to a separate module to accelerate
+      its deprecation in favour of WirePlumber.
+  * SPA
+    - Many libcamera improvements, handle MemFd buffers, handle
+      errors gracefully.
+    - Small improvements to make interface fall-backs easier to
+      implement.
+    - Add support to enable flush-to-zero and denormals-are-zero
+      to avoid high CPU usage when dealing with denormals.
+    - AUX13 channels are no longer reported as AUX12. (#1727)
+    - Devices with more than 32 channels in Pro-Audio mode now only
+      uses AUX channels.
+    - Improve windowing function of the resampler to reduce
+      aliasing and improve the quality.
+  * JACK
+    - Port connect callbacks will not only be emitted after the
+      port has negotiated buffers, which improves compatibility
+      with applications that try to use the port right after the
+      callback (jack_midi_latency_test).
+    - Fix crash when midi ports were removed and being monitored,
+      like in Ardour.
+  * pulse-server
+    - The pulse tunnel will now use the specified
+      format/rate/channels.
+    - Improve lookup of default source and fall back to the
+      monitors when no sources are available.
+    - Mark some nodes as network nodes so that we can set the
+      NETWORK flag correctly.
+  * GStreamer
+    - The GStreamer element not releases the buffers in the stream
+      again in all cases so that they can be reused by other
+      streams.
+  * v4l2
+    - Add a v4l2 LD_PRELOAD library to emulate v4l2 system calls on
+      top of PipeWire. This is tested with firefox and GStreamer
+      and is known to not work with Chrome.
+  * Bluetooth
+    - AAC compatibility improvements.
+    - Disable hardware volume for "Tribit MAXSound Plus" and
+      "SoundCore mini".
+    - Add quirk to disable faststream. Disable faststream on
+      "FiiO BTR3".
+    - Add a dummy AVRCP player to improve compatibility with some
+      devices.
+- Remove patch:
+  * 0001-fix-compilation-on-ARM.patch
+- Add patch from upstream:
+  * 0001-cpu-fix-compilation-on-some-architectures.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-fix-compilation-on-ARM.patch
  pipewire-0.3.38.obscpio

New:
----
  0001-cpu-fix-compilation-on-some-architectures.patch
  0001-map-make-_insert_at-fail-on-a-removed-item.patch
  0002-map-use-uintptr_t-for-the-next-pointer.patch
  pipewire-0.3.39.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pipewire.spec ++++++
--- /var/tmp/diff_new_pack.46Y521/_old  2021-10-30 23:14:29.115091611 +0200
+++ /var/tmp/diff_new_pack.46Y521/_new  2021-10-30 23:14:29.115091611 +0200
@@ -44,7 +44,7 @@
 %endif
 
 Name:           pipewire
-Version:        0.3.38
+Version:        0.3.39
 Release:        0
 Summary:        A Multimedia Framework designed to be an audio and video 
server and more
 License:        MIT
@@ -53,8 +53,9 @@
 Source0:        %{name}-%{version}.tar.xz
 Source1:        %{name}-rpmlintrc
 Source99:       baselibs.conf
-Patch0:         0001-fix-compilation-on-ARM.patch
-
+Patch0:         0001-cpu-fix-compilation-on-some-architectures.patch
+Patch1:         0001-map-make-_insert_at-fail-on-a-removed-item.patch
+Patch2:         0002-map-use-uintptr_t-for-the-next-pointer.patch
 BuildRequires:  docutils
 BuildRequires:  doxygen
 BuildRequires:  fdupes
@@ -99,13 +100,13 @@
 %if %{with aptx}
 BuildRequires:  pkgconfig(libfreeaptx)
 %endif
+BuildRequires:  readline-devel
 BuildRequires:  pkgconfig(libpulse)
 BuildRequires:  pkgconfig(libsystemd)
 BuildRequires:  pkgconfig(libudev)
 BuildRequires:  pkgconfig(libusb-1.0)
 BuildRequires:  pkgconfig(libva)
 BuildRequires:  pkgconfig(ncurses)
-BuildRequires:  pkgconfig(readline)
 BuildRequires:  pkgconfig(sbc)
 BuildRequires:  pkgconfig(sdl2)
 BuildRequires:  pkgconfig(sndfile)
@@ -237,7 +238,7 @@
 %package spa-plugins-%{spa_ver_str}
 Summary:        Plugins For PipeWire SPA
 Group:          Productivity/Multimedia/Other
-Requires:       pipewire
+Requires:       pipewire = %{version}
 
 %description spa-plugins-%{spa_ver_str}
 PipeWire is a server and user space API to deal with multimedia pipelines.
@@ -275,16 +276,6 @@
 %description doc
 This package contains documentation for the PipeWire media server.
 
-%package media-session
-Summary:        PipeWire Media Session Manager
-Group:          Development/Libraries/C and C++
-Recommends:     %{name} >= %{version}-%{release}
-Provides:       pipewire-session-manager
-
-%description media-session
-This package contains the reference Media Session Manager for the
-PipeWire media server.
-
 %package alsa
 Summary:        PipeWire media server ALSA support
 Group:          Development/Libraries/C and C++
@@ -361,6 +352,7 @@
 %else
     -Djack-devel=false \
 %endif
+    -Dsession-managers="[]" \
     %{nil}
 %meson_build
 
@@ -371,7 +363,6 @@
         %{buildroot}%{_sysconfdir}/alsa/conf.d/50-pipewire.conf
 cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf \
         %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
-touch %{buildroot}%{_datadir}/pipewire/media-session.d/with-alsa
 mkdir -p %{buildroot}%{_udevrulesdir}
 mv -fv %{buildroot}/lib/udev/rules.d/90-pipewire-alsa.rules 
%{buildroot}%{_udevrulesdir}
 
@@ -406,7 +397,7 @@
   echo "Switching Pipewire activation using systemd user socket."
   echo "Please log out from all sessions once to make it effective."
 fi
-%systemd_user_post pipewire.service pipewire.socket 
pipewire-media-session.service
+%systemd_user_post pipewire.service pipewire.socket
 
 # If the pipewire.socket user unit is not enabled and the workaround
 # for boo#1186561 has never been executed, we need to execute it now
@@ -436,43 +427,6 @@
 %postun
 %systemd_user_postun pipewire.service pipewire.socket
 
-%pre media-session
-%systemd_user_pre pipewire-media-session.service
-
-%post media-session
-%systemd_user_post pipewire-media-session.service
-
-# If the pipewire-media-session user service is not enabled and the
-# wireplumber user service is not enabled either (since it can replace 
pipewire-media-session)
-# and the workaround for boo#1186561 has never been executed,
-# we need to execute it now
-if [ ! -L 
%{_sysconfdir}/systemd/user/pipewire.service.wants/pipewire-media-session.service
 \
-    -a ! -L 
%{_sysconfdir}/systemd/user/pipewire.service.wants/wireplumber.service \
-    -a ! -f 
%{_localstatedir}/lib/pipewire/pipewire-media-session_post_workaround \
-    -a -x /usr/bin/systemctl ]; then
-    for service in pipewire-media-session.service ; do
-        /usr/bin/systemctl --global preset "$service" || :
-    done
-
-    mkdir -p %{_localstatedir}/lib/pipewire
-    cat << EOF > 
%{_localstatedir}/lib/pipewire/pipewire-media-session_post_workaround
-# The existence of this file means that the pipewire user services were
-# enabled at least once. Please don't remove this file as that would
-# make the services to be enabled again in the next package update.
-#
-# Check the following bugs for more information:
-# https://bugzilla.opensuse.org/show_bug.cgi?id=1184852
-# https://bugzilla.opensuse.org/show_bug.cgi?id=1183012
-# https://bugzilla.opensuse.org/show_bug.cgi?id=1186561
-EOF
-fi
-
-%preun media-session
-%systemd_user_preun pipewire-media-session.service
-
-%postun media-session
-%systemd_user_postun pipewire-media-session.service
-
 %pre pulseaudio
 %systemd_user_pre pipewire-pulse.service pipewire-pulse.socket
 
@@ -531,15 +485,6 @@
 %ghost %dir %{_localstatedir}/lib/pipewire
 %ghost %{_localstatedir}/lib/pipewire/pipewire_post_workaround
 
-%files media-session
-%{_bindir}/pipewire-media-session
-%{_userunitdir}/pipewire-media-session.service
-%dir %{_datadir}/pipewire/media-session.d/
-%{_datadir}/pipewire/media-session.d/alsa-monitor.conf
-%{_datadir}/pipewire/media-session.d/bluez-monitor.conf
-%{_datadir}/pipewire/media-session.d/media-session.conf
-%{_datadir}/pipewire/media-session.d/v4l2-monitor.conf
-
 %files -n %{libpipewire}
 %license LICENSE COPYING
 %doc README.md
@@ -559,7 +504,6 @@
 %{_mandir}/man1/pw-jack.1%{ext_man}
 %{_datadir}/pipewire/jack.conf
 %config %{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf
-%{_datadir}/pipewire/media-session.d/with-jack
 
 %files libjack-%{apiver_str}-devel
 %{_libdir}/pipewire-%{apiver}/jack/libjack.so
@@ -591,6 +535,7 @@
 %{_bindir}/pw-record
 %{_bindir}/pw-reserve
 %{_bindir}/pw-top
+%{_bindir}/pw-v4l2
 %{_mandir}/man1/pw-cat.1%{ext_man}
 %{_mandir}/man1/pw-cli.1%{ext_man}
 %{_mandir}/man1/pw-dot.1%{ext_man}
@@ -631,6 +576,8 @@
 %{_libdir}/pipewire-%{apiver}/libpipewire-module-pulse-tunnel.so
 %{_libdir}/pipewire-%{apiver}/libpipewire-module-zeroconf-discover.so
 %{_libdir}/pipewire-%{apiver}/libpipewire-module-rt.so
+%dir %{_libdir}/pipewire-%{apiver}/v4l2
+%{_libdir}/pipewire-%{apiver}/v4l2/libpw-v4l2.so
 %dir %{_datadir}/alsa-card-profile
 %dir %{_datadir}/alsa-card-profile/mixer
 %{_datadir}/alsa-card-profile/mixer/*
@@ -718,7 +665,6 @@
 %files pulseaudio
 %{_bindir}/pipewire-pulse
 %{_userunitdir}/pipewire-pulse.*
-%{_datadir}/pipewire/media-session.d/with-pulseaudio
 %ghost %{_localstatedir}/lib/pipewire/pipewire-pulseaudio_post_workaround
 
 %files alsa
@@ -732,7 +678,6 @@
 %dir %{_sysconfdir}/alsa/conf.d
 %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf
 %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
-%{_datadir}/pipewire/media-session.d/with-alsa
 
 %files lang -f %{name}.lang
 

++++++ 0001-cpu-fix-compilation-on-some-architectures.patch ++++++
>From 651f0decea5f83730c271e9bed03cdd0048fcd49 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaym...@redhat.com>
Date: Thu, 21 Oct 2021 11:09:48 +0200
Subject: [PATCH] cpu: fix compilation on some architectures

---
 spa/plugins/support/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spa/plugins/support/cpu.c b/spa/plugins/support/cpu.c
index ee1816512..01cff4854 100644
--- a/spa/plugins/support/cpu.c
+++ b/spa/plugins/support/cpu.c
@@ -270,7 +270,7 @@ impl_init(const struct spa_handle_factory *factory,
                if ((str = spa_dict_lookup(info, SPA_KEY_CPU_VM_TYPE)) != NULL)
                        this->vm_type = atoi(str);
                if ((str = spa_dict_lookup(info, SPA_KEY_CPU_ZERO_DENORMALS)) 
!= NULL)
-                       impl_cpu_zero_denormals(this, spa_atob(str));
+                       spa_cpu_zero_denormals(&this->cpu, spa_atob(str));
        }
 
        spa_log_debug(this->log, "%p: count:%d align:%d flags:%08x",
-- 
2.31.1

++++++ 0001-map-make-_insert_at-fail-on-a-removed-item.patch ++++++
>From c07f0ccb71a9d95944ce3e4d7e453cb50a26b0a2 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaym...@redhat.com>
Date: Mon, 25 Oct 2021 16:11:56 +0200
Subject: [PATCH] map: make _insert_at() fail on a removed item

You are only supposed to use _insert_new()/_remove() or _insert_at()
on the map, If we detect a _insert_at() to a removed item,
return an error because else we might corrupt the free list.

Update unit test accordingly.
---
 src/pipewire/map.h | 15 ++-------------
 test/test-map.c    | 17 +----------------
 2 files changed, 3 insertions(+), 29 deletions(-)

diff --git a/src/pipewire/map.h b/src/pipewire/map.h
index fd57f7f7c..f47dfa6b3 100644
--- a/src/pipewire/map.h
+++ b/src/pipewire/map.h
@@ -182,20 +182,9 @@ static inline int pw_map_insert_at(struct pw_map *map, 
uint32_t id, void *data)
                if (item == NULL)
                        return -errno;
        } else {
-               if (pw_map_id_is_free(map, id)) {
-                       uint32_t *current = &map->free_list;
-                       while (*current != SPA_ID_INVALID) {
-                               uint32_t current_id = (*current) >> 1;
-                               uint32_t *next = &pw_map_get_item(map, 
current_id)->next;
-
-                               if (current_id == id) {
-                                       *current = *next;
-                                       break;
-                               }
-                               current = next;
-                       }
-               }
                item = pw_map_get_item(map, id);
+               if (pw_map_item_is_free(item))
+                       return -EINVAL;
        }
        item->data = data;
        return 0;
diff --git a/test/test-map.c b/test/test-map.c
index dd1df77a8..b6d7681ce 100644
--- a/test/test-map.c
+++ b/test/test-map.c
@@ -188,7 +188,6 @@ PWTEST(map_insert_at_free)
        int data[3] = {1, 2, 3};
        int new_data = 4;
        int *ptr[3] = {&data[0], &data[1], &data[3]};
-       int *new_ptr = &new_data;
        int idx[3];
        int rc;
 
@@ -225,21 +224,7 @@ PWTEST(map_insert_at_free)
        }
 
        rc = pw_map_insert_at(&map, item_idx, &new_data);
-       pwtest_neg_errno_ok(rc);
-       pwtest_ptr_eq(new_ptr, pw_map_lookup(&map, item_idx));
-
-       if (before_idx != SKIP && before_idx != item_idx) {
-               rc = pw_map_insert_at(&map, before_idx, &ptr[before_idx]);
-               pwtest_neg_errno_ok(rc);
-               pwtest_ptr_eq(&ptr[before_idx], pw_map_lookup(&map, 
before_idx));
-       }
-
-       if (after_idx != SKIP && after_idx != item_idx) {
-               rc = pw_map_insert_at(&map, after_idx, &ptr[after_idx]);
-               pwtest_neg_errno_ok(rc);
-               pwtest_ptr_eq(&ptr[after_idx], pw_map_lookup(&map, after_idx));
-       }
-
+       pwtest_neg_errno(rc, -EINVAL);
        pw_map_clear(&map);
 
        return PWTEST_PASS;
-- 
GitLab

++++++ 0002-map-use-uintptr_t-for-the-next-pointer.patch ++++++
>From 5dfc3494dc4635918e74b9f3d717a39a74b28554 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaym...@redhat.com>
Date: Mon, 25 Oct 2021 16:15:17 +0200
Subject: [PATCH] map: use uintptr_t for the next pointer

This aligns the low bits of the next field with the low bits of the
pointer on big endian cpus.

Fixes #1747
---
 src/pipewire/map.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pipewire/map.h b/src/pipewire/map.h
index f47dfa6b3..1867fa4d3 100644
--- a/src/pipewire/map.h
+++ b/src/pipewire/map.h
@@ -74,7 +74,7 @@ extern "C" {
  * first item to get re-used on the next insert.
  */
 union pw_map_item {
-       uint32_t next;  /* next free index */
+       uintptr_t next; /* next free index */
        void *data;     /* data of this item, must be an even address */
 };
 
-- 
GitLab

++++++ _service ++++++
--- /var/tmp/diff_new_pack.46Y521/_old  2021-10-30 23:14:29.159091646 +0200
+++ /var/tmp/diff_new_pack.46Y521/_new  2021-10-30 23:14:29.159091646 +0200
@@ -3,8 +3,11 @@
   <service name="obs_scm" mode="disabled">
     <param name="scm">git</param>
     <param 
name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
-    <param name="revision">refs/tags/0.3.38</param>
+    <param name="revision">refs/tags/0.3.39</param>
     <param name="versionformat">@PARENT_TAG@</param>
+<!--    <param name="revision">master</param>
+    <param name="versionformat">@PARENT_TAG@+git%cd.%h</param>
+-->
   </service>
   <service name="tar" mode="buildtime"/>
   <service name="recompress" mode="buildtime">

++++++ pipewire-0.3.38.obscpio -> pipewire-0.3.39.obscpio ++++++
/work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.38.obscpio 
/work/SRC/openSUSE:Factory/.pipewire.new.1890/pipewire-0.3.39.obscpio differ: 
char 49, line 1

++++++ pipewire.obsinfo ++++++
--- /var/tmp/diff_new_pack.46Y521/_old  2021-10-30 23:14:29.215091691 +0200
+++ /var/tmp/diff_new_pack.46Y521/_new  2021-10-30 23:14:29.215091691 +0200
@@ -1,5 +1,5 @@
 name: pipewire
-version: 0.3.38
-mtime: 1632991350
-commit: 47a294c5bf52656998a7f43b13068c02001add77
+version: 0.3.39
+mtime: 1634742038
+commit: 5b7ef959d1fed35f6ddfcf94b6f57891fae23b31
 

Reply via email to