Accepting request 926684 from home:alarrosa:branches:multimedia:libs

- 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

OBS-URL: https://build.opensuse.org/request/show/926684
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=22
This commit is contained in:
Antonio Larrosa 2021-10-21 09:49:16 +00:00 committed by Git OBS Bridge
parent 55dddac633
commit eef121f013
8 changed files with 144 additions and 93 deletions

View File

@ -0,0 +1,25 @@
From 651f0decea5f83730c271e9bed03cdd0048fcd49 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@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

View File

@ -1,22 +0,0 @@
From f8817b439433798bd7217dc4ae72197887b0fc96 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 30 Sep 2021 11:12:27 +0200
Subject: [PATCH] cpu: fix compilation on ARM
---
spa/plugins/support/cpu-arm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spa/plugins/support/cpu-arm.c b/spa/plugins/support/cpu-arm.c
index d80b8ad87..de07ebf41 100644
--- a/spa/plugins/support/cpu-arm.c
+++ b/spa/plugins/support/cpu-arm.c
@@ -80,7 +80,7 @@ arm_init(struct impl *impl)
int arch;
if (!(cpuinfo = get_cpuinfo())) {
- spa_log_warn(impl->log, NAME " %p: Can't read cpuinfo", impl);
+ spa_log_warn(impl->log, "%p: Can't read cpuinfo", impl);
return 1;
}

View File

@ -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">

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c72e38a0f5606ef6d680945ff304340606f314a67e7f83695ed943d1e8495fa8
size 10433037

3
pipewire-0.3.39.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:33c060d434bff4130c4640b1093119e6c46b82601e82afe3fef7bd128ee1811e
size 10106381

View File

@ -1,3 +1,105 @@
-------------------------------------------------------------------
Thu Oct 21 09:27:57 UTC 2021 - Antonio Larrosa <alarrosa@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
-------------------------------------------------------------------
Wed Oct 13 09:10:51 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,5 +1,5 @@
name: pipewire
version: 0.3.38
mtime: 1632991350
commit: 47a294c5bf52656998a7f43b13068c02001add77
version: 0.3.39
mtime: 1634742038
commit: 5b7ef959d1fed35f6ddfcf94b6f57891fae23b31

View File

@ -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,7 @@ URL: https://pipewire.org/
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
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -237,7 +236,7 @@ The framework is used to build a modular daemon that can be configured to:
%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 +274,6 @@ Group: Development/Libraries/C and C++
%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 +350,7 @@ export CC=gcc-9
%else
-Djack-devel=false \
%endif
-Dsession-managers="[]" \
%{nil}
%meson_build
@ -371,7 +361,6 @@ cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf \
%{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}
@ -436,43 +425,6 @@ fi
%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 +483,6 @@ fi
%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 +502,6 @@ fi
%{_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 +533,7 @@ fi
%{_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 +574,8 @@ fi
%{_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 +663,6 @@ fi
%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 +676,6 @@ fi
%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