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-07-29 21:31:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pipewire (Old) and /work/SRC/openSUSE:Factory/.pipewire.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire" Thu Jul 29 21:31:09 2021 rev:36 rq:908515 version:0.3.32 Changes: -------- --- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2021-07-02 13:27:08.388912945 +0200 +++ /work/SRC/openSUSE:Factory/.pipewire.new.1899/pipewire.changes 2021-07-29 21:31:41.808790807 +0200 @@ -1,0 +2,119 @@ +Tue Jul 27 06:23:36 UTC 2021 - Antonio Larrosa <alarr...@suse.com> + +- Move with-{alsa,jack,pulseaudio} from the media-session package + to the packages that implement each support. + +------------------------------------------------------------------- +Thu Jul 22 07:55:13 UTC 2021 - Frederic Crozat <fcro...@suse.com> + +- Add patch pipewire-fix-libcamera-build.patch: fix build with + latest libcamera. +- Do no build libcamera support on Leap 15.3 or lower (too old + libcamera) and change name of BuildRequires from camera to + libcamera. +- Update minimal version for alsa buildrequires. + +------------------------------------------------------------------- +Tue Jul 20 12:46:57 UTC 2021 - Frederic Crozat <fcro...@suse.com> + +- Update to 0.3.32: + * Highlights + - Real-time priority handling for threads was reworked. + Freewheeling will now drop RT priorities to avoid being + killed. + - Problems with filter chains and echo-cancel being linked in + a loop was fixed. + - alsamixer should now be able to see the mixer controls again. + - JACK has seen some latency reporting improvements that make + Ardour report latencies correctly. + - Many bugfixes and improvements. + * PipeWire + - Fix a bug in the neon audio resampler code. + - There is now a node.link-group property to relate linked + streams. this can be used to track the dataflow with + coupled streams. + - Fix a crash when recalculating latency on a destroyed + port. (#1371) + - Filter chains and other modules that create streams can + now also be added to the daemon config itself. (#1309) + - Fix some potential deadlocks in timerfd. (#1377) + - Feedback links are skipped when recalculating latency to + avoid loops. + - The dummy driver and null-sink now stop the timerfd when + following another driver instead of generating useless + graph wakeups. + - rt.limit was increased to 2 seconds. Some applications got + killed because they run lengthy code in the Real-Time + thread. (#1344) + - Fix s24_32 to float, it was not sign extending + properly. (#1393) + - The performance of the feedback loop check algorithm was + improved a lot, making complex graphs start much much faster. + - The zeroconf publish module now doesn't republish nodes + every time the volume changes. (#1406) + - A potential memory corruption error has been fixed in the + loop that could cause random crashes. + - Mempools can now be created from multiple threads at the + same time. + * media-session + - Loops in coupled streams are now avoided. (#1394) + - Port changes for inactive profiles are ignored now by + the default-route module. (#1403) + * ALSA + - Make sure tha alibpref is not part of the device node name + because it is random. (#1362) + - Fixed an off-by-one that could cause midi events to end up + with a wrong timestamp and thus being discarded by + some apps. (#1395) + - Fix some memory leaks when destroying a card object. + * JACK + - Fix some invalid cycle wakeups that could cause JACK + application to run with a 0 buffer size. (#1386) + - JACK can now use rtkit to manage realtime priorities + on threads. + - The Real-time priority is dropped when entering freewheel + mode to make sure we don't get killed when using + too much CPU. + - jack_recompute_total_latencies() is now implemented, fixing + the latency reporting in Ardour. (#1388) + - Fix some overflows in time calculations. + - Ensure frame_rate in position is never 0. + - Graph callbacks are now emitted as well. + * Bluetooth + - RTP payload type is now set correctly for aptX, LDAC and + SBC, which should improve compatibility with devices that + care about this. + * PulseAudio server + - There is now a quirks database to deal with bad clients. + The database is builtin but can be made external later. + Teams is now lied to and told all sink/sources use + s16 samples to make it show all sinks/sources. + Firefox is forced to remove the DONT_MOVE flag on + capture streams so that you can move firefox streams + with other tools. + - The UNDERFLOW warnings are now made into info log messages + to not spam the log too much. Many application just let + things underrun and PulseAudio did not warn about this + either. (#910) + * ALSA plugin + - The alsa plugin now uses the right metadata for finding the + default source and sink, which makes the volume controls + reappear. (#1384) + * Other + - Cleanups in pulse-server and pipewire. + - Documentation additions. + +------------------------------------------------------------------- +Tue Jul 13 14:52:35 UTC 2021 - Antonio Larrosa <alarr...@suse.com> + +- Make the jack replacement libraries really replace jack libraries + just like Fedora does (adding the path to the pipewire + replacement libraries to ld.so.conf.d and conflicting with jack). +- Remove the spec code that forced the packages not to provide the + jack libraries. They seem to be ready to replace jack libraries + now. +- Add a pipewire-libjack-0_3-devel package with development files + for pipewire's jack replacement. +- Enable the libcamera module + +------------------------------------------------------------------- Old: ---- pipewire-0.3.31.obscpio New: ---- pipewire-0.3.32.obscpio pipewire-fix-libcamera-build.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pipewire.spec ++++++ --- /var/tmp/diff_new_pack.f91m5B/_old 2021-07-29 21:31:43.616788580 +0200 +++ /var/tmp/diff_new_pack.f91m5B/_new 2021-07-29 21:31:43.620788575 +0200 @@ -17,11 +17,6 @@ # -%define _use_internal_dependency_generator 0 - -%global provfind sh -c "grep -v -e 'libjack.*\\.so' | %__find_provides" -%global __find_provides %provfind - %define apiver 0.3 %define apiver_str 0_3 %define spa_ver 0.2 @@ -34,6 +29,12 @@ %define with_vulkan 0 %endif +%if 0%{?suse_version} >= 1550 +%define with_libcamera 1 +%else +%define with_libcamera 0 +%endif + %ifnarch s390 s390x ppc64 %define with_ldacBT 1 %else @@ -44,7 +45,7 @@ %bcond_with aptx Name: pipewire -Version: 0.3.31 +Version: 0.3.32 Release: 0 Summary: A Multimedia Framework designed to be an audio and video server and more License: MIT @@ -53,6 +54,8 @@ Source0: %{name}-%{version}.tar.xz Source1: %{name}-rpmlintrc Source99: baselibs.conf +# PATCH-FIX-UPSTREAM pipewire-fix-libcamera-build.patch fcro...@suse.com -- Fix build with latest libcamera +Patch0: pipewire-fix-libcamera-build.patch BuildRequires: doxygen BuildRequires: fdupes @@ -65,9 +68,12 @@ BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros BuildRequires: xmltoman -BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(alsa) >= 1.1.7 BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(bluez) +%if %{with_libcamera} +BuildRequires: pkgconfig(libcamera) +%endif BuildRequires: pkgconfig(dbus-1) %if %{with aac} BuildRequires: pkgconfig(fdk-aac) @@ -83,6 +89,7 @@ BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(jack) >= 1.9.10 +BuildConflicts: pipewire-libjack-%{apiver_str}-devel %if %{with_ldacBT} BuildRequires: pkgconfig(ldacBT-abr) BuildRequires: pkgconfig(ldacBT-enc) @@ -148,6 +155,10 @@ Group: Development/Libraries/C and C++ Requires(post): update-alternatives Requires(postun):update-alternatives +Conflicts: jack +Conflicts: libjack0 +Conflicts: libjacknet0 +Conflicts: libjackserver0 %description libjack-%{apiver_str} PipeWire is a server and user space API to deal with multimedia pipelines. @@ -162,6 +173,26 @@ This package provides the PipeWire replacement libraries for libjack. +%package libjack-%{apiver_str}-devel +Summary: Development files for %{name}-libjack-%{apiver_str} +Group: Development/Libraries/C and C++ +Requires: %{name}-libjack-%{apiver_str} +Conflicts: libjack-devel + +%description libjack-%{apiver_str}-devel +PipeWire is a server and user space API to deal with multimedia pipelines. + +Some of its features include: + + * Capture and playback of audio and video with minimal latency; + * Real-time Multimedia processing on audio and video; + * Multiprocess architecture to let applications share multimedia content; + * GStreamer plugins for easy use and integration in current applications; + * Sandboxed applications support. + +This package provides the PipeWire replacement development files +for libjack. + %package -n gstreamer-plugin-pipewire Summary: Gstreamer Plugin for PipeWire Group: System/Libraries @@ -313,12 +344,19 @@ %else -Dbluez5-codec-aptx=disabled \ %endif - -Dlibcamera=disabled \ %if %{with_ldacBT} -Dbluez5-codec-ldac=enabled \ %else -Dbluez5-codec-ldac=disabled \ %endif +%if %{with_libcamera} + -Dlibcamera=enabled \ +%else + -Dlibcamera=disabled \ +%endif + -Dpipewire-jack=enabled \ + -Djack=enabled \ + -Djack-devel=enabled \ %{nil} %meson_build @@ -333,6 +371,9 @@ mkdir -p %{buildroot}%{_udevrulesdir} mv -fv %{buildroot}/lib/udev/rules.d/90-pipewire-alsa.rules %{buildroot}%{_udevrulesdir} +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +echo %{_libdir}/pipewire-%{apiver}/jack/ > %{buildroot}%{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf + mkdir -p %{buildroot}%{_sysconfdir}/alternatives for wrapper in pw-jack ; do mv %{buildroot}%{_bindir}/$wrapper %{buildroot}%{_bindir}/$wrapper-%{apiver} @@ -482,7 +523,6 @@ %{_datadir}/pipewire/pipewire.conf %{_datadir}/pipewire/client.conf %{_datadir}/pipewire/client-rt.conf -%{_datadir}/pipewire/jack.conf %{_datadir}/pipewire/pipewire-pulse.conf %ghost %dir %{_localstatedir}/lib/pipewire %ghost %{_localstatedir}/lib/pipewire/pipewire_post_workaround @@ -496,9 +536,6 @@ %{_datadir}/pipewire/media-session.d/bluez-monitor.conf %{_datadir}/pipewire/media-session.d/media-session.conf %{_datadir}/pipewire/media-session.d/v4l2-monitor.conf -%{_datadir}/pipewire/media-session.d/with-alsa -%{_datadir}/pipewire/media-session.d/with-jack -%{_datadir}/pipewire/media-session.d/with-pulseaudio %files -n %{libpipewire} %license LICENSE COPYING @@ -508,15 +545,25 @@ %files libjack-%{apiver_str} %dir %{_libdir}/pipewire-%{apiver}/jack -%{_libdir}/pipewire-%{apiver}/jack/libjack.so* -%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so* -%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so* +%{_libdir}/pipewire-%{apiver}/jack/libjack.so.* +%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so.* +%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so.* %ghost %{_sysconfdir}/alternatives/pw-jack %ghost %{_sysconfdir}/alternatives/pw-jack.1%{ext_man} %{_bindir}/pw-jack-%{apiver} %{_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 +%{_datadir}/pipewire/media-session.d/with-jack + +%files libjack-%{apiver_str}-devel +%{_includedir}/jack +%{_libdir}/pipewire-%{apiver}/jack/libjack.so +%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so +%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so +%{_libdir}/pkgconfig/jack.pc %files -n gstreamer-plugin-pipewire %{_libdir}/gstreamer-1.0/libgstpipewire.so @@ -596,6 +643,9 @@ %{_libdir}/spa-%{spa_ver}/control/libspa-control.so %{_libdir}/spa-%{spa_ver}/ffmpeg/libspa-ffmpeg.so %{_libdir}/spa-%{spa_ver}/jack/libspa-jack.so +%if %{with_libcamera} +%{_libdir}/spa-%{spa_ver}/libcamera/libspa-libcamera.so +%endif %{_libdir}/spa-%{spa_ver}/support/libspa-dbus.so %{_libdir}/spa-%{spa_ver}/support/libspa-journal.so %{_libdir}/spa-%{spa_ver}/support/libspa-support.so @@ -618,6 +668,9 @@ %dir %{_libdir}/spa-%{spa_ver}/volume %dir %{_libdir}/spa-%{spa_ver}/ffmpeg %dir %{_libdir}/spa-%{spa_ver}/jack +%if %{with_libcamera} +%dir %{_libdir}/spa-%{spa_ver}/libcamera +%endif %dir %{_libdir}/spa-%{spa_ver}/support %dir %{_libdir}/spa-%{spa_ver}/v4l2 %dir %{_libdir}/spa-%{spa_ver}/videoconvert @@ -642,6 +695,7 @@ %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 @@ -655,6 +709,7 @@ %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 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.f91m5B/_old 2021-07-29 21:31:43.644788545 +0200 +++ /var/tmp/diff_new_pack.f91m5B/_new 2021-07-29 21:31:43.644788545 +0200 @@ -3,7 +3,7 @@ <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.31</param> + <param name="revision">refs/tags/0.3.32</param> <param name="versionformat">@PARENT_TAG@</param> </service> <service name="tar" mode="buildtime"/> ++++++ pipewire-0.3.31.obscpio -> pipewire-0.3.32.obscpio ++++++ /work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.31.obscpio /work/SRC/openSUSE:Factory/.pipewire.new.1899/pipewire-0.3.32.obscpio differ: char 49, line 1 ++++++ pipewire-fix-libcamera-build.patch ++++++ >From 5471a0018b0394327c0cd4f1f60bf326632b29f1 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas <javi...@redhat.com> Date: Thu, 22 Jul 2021 20:09:34 +0200 Subject: [PATCH 1/2] libcamera: fix no-longer existent <libcamera/buffer.h> header inclusion The SPA plugin is including a <libcamera/buffer.h> header file, but this got renamed to <libcamera/framebuffer.h> to match the defined class name: ../spa/plugins/libcamera/libcamera_wrapper.cpp:52:10: fatal error: libcamera/buffer.h: No such file or directory 52 | #include <libcamera/buffer.h> | ^~~~~~~~~~~~~~~~~~~~ Fixes #1435 --- spa/plugins/libcamera/libcamera_wrapper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spa/plugins/libcamera/libcamera_wrapper.cpp b/spa/plugins/libcamera/libcamera_wrapper.cpp index 58c062412..f25922eb1 100644 --- a/spa/plugins/libcamera/libcamera_wrapper.cpp +++ b/spa/plugins/libcamera/libcamera_wrapper.cpp @@ -49,7 +49,7 @@ #include <libcamera/camera_manager.h> #include <libcamera/request.h> #include <libcamera/framebuffer_allocator.h> -#include <libcamera/buffer.h> +#include <libcamera/framebuffer.h> #include <libcamera/property_ids.h> #include <libcamera/controls.h> -- 2.26.2 >From 76cb5c1169b58b48a2921ccc3f61c713b297c07f Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas <javi...@redhat.com> Date: Thu, 22 Jul 2021 20:17:09 +0200 Subject: [PATCH 2/2] libcamera: remove unused buffer variable in LibCamera::stop() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To fix build warning about a variable being unused in LibCamera::stop(): [1/2] Compiling C++ object spa/plugins/libcamera/libspa-libcamera.so.p/libcamera_wrapper.cpp.o ../spa/plugins/libcamera/libcamera_wrapper.cpp: In member function ???void LibCamera::stop()???: ../spa/plugins/libcamera/libcamera_wrapper.cpp:531:58: warning: unused variable ???buffer??? [-Wunused-variable] 531 | for (const std::unique_ptr<FrameBuffer> &buffer : this->allocator_->buffers(stream)) { | ^~~~~~ --- spa/plugins/libcamera/libcamera_wrapper.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spa/plugins/libcamera/libcamera_wrapper.cpp b/spa/plugins/libcamera/libcamera_wrapper.cpp index f25922eb1..d58238d33 100644 --- a/spa/plugins/libcamera/libcamera_wrapper.cpp +++ b/spa/plugins/libcamera/libcamera_wrapper.cpp @@ -524,13 +524,12 @@ extern "C" { void LibCamera::stop() { this->disconnect(); - uint32_t bufIdx = 0; StreamConfiguration &cfg = this->config_->at(0); Stream *stream = cfg.stream(); + uint32_t nbuffers = this->allocator_->buffers(stream).size(); - for (const std::unique_ptr<FrameBuffer> &buffer : this->allocator_->buffers(stream)) { + for (uint32_t bufIdx = 0; bufIdx < nbuffers; bufIdx++) { delete [] this->fd_[bufIdx]; - bufIdx++; } delete [] this->fd_; -- 2.26.2 ++++++ pipewire.obsinfo ++++++ --- /var/tmp/diff_new_pack.f91m5B/_old 2021-07-29 21:31:43.716788457 +0200 +++ /var/tmp/diff_new_pack.f91m5B/_new 2021-07-29 21:31:43.716788457 +0200 @@ -1,5 +1,5 @@ name: pipewire -version: 0.3.31 -mtime: 1624893688 -commit: 5497d2d907ed8614c2c0b6482ea709cc7314f301 +version: 0.3.32 +mtime: 1626779173 +commit: 41ce3092756ab27106881f4246e54bf32ea5adbe