Accepting request 902931 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/902931
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=35
This commit is contained in:
Dominique Leuenberger 2021-07-02 11:26:41 +00:00 committed by Git OBS Bridge
commit 8d41d2a4d6
6 changed files with 178 additions and 28 deletions

View File

@ -3,10 +3,8 @@
<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">master</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
<param name="revision">refs/tags/0.3.31</param>
<param name="versionformat">@PARENT_TAG@</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:80adfafe64988e0c31dfd4cf6ef2ce6d6112088a6077fb79fec6fc90639ad011
size 9439245

3
pipewire-0.3.31.obscpio Normal file
View File

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

View File

@ -1,3 +1,103 @@
-------------------------------------------------------------------
Tue Jun 29 06:12:36 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
- Add %pre and %post sections to the new media-session subpackage.
- Move the references to the media-session service from the
workaround in pipewire's %post section to the workaround in the
new subpackage's %post section.
-------------------------------------------------------------------
Mon Jun 28 16:14:29 UTC 2021 - Frederic Crozat <fcrozat@suse.com>
- Update to 0.3.31:
* Highlights
- Fixes for alsa-lib 1.2.5
- New pulseaudio modules: module-avahi-zeroconf,
module-pipe-source, module-roc-sink, module-roc-source
- JACK has seen massive stability improvements. Locking
and correctness wrt to callbacks and has been reworked. Also
thread priorities have improved.
- Handle various crashes and lockups when running out of file
descriptors.
- Bluetooth now uses a hardware database to disable
non-working features on listed devices.
- Scheduling quantum and rate can now be changed dynamically
with pw-metadata.
- Many bugfixes and improvements.
* PipeWire
- Improve cleanup of context in error cases.
- There is now a pw-test framework for improved unit tests.
- Improve property serialization to valid JSON.
- Fix some macros to work with better with coverity.
- Metadata permissions are checked now. Clients need the
M permission on an object to be able to set metadata for
it.
- The core metadata object will now remove metadata for
removed objects, the implementor does not need to worry
about that anymore.
- Audioadapter will now follow the rate of the graph with
the resampler adjusting itself dynamically.
- Core now has a metadata implementation helper. A context
will expose a metadata with settings that can be changed
at runtime. This can be used to change the lowlevel or
graph quantum and samplerate on the fly.
- An infinite loop was fixed in the audio converter.
- Handle out-of-fds more gracefully. Handle truncated
control data by dropping the client connection.
- Fix profiler crash with many streams.
- Improve latency handling in pw-filter. There is now a
default handler and a ProcessLatency parameter to simplify
latency reporting.
- Latency reporting was improved in devices and streams.
- And example sink/source was added.
* ALSA
- hardware mute and volume are now properties on the
Route param to make things easier.
- More fixes for alsa-ucm 1.2.5.
* Tools
- spa-json-dump now properly encodes string and keys
- pw-dump now shows the correct subject of the metadata.
* PulseAudio server
- Ensure the node.description is set, some applications
crash otherwise (TeamSpeak).
- Module loading and unloading was improved.
- module-avahi-zeroconf was implemented.
- module-pipe-source was implemented
- module-roc-sink and module-roc-source was implemented
- The maximum amount of connections has been limited to 64,
like pulseaudio.
- Handle out-of-fds more gracefully.
- Fix overflow of read/write pointers.
- source and sink state are now decoupled from the monitor
state and will report IDLE when not playing anything.
* media-session
- Port switching should now happen to/from the port that
actually changed.
* JACK
- The locking was reviewed. All callbacks are not emited
from the PipeWire thread with the lock released and
the process function will be disabled for the duration
of the callback. This ensures that no two callbacks are
called at the same time.
- Improve internal consistency and try to never call callbacks
with invalid objects.
- Monitor port can now be accessed with system:monitor_%d
- client threads are now created with SCHED_FIFO and module-rt
is used to create the other RT threads. This should avoid
SIGKILL from RTKit in some cases.
* Bluetooth
- Various bugfixes to improve connections to devices.
- Handle delayed UUID connection.
- There is now a hardware database that can disable features
in listed devices.
- Use libusb to detect availability of mSBC.
* ALSA
- The virtual device name can now also contain a media role.
- Add BuildRequires(libusb-1.0) to detect mSBC support for Bluetooth.
- Move media-session to a separate package (similar to Fedora),
allowing to switch to another session manager.
-------------------------------------------------------------------
Sun Jun 13 17:35:06 UTC 2021 - Adam Mizerski <adam@mizerski.pl>

View File

@ -1,5 +1,5 @@
name: pipewire
version: 0.3.30+55
mtime: 1623317317
commit: 342ae0b643004e6ddbd64ff9eee414e6a8dfacd2
version: 0.3.31
mtime: 1624893688
commit: 5497d2d907ed8614c2c0b6482ea709cc7314f301

View File

@ -44,7 +44,7 @@
%bcond_with aptx
Name: pipewire
Version: 0.3.30+55
Version: 0.3.31
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -96,6 +96,7 @@ BuildRequires: pkgconfig(libopenaptx)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(sbc)
@ -107,6 +108,7 @@ BuildRequires: pkgconfig(webrtc-audio-processing)
BuildRequires: pkgconfig(x11)
Requires: %{libpipewire} = %{version}
Requires: %{name}-modules = %{version}
Requires: %{name}-session-manager
Requires: %{name}-spa-plugins-%{spa_ver_str} = %{version}
Requires: %{name}-spa-tools = %{version}
Requires: %{name}-tools = %{version}
@ -242,6 +244,16 @@ 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++
@ -283,6 +295,7 @@ export CC=gcc-9
-Dffmpeg=enabled \
-Dsystemd=enabled \
-Dgstreamer-device-provider=disabled \
-Droc=disabled \
%if %{with_vulkan}
-Dvulkan=enabled \
%else
@ -339,7 +352,7 @@ done
%meson_test
%pre
%systemd_user_pre pipewire.service pipewire.socket pipewire-media-session.service
%systemd_user_pre pipewire.service pipewire.socket
%post
# Check if the systemd_user_pre macro generated the file
@ -350,12 +363,12 @@ if [ -f /run/systemd/rpm/needs-user-preset/pipewire.socket ]; then
fi
%systemd_user_post pipewire.service pipewire.socket pipewire-media-session.service
# If the pipewire-media-session user service is not enabled and the workaround
# 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
if [ ! -L %{_sysconfdir}/systemd/user/pipewire.service.wants/pipewire-media-session.service \
if [ ! -L %{_sysconfdir}/systemd/user/sockets.target.wants/pipewire.socket \
-a ! -f %{_localstatedir}/lib/pipewire/pipewire_post_workaround \
-a -x /usr/bin/systemctl ]; then
for service in pipewire.service pipewire.socket pipewire-media-session.service ; do
for service in pipewire.service pipewire.socket ; do
/usr/bin/systemctl --global preset "$service" || :
done
@ -373,10 +386,47 @@ EOF
fi
%preun
%systemd_user_preun pipewire.service pipewire.socket pipewire-media-session.service
%systemd_user_preun pipewire.service pipewire.socket
%postun
%systemd_user_postun pipewire.service pipewire.socket pipewire-media-session.service
%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
@ -424,27 +474,32 @@ fi
%files
%{_bindir}/pipewire
%{_bindir}/pipewire-media-session
%{_userunitdir}/pipewire.service
%{_userunitdir}/pipewire.socket
%{_userunitdir}/pipewire-media-session.service
%{_mandir}/man1/pipewire.1%{ext_man}
%{_mandir}/man5/pipewire.conf.5%{ext_man}
%dir %{_datadir}/pipewire
%{_datadir}/pipewire/pipewire.conf
%{_datadir}/pipewire/client.conf
%{_datadir}/pipewire/client-rt.conf
%{_datadir}/pipewire/jack.conf
%{_datadir}/pipewire/pipewire-pulse.conf
%dir %{_datadir}/pipewire/media-session.d
%{_datadir}/pipewire/media-session.d/media-session.conf
%{_datadir}/pipewire/media-session.d/alsa-monitor.conf
%{_datadir}/pipewire/media-session.d/bluez-monitor.conf
%{_datadir}/pipewire/media-session.d/v4l2-monitor.conf
%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-hardware.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
%{_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
%doc README.md
@ -462,7 +517,6 @@ fi
%{_bindir}/pw-jack
%{_mandir}/man1/pw-jack-%{apiver}.1%{ext_man}
%{_mandir}/man1/pw-jack.1%{ext_man}
%{_datadir}/pipewire/media-session.d/with-jack
%files -n gstreamer-plugin-pipewire
%{_libdir}/gstreamer-1.0/libgstpipewire.so
@ -588,7 +642,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
@ -602,7 +655,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