pipewire/pipewire.spec

685 lines
23 KiB
RPMSpec
Raw Normal View History

#
# spec file for package pipewire
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2018 Luciano Santos, luc14n0@linuxmail.org.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define apiver 0.3
%define apiver_str 0_3
%define spa_ver 0.2
%define spa_ver_str 0_2
%define libpipewire libpipewire-%{apiver_str}-0
%if %{pkg_vcmp pkgconfig(vulkan) >= 1.1}
%define with_vulkan 1
%else
%define with_vulkan 0
%endif
%ifnarch s390 s390x ppc64
%define with_ldacBT 1
%else
%define with_ldacBT 0
%endif
%bcond_with aac
%bcond_with aptx
%if 0%{?suse_version} >= 1550
%bcond_without libcamera
%else
%bcond_with libcamera
%endif
Name: pipewire
Accepting request 931141 from home:iznogood:branches:multimedia:libs - Update to version 0.3.40: * Highlights: - Producers and consumers can now incrementally negotiate a format by narrowing down the options. This can be used to select an optimal combination of format and modifiers. - Driver nodes such as the consumer of a headless compositor can now throttle the speed based on a new trigger_done event. - Headless compositors can now signal a damage event to consumers to start the processing of the graph. - Compatibility improvements in JACK. - Draining and resuming is now working correctly in pulse and alsa. - Many bugfixes and improvements. * PipeWire: - Many BSD fixes. - clang compilation fixes. - Fix map implementation on big-endian machines. - Improve tracking of param changes in pw-stream. - Add support for renegotiation. With this change, producer and consumer can incrementally renegotiate a format until it is fixed. This will be used to do complex negotiation of DRM modifiers. - Add a trigger-done event in the stream. This can be used to know when processing of the complete graph has finished after issuing a trigger_process() and it can be used to throttle processing. - Add a RequestProcess node event and command. This can be used by non-driver nodes to suggest to a driver to start processing. One case is where a compositor can emit this event as a result of a screen update to let the headless compositor start an update. - Fix zeroconf sample format. - pw-mon outputs to stderr now and has colors. * SPA: - Fix compilation on ppc and armv7. - Fix port type check for ALSA seq midi ports so that they are not falsely listed as hardware. - Fix crash when running SSE code on unsupported HW. - The libcamera plugin was rewritten. It now supports hotplug, format enumeration and an easier to read codebase. - Fix compatibility some more for cards with 64 channels. * pulse-server: - Flush data in pause in combine-sink to avoid stray audio fragments. - Fix a race where not all objects were removed correctly. - The latency calculations and setup was improved to more closely match pulseaudio behaviour. PULSE_LATENCY_MSEC should now resemble pulseaudio more closely. - The drained reply is now sent only once and new data will be accepted once the drain completes. - Fix a potential crasher bug where the stream started processing before the setup was completed. - The server will now drop the client connections when the pipewire connection is lost. * JACK: - Rework the jack_port_get_buffer() method to return the same memory when called multiple times during the process() callback. This makes things work on a new Hydrogen. - Add an option to disable showing the monitor ports. - JACK ports are now sorted per node/client and port_id. This should more closely match JACK behaviour and avoid random port order. * v4l2: - Fix v4l2 LD_PRELOAD script. - Make sure we destroy the proxy when the global is destroyed. * ALSA: - _prepare should exit the draining state. - Fix the precision of the _delay function by taking into account the amount of queued samples are the correct samplerate. - Drop patches fixed upstream: * 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 OBS-URL: https://build.opensuse.org/request/show/931141 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=27
2021-11-16 14:48:45 +01:00
Version: 0.3.40
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
Group: Development/Libraries/C and C++
URL: https://pipewire.org/
Source0: %{name}-%{version}.tar.xz
Source1: %{name}-rpmlintrc
Source99: baselibs.conf
Accepting request 931141 from home:iznogood:branches:multimedia:libs - Update to version 0.3.40: * Highlights: - Producers and consumers can now incrementally negotiate a format by narrowing down the options. This can be used to select an optimal combination of format and modifiers. - Driver nodes such as the consumer of a headless compositor can now throttle the speed based on a new trigger_done event. - Headless compositors can now signal a damage event to consumers to start the processing of the graph. - Compatibility improvements in JACK. - Draining and resuming is now working correctly in pulse and alsa. - Many bugfixes and improvements. * PipeWire: - Many BSD fixes. - clang compilation fixes. - Fix map implementation on big-endian machines. - Improve tracking of param changes in pw-stream. - Add support for renegotiation. With this change, producer and consumer can incrementally renegotiate a format until it is fixed. This will be used to do complex negotiation of DRM modifiers. - Add a trigger-done event in the stream. This can be used to know when processing of the complete graph has finished after issuing a trigger_process() and it can be used to throttle processing. - Add a RequestProcess node event and command. This can be used by non-driver nodes to suggest to a driver to start processing. One case is where a compositor can emit this event as a result of a screen update to let the headless compositor start an update. - Fix zeroconf sample format. - pw-mon outputs to stderr now and has colors. * SPA: - Fix compilation on ppc and armv7. - Fix port type check for ALSA seq midi ports so that they are not falsely listed as hardware. - Fix crash when running SSE code on unsupported HW. - The libcamera plugin was rewritten. It now supports hotplug, format enumeration and an easier to read codebase. - Fix compatibility some more for cards with 64 channels. * pulse-server: - Flush data in pause in combine-sink to avoid stray audio fragments. - Fix a race where not all objects were removed correctly. - The latency calculations and setup was improved to more closely match pulseaudio behaviour. PULSE_LATENCY_MSEC should now resemble pulseaudio more closely. - The drained reply is now sent only once and new data will be accepted once the drain completes. - Fix a potential crasher bug where the stream started processing before the setup was completed. - The server will now drop the client connections when the pipewire connection is lost. * JACK: - Rework the jack_port_get_buffer() method to return the same memory when called multiple times during the process() callback. This makes things work on a new Hydrogen. - Add an option to disable showing the monitor ports. - JACK ports are now sorted per node/client and port_id. This should more closely match JACK behaviour and avoid random port order. * v4l2: - Fix v4l2 LD_PRELOAD script. - Make sure we destroy the proxy when the global is destroyed. * ALSA: - _prepare should exit the draining state. - Fix the precision of the _delay function by taking into account the amount of queued samples are the correct samplerate. - Drop patches fixed upstream: * 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 OBS-URL: https://build.opensuse.org/request/show/931141 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=27
2021-11-16 14:48:45 +01:00
Accepting request 917721 from home:fcrozat:branches:multimedia:libs - Update to version 0.3.35: * Highlights: - S/PDIF passthrough over optical or HDMI is now implemented. - Some critical fixes to MIDI, draining of streams and various modules. - skypeforlinux should work better now after adding it to the quirks database. - Bluetooth codecs are now in separate plugins to make it easier to ship them. * PipeWire: - Drain was fixed in pw-stream. In some cases it would not clear the drain state correctly. Fixes the issue where speaker-test would only play one channel. - Loopback connections to a driver will now activate the driver. This fixes an issue where MIDI connections between devices or some applications (puredata) would not get any MIDI messages. (#1559)x. - The audiomixer can now mix more formats. Together with the passthrough improvements this can be used to avoid conversions to/from the DSP format in some cases. - Make sure we idle drivers when removing a node from it in all cases. JACK clients could keep a driver node busy. - Add new methods to accumulate object info. The old one was difficult to use when applications need to accumulate multiple changes. - A new interface to load modules has been added. Plugins can use this to ask the host (PipeWire) to load spa plugins. - Increase param buffer size to handle larger params. Nodes with a large number of channels would sometimes not have properties. (#1574) OBS-URL: https://build.opensuse.org/request/show/917721 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=16
2021-09-09 16:41:05 +02:00
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
%if 0%{?suse_version} <= 1500
BuildRequires: gcc9
%endif
BuildRequires: gcc-c++
BuildRequires: graphviz
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(alsa) >= 1.1.7
Accepting request 894781 from GNOME:Factory - Update to 0.3.28 * Highlights - Freewheeling was implemented. This makes it possible to export projects in ardour. - A new powerful filter-chain module was added that can be used to created all kinds of filter-chains from ladspa and builtin plugins. - Many more pulseaudio modules are now implemented: module-ladspa-sink, module-ladspa-source, module-pipe-sink, module-tunnel-sink, module-tunnel-source, module-zeroconf-discover - Fix a bug where devices would not appear after logout/login. - Fix a bug where the volume was reset to 0 and devices would have no audio. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. * PipeWire - Implement freewheeling for JACK clients - Add filter-chain module that can be used to construct arbitrary graphs from ladspa and builtin plugins. - Add new property to easily set algorithm params - Add module-pulse-tunnel to tunnel audio to and from a PulseAudio compatible server. - Add a avahi zeroconf discover module, create pulse-tunnel when PulseAudio devices are announced. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. - Applications now have their monitor ports named with the "monitor" prefix to avoid confusion with the output ports. - LICENSE clarifications. (forwarded request 894376 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/894781 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=31
2021-05-23 23:30:36 +02:00
BuildRequires: pkgconfig(avahi-client)
BuildRequires: pkgconfig(bluez)
%if %{with libcamera}
Accepting request 917721 from home:fcrozat:branches:multimedia:libs - Update to version 0.3.35: * Highlights: - S/PDIF passthrough over optical or HDMI is now implemented. - Some critical fixes to MIDI, draining of streams and various modules. - skypeforlinux should work better now after adding it to the quirks database. - Bluetooth codecs are now in separate plugins to make it easier to ship them. * PipeWire: - Drain was fixed in pw-stream. In some cases it would not clear the drain state correctly. Fixes the issue where speaker-test would only play one channel. - Loopback connections to a driver will now activate the driver. This fixes an issue where MIDI connections between devices or some applications (puredata) would not get any MIDI messages. (#1559)x. - The audiomixer can now mix more formats. Together with the passthrough improvements this can be used to avoid conversions to/from the DSP format in some cases. - Make sure we idle drivers when removing a node from it in all cases. JACK clients could keep a driver node busy. - Add new methods to accumulate object info. The old one was difficult to use when applications need to accumulate multiple changes. - A new interface to load modules has been added. Plugins can use this to ask the host (PipeWire) to load spa plugins. - Increase param buffer size to handle larger params. Nodes with a large number of channels would sometimes not have properties. (#1574) OBS-URL: https://build.opensuse.org/request/show/917721 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=16
2021-09-09 16:41:05 +02:00
BuildRequires: pkgconfig(libcamera) >= 0~3015
%endif
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(libcap)
%if %{with aac}
BuildRequires: pkgconfig(fdk-aac)
%endif
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.32.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-allocators-1.0)
BuildRequires: pkgconfig(gstreamer-audio-1.0)
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)
%endif
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
%if %{with aptx}
BuildRequires: pkgconfig(libfreeaptx)
%endif
BuildRequires: readline-devel
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
2021-06-29 07:59:13 +02:00
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(sbc)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(webrtc-audio-processing)
BuildRequires: pkgconfig(x11)
Requires: %{libpipewire} = %{version}
Requires: %{name}-modules = %{version}
2021-06-29 07:59:13 +02:00
Requires: %{name}-session-manager
Requires: %{name}-spa-plugins-%{spa_ver_str} = %{version}
Requires: %{name}-spa-tools = %{version}
Requires: %{name}-tools = %{version}
Recommends: wireplumber
%{?systemd_ordering}
%description
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.
%package -n %{libpipewire}
Summary: A Multimedia Framework designed to be an audio and video server and more
Group: System/Libraries
Recommends: pipewire >= %{version}
%description -n %{libpipewire}
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 shared library.
%package libjack-%{apiver_str}
Summary: PipeWire libjack replacement libraries
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.
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 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
%description -n gstreamer-plugin-pipewire
PipeWire is a server and user space API to deal with multimedia pipelines.
This package provides the gstreamer plugin.
%package tools
Summary: The PipeWire Tools
Group: Productivity/Multimedia/Other
%description tools
This package contains command line utilities for the PipeWire media server.
%package spa-tools
Summary: The PipeWire SPA Tools
Group: Productivity/Multimedia/Other
%description spa-tools
SPA or Simple Plugin API is a plugin API.
This package provides spa-inspect and spa-monitor tools.
%package modules
Summary: Modules For PipeWire, A Multimedia Framework
Group: Productivity/Multimedia/Other
Requires: pipewire = %{version}
%description modules
PipeWire is a server and user space API to deal with multimedia pipelines.
The framework is used to build a modular daemon that can be configured to:
* Be a low-latency audio server with features like pulseaudio and/or jack;
* A video capture server that can manage hardware video capture devices
and provide access to them;
* A central hub where video can be made available for other applications
such as the gnome-shell screencast API.
%package spa-plugins-%{spa_ver_str}
Summary: Plugins For PipeWire SPA
Group: Productivity/Multimedia/Other
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
2021-10-21 11:49:16 +02:00
Requires: pipewire = %{version}
%description spa-plugins-%{spa_ver_str}
PipeWire is a server and user space API to deal with multimedia pipelines.
Some of its features include:
* Unlimited input/output ports;
* Per port format enumeration and negotiation;
* Enumeration/configuration of per port parameters;
* Application controlled buffer allocation with option to let the plugin
Allocate memory;
* Arbitrary buffer metadata;
* Buffers are passed around by id which is very fast and avoids the need
for refcounting;
* Synchronous and asynchronous processing;
* All api is designed to work without any allocations;
* Arbirary input/output behaviour.
This package provides plugins for extending PipeWire SPA's functionality.
%package devel
Summary: Development Files For PipeWire, A Multimedia Framework
Group: Development/Libraries/C and C++
Requires: %{libpipewire} >= %{version}
%description devel
PipeWire is a server and user space API to deal with multimedia pipelines.
This package provides all the necessary files for development with PipeWire
%package doc
Summary: PipeWire media server documentation
Group: Development/Libraries/C and C++
%description doc
This package contains documentation for the PipeWire media server.
%package alsa
Summary: PipeWire media server ALSA support
Group: Development/Libraries/C and C++
Recommends: %{name} >= %{version}-%{release}
Requires: %{libpipewire} >= %{version}-%{release}
%description alsa
This package contains an ALSA plugin for the PipeWire media server.
%package pulseaudio
Summary: PipeWire PulseAudio implementation
Group: Development/Libraries/C and C++
Recommends: %{name} >= %{version}-%{release}
Requires: %{libpipewire} >= %{version}-%{release}
Conflicts: pulseaudio
# Virtual Provides to support swapping between PipeWire-PA and PA
Provides: pulseaudio-daemon
Conflicts: pulseaudio-daemon
#Provides: pulseaudio-module-bluetooth
#Provides: pulseaudio-module-jack
%description pulseaudio
This package provides a PulseAudio implementation based on PipeWire
%lang_package
%prep
%autosetup -p1
%build
%if %{pkg_vcmp gcc < 8}
export CC=gcc-9
%endif
%meson \
-Ddocs=enabled \
-Dman=enabled \
-Dgstreamer=enabled \
-Dffmpeg=enabled \
-Dsystemd=enabled \
-Dgstreamer-device-provider=disabled \
2021-06-29 07:59:13 +02:00
-Droc=disabled \
%if %{with_vulkan}
-Dvulkan=enabled \
%else
-Dvulkan=disabled \
%endif
-Dtest=enabled \
-Daudiotestsrc=enabled \
%if %{with aac}
-Dbluez5-codec-aac=enabled \
%else
-Dbluez5-codec-aac=disabled \
%endif
%if %{with aptx}
-Dbluez5-codec-aptx=enabled \
%else
-Dbluez5-codec-aptx=disabled \
%endif
%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 \
Accepting request 914410 from home:alarrosa:branches:multimedia:libs - Update to version 0.3.34: * Highlights - Fixes some critical issues with previous release. Such as devices not showing up and default devices being lost. - Support for consumer driver streams to make the producer v-sync to the consumer monitor in a headless compositor setup. - Improvements to routing of streams. - Bluetooth battery status support for head-set profile and using Apple extensions. aptX-LL and FastStream codec support was added. - Internal latency of ALSA devices can now be configured. - A fast convolver was added to the filter-chain to implement virtual surround sinks or reverbs. * PipeWire - Add support for streams that are driver nodes for the graph. This was already possible for source streams but it is now also possible for playback streams. This can be used to let a producer v-sync to the consumer monitor in a headless compositor setup. (#1484) - State files are now stored in XDG_STATE_HOME instead of XDG_CONFIG_HOME. They will still be loaded from the config home if they are not in the new state home, to ease migration. - Set a driver on inactive nodes to make transport work in xjadeo. (#1491) - Fix parsing of filter-chain controls. - A new FFT based convolver was added to module-filter-chain. It uses a 0-latency 2 stage convolver with small FFT for the head and a large FFT for the tail of the convolution. A OBS-URL: https://build.opensuse.org/request/show/914410 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=14
2021-08-26 16:39:54 +02:00
%if %{?pkg_vcmp:%{pkg_vcmp meson >= 0.59.0}}%{!?pkg_vcmp:0}
-Djack-devel=true \
%else
-Djack-devel=false \
%endif
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
2021-10-21 11:49:16 +02:00
-Dsession-managers="[]" \
%{nil}
%meson_build
%install
%meson_install
mkdir -p %{buildroot}%{_sysconfdir}/alsa/conf.d/
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
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}
ln -s -f %{_sysconfdir}/alternatives/$wrapper %{buildroot}%{_bindir}/$wrapper
done
for manpage in pw-jack ; do
mv %{buildroot}%{_mandir}/man1/$manpage.1 %{buildroot}%{_mandir}/man1/$manpage-%{apiver}.1
ln -s -f %{_sysconfdir}/alternatives/$manpage.1%{ext_man} %{buildroot}%{_mandir}/man1/$manpage.1%{ext_man}
done
%fdupes -s %{buildroot}/%{_datadir}/doc/pipewire/html
%find_lang %{name} %{name}.lang
%check
%meson_test
%pre
%systemd_user_pre pipewire.service pipewire.socket
%post
# Check if the systemd_user_pre macro generated the file
# for systemd_user_post to enable the user socket.
if [ -f /run/systemd/rpm/needs-user-preset/pipewire.socket ]; then
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
# 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/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 ; do
/usr/bin/systemctl --global preset "$service" || :
done
mkdir -p %{_localstatedir}/lib/pipewire
cat << EOF > %{_localstatedir}/lib/pipewire/pipewire_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
2021-06-29 07:59:13 +02:00
%systemd_user_preun pipewire.service pipewire.socket
%postun
2021-06-29 07:59:13 +02:00
%systemd_user_postun pipewire.service pipewire.socket
%pre pulseaudio
%systemd_user_pre pipewire-pulse.service pipewire-pulse.socket
%post pulseaudio
%systemd_user_post pipewire-pulse.service pipewire-pulse.socket
# If the pipewire-pulse.socket user service is not enabled and the workaround
# for boo#1186561 has never been executed, we need to execute it now
if [ ! -L %{_sysconfdir}/systemd/user/sockets.target.wants/pipewire-pulse.socket \
-a ! -f %{_localstatedir}/lib/pipewire/pipewire-pulseaudio_post_workaround \
-a -x /usr/bin/systemctl ]; then
for service in pipewire-pulse.service pipewire-pulse.socket ; do
/usr/bin/systemctl --global preset "$service" || :
done
mkdir -p %{_localstatedir}/lib/pipewire
cat << EOF > %{_localstatedir}/lib/pipewire/pipewire-pulseaudio_post_workaround
# The existence of this file means that the pipewire-pulseaudio user service was
# 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 pulseaudio
%systemd_user_preun pipewire-pulse.service pipewire-pulse.socket
%postun pulseaudio
%systemd_user_postun pipewire-pulse.service pipewire-pulse.socket
%post -n %{libpipewire} -p /sbin/ldconfig
%postun -n %{libpipewire} -p /sbin/ldconfig
%post libjack-%{apiver_str}
%{_sbindir}/update-alternatives --install %{_bindir}/pw-jack pw-jack %{_bindir}/pw-jack-%{apiver} 20 \
--slave %{_mandir}/man1/pw-jack.1%{ext_man} pw-jack.1%{ext_man} %{_mandir}/man1/pw-jack-%{apiver}.1%{ext_man}
%postun libjack-%{apiver_str}
if [ ! -e %{_bindir}/pw-jack-%{apiver} ] ; then
%{_sbindir}/update-alternatives --remove pw-jack %{_bindir}/pw-jack-%{apiver}
fi
%files
%{_bindir}/pipewire
%{_userunitdir}/pipewire.service
%{_userunitdir}/pipewire.socket
%{_mandir}/man1/pipewire.1%{ext_man}
%{_mandir}/man5/pipewire.conf.5%{ext_man}
Accepting request 894781 from GNOME:Factory - Update to 0.3.28 * Highlights - Freewheeling was implemented. This makes it possible to export projects in ardour. - A new powerful filter-chain module was added that can be used to created all kinds of filter-chains from ladspa and builtin plugins. - Many more pulseaudio modules are now implemented: module-ladspa-sink, module-ladspa-source, module-pipe-sink, module-tunnel-sink, module-tunnel-source, module-zeroconf-discover - Fix a bug where devices would not appear after logout/login. - Fix a bug where the volume was reset to 0 and devices would have no audio. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. * PipeWire - Implement freewheeling for JACK clients - Add filter-chain module that can be used to construct arbitrary graphs from ladspa and builtin plugins. - Add new property to easily set algorithm params - Add module-pulse-tunnel to tunnel audio to and from a PulseAudio compatible server. - Add a avahi zeroconf discover module, create pulse-tunnel when PulseAudio devices are announced. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. - Applications now have their monitor ports named with the "monitor" prefix to avoid confusion with the output ports. - LICENSE clarifications. (forwarded request 894376 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/894781 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=31
2021-05-23 23:30:36 +02:00
%dir %{_datadir}/pipewire
%{_datadir}/pipewire/pipewire.conf
%{_datadir}/pipewire/client.conf
%{_datadir}/pipewire/client-rt.conf
%{_datadir}/pipewire/pipewire-pulse.conf
2021-06-29 07:59:13 +02:00
%ghost %dir %{_localstatedir}/lib/pipewire
%ghost %{_localstatedir}/lib/pipewire/pipewire_post_workaround
%files -n %{libpipewire}
%license LICENSE COPYING
%doc README.md
%{_libdir}/libpipewire-%{apiver}.so.*
%{_udevrulesdir}/90-pipewire-alsa.rules
%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.*
%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
%files libjack-%{apiver_str}-devel
%{_libdir}/pipewire-%{apiver}/jack/libjack.so
%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so
%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so
Accepting request 914410 from home:alarrosa:branches:multimedia:libs - Update to version 0.3.34: * Highlights - Fixes some critical issues with previous release. Such as devices not showing up and default devices being lost. - Support for consumer driver streams to make the producer v-sync to the consumer monitor in a headless compositor setup. - Improvements to routing of streams. - Bluetooth battery status support for head-set profile and using Apple extensions. aptX-LL and FastStream codec support was added. - Internal latency of ALSA devices can now be configured. - A fast convolver was added to the filter-chain to implement virtual surround sinks or reverbs. * PipeWire - Add support for streams that are driver nodes for the graph. This was already possible for source streams but it is now also possible for playback streams. This can be used to let a producer v-sync to the consumer monitor in a headless compositor setup. (#1484) - State files are now stored in XDG_STATE_HOME instead of XDG_CONFIG_HOME. They will still be loaded from the config home if they are not in the new state home, to ease migration. - Set a driver on inactive nodes to make transport work in xjadeo. (#1491) - Fix parsing of filter-chain controls. - A new FFT based convolver was added to module-filter-chain. It uses a 0-latency 2 stage convolver with small FFT for the head and a large FFT for the tail of the convolution. A OBS-URL: https://build.opensuse.org/request/show/914410 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=14
2021-08-26 16:39:54 +02:00
%if %{?pkg_vcmp:%{pkg_vcmp meson >= 0.59.0}}%{!?pkg_vcmp:0}
%{_includedir}/jack
%{_libdir}/pkgconfig/jack.pc
Accepting request 914410 from home:alarrosa:branches:multimedia:libs - Update to version 0.3.34: * Highlights - Fixes some critical issues with previous release. Such as devices not showing up and default devices being lost. - Support for consumer driver streams to make the producer v-sync to the consumer monitor in a headless compositor setup. - Improvements to routing of streams. - Bluetooth battery status support for head-set profile and using Apple extensions. aptX-LL and FastStream codec support was added. - Internal latency of ALSA devices can now be configured. - A fast convolver was added to the filter-chain to implement virtual surround sinks or reverbs. * PipeWire - Add support for streams that are driver nodes for the graph. This was already possible for source streams but it is now also possible for playback streams. This can be used to let a producer v-sync to the consumer monitor in a headless compositor setup. (#1484) - State files are now stored in XDG_STATE_HOME instead of XDG_CONFIG_HOME. They will still be loaded from the config home if they are not in the new state home, to ease migration. - Set a driver on inactive nodes to make transport work in xjadeo. (#1491) - Fix parsing of filter-chain controls. - A new FFT based convolver was added to module-filter-chain. It uses a 0-latency 2 stage convolver with small FFT for the head and a large FFT for the tail of the convolution. A OBS-URL: https://build.opensuse.org/request/show/914410 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=14
2021-08-26 16:39:54 +02:00
%endif
%files -n gstreamer-plugin-pipewire
%{_libdir}/gstreamer-1.0/libgstpipewire.so
%files tools
%{_bindir}/pw-cat
%{_bindir}/pw-cli
%{_bindir}/pw-dot
Accepting request 921126 from home:alarrosa:branches:multimedia:libs - Update to version 0.3.37: * Highlights - Capture and playback is now avoided even more on unavailable devices. This should fix some issues where an unusable microphone was selected by default. It should now also again be possible to select an unavailable device as the default. - Native DSD audio playback is now supported. pw-cat can now also play DSF files with the -d option. - JACK stability improvements with buffer-size and samplerate changes in some apps. - Many cleanups and bugfixes all over the place. * PipeWire - pw-metadata -d does not cause an infinite loop anymore. (#1622) - Increase some plugin buffer sizes to fix some issues with many channels. (#1620) - Protect the global plugin list with a lock. Make sure pw_init() is locked. Fixes some issues with concurrent ALSA plugin usage. * media-session - Unavailable devices can be set as the default again. (#1624) - Do a better check if a device has available routes and avoid selecting devices with unavailable routes as default. - Media-session was moved to its own directory. It used to live in examples but it is past the example stage and it interferes with the build options for the real examples. * Bluetooth - The hardware quirk database is now loaded by the plugin instead of the session manager. This makes it also work with wireplumber. OBS-URL: https://build.opensuse.org/request/show/921126 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=19
2021-09-23 12:23:00 +02:00
%{_bindir}/pw-dsdplay
%{_bindir}/pw-dump
%{_bindir}/pw-loopback
%{_bindir}/pw-link
%{_bindir}/pw-metadata
%{_bindir}/pw-mididump
%{_bindir}/pw-midiplay
%{_bindir}/pw-midirecord
%{_bindir}/pw-mon
%{_bindir}/pw-play
%{_bindir}/pw-profiler
%{_bindir}/pw-record
Accepting request 841554 from GNOME:Factory - Update to version 0.3.13: * PipeWire improvements + Add pw-reserve tool to reserve or monitor a device on DBus. + Install spa-resample, a tool to resample a file. + Install spa-acp-tool, a tool to inspect the card profile. + Various fixes and improvements + Fix a bug in pw-stream where a capture stream could run out of buffers and become silent. + Rework the processing loops in the adapter and stream. There is now less latency in PulseAudio and ALSA layers. * Session manager improvements + Improve the device reservation code. We now try to acquire the device using the dbus device reservation API before we probe the device. This avoids conflicts with a running PulseAudio where devices would disappear (because they were locked by the other process). + Don't fail on invalid input from the config files. + Audio devices now have the same name as what PulseAudio would assign. * Device support + v4l2: try to use the format before enumerating the size and framerate. Some drivers don't check the format and might now work better. + v4l2: Fall back to MMAP when EXPBUF fails. Fix MMAP access, just export the fd and the mapoffset. This should make more devices work. + Fix crash in ALSA Card Profile (ACP) code. + ACP: fix selection of default profile. Prefer any possibly available profile over 'Off'. This makes some card at least start with something. (forwarded request 841457 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/841554 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=17
2020-10-15 13:47:55 +02:00
%{_bindir}/pw-reserve
%{_bindir}/pw-top
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
2021-10-21 11:49:16 +02:00
%{_bindir}/pw-v4l2
%{_mandir}/man1/pw-cat.1%{ext_man}
%{_mandir}/man1/pw-cli.1%{ext_man}
%{_mandir}/man1/pw-dot.1%{ext_man}
%{_mandir}/man1/pw-metadata.1%{ext_man}
%{_mandir}/man1/pw-mididump.1%{ext_man}
%{_mandir}/man1/pw-mon.1%{ext_man}
%{_mandir}/man1/pw-profiler.1%{ext_man}
%files spa-tools
%{_bindir}/spa-inspect
%{_bindir}/spa-monitor
Accepting request 841554 from GNOME:Factory - Update to version 0.3.13: * PipeWire improvements + Add pw-reserve tool to reserve or monitor a device on DBus. + Install spa-resample, a tool to resample a file. + Install spa-acp-tool, a tool to inspect the card profile. + Various fixes and improvements + Fix a bug in pw-stream where a capture stream could run out of buffers and become silent. + Rework the processing loops in the adapter and stream. There is now less latency in PulseAudio and ALSA layers. * Session manager improvements + Improve the device reservation code. We now try to acquire the device using the dbus device reservation API before we probe the device. This avoids conflicts with a running PulseAudio where devices would disappear (because they were locked by the other process). + Don't fail on invalid input from the config files. + Audio devices now have the same name as what PulseAudio would assign. * Device support + v4l2: try to use the format before enumerating the size and framerate. Some drivers don't check the format and might now work better. + v4l2: Fall back to MMAP when EXPBUF fails. Fix MMAP access, just export the fd and the mapoffset. This should make more devices work. + Fix crash in ALSA Card Profile (ACP) code. + ACP: fix selection of default profile. Prefer any possibly available profile over 'Off'. This makes some card at least start with something. (forwarded request 841457 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/841554 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=17
2020-10-15 13:47:55 +02:00
%{_bindir}/spa-acp-tool
%{_bindir}/spa-resample
%{_bindir}/spa-json-dump
%files modules
%dir %{_libdir}/pipewire-%{apiver}
%{_libdir}/pipewire-%{apiver}/libpipewire-module-access.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-adapter.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-client-device.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-client-node.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-echo-cancel.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-link-factory.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-loopback.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-metadata.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-portal.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-profiler.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-protocol-native.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-protocol-pulse.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-protocol-simple.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-rtkit.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-session-manager.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-spa-device-factory.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-spa-device.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-spa-node-factory.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-spa-node.so
Accepting request 894781 from GNOME:Factory - Update to 0.3.28 * Highlights - Freewheeling was implemented. This makes it possible to export projects in ardour. - A new powerful filter-chain module was added that can be used to created all kinds of filter-chains from ladspa and builtin plugins. - Many more pulseaudio modules are now implemented: module-ladspa-sink, module-ladspa-source, module-pipe-sink, module-tunnel-sink, module-tunnel-source, module-zeroconf-discover - Fix a bug where devices would not appear after logout/login. - Fix a bug where the volume was reset to 0 and devices would have no audio. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. * PipeWire - Implement freewheeling for JACK clients - Add filter-chain module that can be used to construct arbitrary graphs from ladspa and builtin plugins. - Add new property to easily set algorithm params - Add module-pulse-tunnel to tunnel audio to and from a PulseAudio compatible server. - Add a avahi zeroconf discover module, create pulse-tunnel when PulseAudio devices are announced. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. - Applications now have their monitor ports named with the "monitor" prefix to avoid confusion with the output ports. - LICENSE clarifications. (forwarded request 894376 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/894781 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=31
2021-05-23 23:30:36 +02:00
%{_libdir}/pipewire-%{apiver}/libpipewire-module-filter-chain.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-pulse-tunnel.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-zeroconf-discover.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-rt.so
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
2021-10-21 11:49:16 +02:00
%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/*
Accepting request 894781 from GNOME:Factory - Update to 0.3.28 * Highlights - Freewheeling was implemented. This makes it possible to export projects in ardour. - A new powerful filter-chain module was added that can be used to created all kinds of filter-chains from ladspa and builtin plugins. - Many more pulseaudio modules are now implemented: module-ladspa-sink, module-ladspa-source, module-pipe-sink, module-tunnel-sink, module-tunnel-source, module-zeroconf-discover - Fix a bug where devices would not appear after logout/login. - Fix a bug where the volume was reset to 0 and devices would have no audio. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. * PipeWire - Implement freewheeling for JACK clients - Add filter-chain module that can be used to construct arbitrary graphs from ladspa and builtin plugins. - Add new property to easily set algorithm params - Add module-pulse-tunnel to tunnel audio to and from a PulseAudio compatible server. - Add a avahi zeroconf discover module, create pulse-tunnel when PulseAudio devices are announced. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. - Applications now have their monitor ports named with the "monitor" prefix to avoid confusion with the output ports. - LICENSE clarifications. (forwarded request 894376 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/894781 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=31
2021-05-23 23:30:36 +02:00
%dir %{_datadir}/pipewire/filter-chain
%{_datadir}/pipewire/filter-chain/demonic.conf
%{_datadir}/pipewire/filter-chain/sink-dolby-surround.conf
%{_datadir}/pipewire/filter-chain/sink-eq6.conf
%{_datadir}/pipewire/filter-chain/sink-matrix-spatialiser.conf
Accepting request 917721 from home:fcrozat:branches:multimedia:libs - Update to version 0.3.35: * Highlights: - S/PDIF passthrough over optical or HDMI is now implemented. - Some critical fixes to MIDI, draining of streams and various modules. - skypeforlinux should work better now after adding it to the quirks database. - Bluetooth codecs are now in separate plugins to make it easier to ship them. * PipeWire: - Drain was fixed in pw-stream. In some cases it would not clear the drain state correctly. Fixes the issue where speaker-test would only play one channel. - Loopback connections to a driver will now activate the driver. This fixes an issue where MIDI connections between devices or some applications (puredata) would not get any MIDI messages. (#1559)x. - The audiomixer can now mix more formats. Together with the passthrough improvements this can be used to avoid conversions to/from the DSP format in some cases. - Make sure we idle drivers when removing a node from it in all cases. JACK clients could keep a driver node busy. - Add new methods to accumulate object info. The old one was difficult to use when applications need to accumulate multiple changes. - A new interface to load modules has been added. Plugins can use this to ask the host (PipeWire) to load spa plugins. - Increase param buffer size to handle larger params. Nodes with a large number of channels would sometimes not have properties. (#1574) OBS-URL: https://build.opensuse.org/request/show/917721 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=16
2021-09-09 16:41:05 +02:00
%{_datadir}/pipewire/filter-chain/sink-virtual-surround-5.1-kemar.conf
%{_datadir}/pipewire/filter-chain/sink-virtual-surround-7.1-hesuvi.conf
Accepting request 894781 from GNOME:Factory - Update to 0.3.28 * Highlights - Freewheeling was implemented. This makes it possible to export projects in ardour. - A new powerful filter-chain module was added that can be used to created all kinds of filter-chains from ladspa and builtin plugins. - Many more pulseaudio modules are now implemented: module-ladspa-sink, module-ladspa-source, module-pipe-sink, module-tunnel-sink, module-tunnel-source, module-zeroconf-discover - Fix a bug where devices would not appear after logout/login. - Fix a bug where the volume was reset to 0 and devices would have no audio. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. * PipeWire - Implement freewheeling for JACK clients - Add filter-chain module that can be used to construct arbitrary graphs from ladspa and builtin plugins. - Add new property to easily set algorithm params - Add module-pulse-tunnel to tunnel audio to and from a PulseAudio compatible server. - Add a avahi zeroconf discover module, create pulse-tunnel when PulseAudio devices are announced. - Config files are now installed in the data dir, system overrides in /etc/pipewire and $HOME are checked first. - Applications now have their monitor ports named with the "monitor" prefix to avoid confusion with the output ports. - LICENSE clarifications. (forwarded request 894376 from alarrosa) OBS-URL: https://build.opensuse.org/request/show/894781 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=31
2021-05-23 23:30:36 +02:00
%{_datadir}/pipewire/filter-chain/source-rnnoise.conf
%files spa-plugins-%{spa_ver_str}
%{_libdir}/spa-%{spa_ver}/alsa/libspa-alsa.so
%{_libdir}/spa-%{spa_ver}/audioconvert/libspa-audioconvert.so
%{_libdir}/spa-%{spa_ver}/audiomixer/libspa-audiomixer.so
%{_libdir}/spa-%{spa_ver}/bluez5/libspa-bluez5.so
Accepting request 917721 from home:fcrozat:branches:multimedia:libs - Update to version 0.3.35: * Highlights: - S/PDIF passthrough over optical or HDMI is now implemented. - Some critical fixes to MIDI, draining of streams and various modules. - skypeforlinux should work better now after adding it to the quirks database. - Bluetooth codecs are now in separate plugins to make it easier to ship them. * PipeWire: - Drain was fixed in pw-stream. In some cases it would not clear the drain state correctly. Fixes the issue where speaker-test would only play one channel. - Loopback connections to a driver will now activate the driver. This fixes an issue where MIDI connections between devices or some applications (puredata) would not get any MIDI messages. (#1559)x. - The audiomixer can now mix more formats. Together with the passthrough improvements this can be used to avoid conversions to/from the DSP format in some cases. - Make sure we idle drivers when removing a node from it in all cases. JACK clients could keep a driver node busy. - Add new methods to accumulate object info. The old one was difficult to use when applications need to accumulate multiple changes. - A new interface to load modules has been added. Plugins can use this to ask the host (PipeWire) to load spa plugins. - Increase param buffer size to handle larger params. Nodes with a large number of channels would sometimes not have properties. (#1574) OBS-URL: https://build.opensuse.org/request/show/917721 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=16
2021-09-09 16:41:05 +02:00
%if %{with aac}
%{_libdir}/spa-%{spa_ver}/bluez5/libspa-codec-bluez5-aac.so
%endif
%if %{with aptx}
%{_libdir}/spa-%{spa_ver}/bluez5/libspa-codec-bluez5-aptx.so
%endif
%{_libdir}/spa-%{spa_ver}/bluez5/libspa-codec-bluez5-faststream.so
%if %{with_ldacBT}
%{_libdir}/spa-%{spa_ver}/bluez5/libspa-codec-bluez5-ldac.so
%endif
%{_libdir}/spa-%{spa_ver}/bluez5/libspa-codec-bluez5-sbc.so
%{_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
%{_libdir}/spa-%{spa_ver}/v4l2/libspa-v4l2.so
%{_libdir}/spa-%{spa_ver}/videoconvert/libspa-videoconvert.so
%if %{with_vulkan}
%{_libdir}/spa-%{spa_ver}/vulkan/libspa-vulkan.so
%endif
%{_libdir}/spa-%{spa_ver}/audiotestsrc/libspa-audiotestsrc.so
%{_libdir}/spa-%{spa_ver}/test/libspa-test.so
%{_libdir}/spa-%{spa_ver}/videotestsrc/libspa-videotestsrc.so
%{_libdir}/spa-%{spa_ver}/volume/libspa-volume.so
%dir %{_libdir}/spa-%{spa_ver}
%dir %{_libdir}/spa-%{spa_ver}/alsa
%dir %{_libdir}/spa-%{spa_ver}/audioconvert
%dir %{_libdir}/spa-%{spa_ver}/audiomixer
%dir %{_libdir}/spa-%{spa_ver}/bluez5
%dir %{_libdir}/spa-%{spa_ver}/control
%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
%if %{with_vulkan}
%dir %{_libdir}/spa-%{spa_ver}/vulkan
%endif
%dir %{_libdir}/spa-%{spa_ver}/audiotestsrc
%dir %{_libdir}/spa-%{spa_ver}/videotestsrc
%dir %{_libdir}/spa-%{spa_ver}/test
Accepting request 921126 from home:alarrosa:branches:multimedia:libs - Update to version 0.3.37: * Highlights - Capture and playback is now avoided even more on unavailable devices. This should fix some issues where an unusable microphone was selected by default. It should now also again be possible to select an unavailable device as the default. - Native DSD audio playback is now supported. pw-cat can now also play DSF files with the -d option. - JACK stability improvements with buffer-size and samplerate changes in some apps. - Many cleanups and bugfixes all over the place. * PipeWire - pw-metadata -d does not cause an infinite loop anymore. (#1622) - Increase some plugin buffer sizes to fix some issues with many channels. (#1620) - Protect the global plugin list with a lock. Make sure pw_init() is locked. Fixes some issues with concurrent ALSA plugin usage. * media-session - Unavailable devices can be set as the default again. (#1624) - Do a better check if a device has available routes and avoid selecting devices with unavailable routes as default. - Media-session was moved to its own directory. It used to live in examples but it is past the example stage and it interferes with the build options for the real examples. * Bluetooth - The hardware quirk database is now loaded by the plugin instead of the session manager. This makes it also work with wireplumber. OBS-URL: https://build.opensuse.org/request/show/921126 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=19
2021-09-23 12:23:00 +02:00
%dir %{_datadir}/spa-%{spa_ver}
%dir %{_datadir}/spa-%{spa_ver}/bluez5
%{_datadir}/spa-%{spa_ver}/bluez5/bluez-hardware.conf
%files devel
%{_libdir}/libpipewire-%{apiver}.so
%{_libdir}/pkgconfig/libpipewire-%{apiver}.pc
%{_libdir}/pkgconfig/libspa-%{spa_ver}.pc
%{_includedir}/pipewire-%{apiver}/
%{_includedir}/spa-%{spa_ver}/
%files doc
%dir %{_datadir}/doc/pipewire
%{_datadir}/doc/pipewire/html
%files pulseaudio
%{_bindir}/pipewire-pulse
Accepting request 931141 from home:iznogood:branches:multimedia:libs - Update to version 0.3.40: * Highlights: - Producers and consumers can now incrementally negotiate a format by narrowing down the options. This can be used to select an optimal combination of format and modifiers. - Driver nodes such as the consumer of a headless compositor can now throttle the speed based on a new trigger_done event. - Headless compositors can now signal a damage event to consumers to start the processing of the graph. - Compatibility improvements in JACK. - Draining and resuming is now working correctly in pulse and alsa. - Many bugfixes and improvements. * PipeWire: - Many BSD fixes. - clang compilation fixes. - Fix map implementation on big-endian machines. - Improve tracking of param changes in pw-stream. - Add support for renegotiation. With this change, producer and consumer can incrementally renegotiate a format until it is fixed. This will be used to do complex negotiation of DRM modifiers. - Add a trigger-done event in the stream. This can be used to know when processing of the complete graph has finished after issuing a trigger_process() and it can be used to throttle processing. - Add a RequestProcess node event and command. This can be used by non-driver nodes to suggest to a driver to start processing. One case is where a compositor can emit this event as a result of a screen update to let the headless compositor start an update. - Fix zeroconf sample format. - pw-mon outputs to stderr now and has colors. * SPA: - Fix compilation on ppc and armv7. - Fix port type check for ALSA seq midi ports so that they are not falsely listed as hardware. - Fix crash when running SSE code on unsupported HW. - The libcamera plugin was rewritten. It now supports hotplug, format enumeration and an easier to read codebase. - Fix compatibility some more for cards with 64 channels. * pulse-server: - Flush data in pause in combine-sink to avoid stray audio fragments. - Fix a race where not all objects were removed correctly. - The latency calculations and setup was improved to more closely match pulseaudio behaviour. PULSE_LATENCY_MSEC should now resemble pulseaudio more closely. - The drained reply is now sent only once and new data will be accepted once the drain completes. - Fix a potential crasher bug where the stream started processing before the setup was completed. - The server will now drop the client connections when the pipewire connection is lost. * JACK: - Rework the jack_port_get_buffer() method to return the same memory when called multiple times during the process() callback. This makes things work on a new Hydrogen. - Add an option to disable showing the monitor ports. - JACK ports are now sorted per node/client and port_id. This should more closely match JACK behaviour and avoid random port order. * v4l2: - Fix v4l2 LD_PRELOAD script. - Make sure we destroy the proxy when the global is destroyed. * ALSA: - _prepare should exit the draining state. - Fix the precision of the _delay function by taking into account the amount of queued samples are the correct samplerate. - Drop patches fixed upstream: * 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 OBS-URL: https://build.opensuse.org/request/show/931141 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=27
2021-11-16 14:48:45 +01:00
%{_mandir}/man1/pipewire-pulse.1%{ext_man}
%{_userunitdir}/pipewire-pulse.*
%ghost %{_localstatedir}/lib/pipewire/pipewire-pulseaudio_post_workaround
%files alsa
%dir %{_libdir}/alsa-lib
%{_libdir}/alsa-lib/libasound_module_pcm_pipewire.so
%{_libdir}/alsa-lib/libasound_module_ctl_pipewire.so
%dir %{_datadir}/alsa/alsa.conf.d
%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf
%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf
%dir %{_sysconfdir}/alsa
%dir %{_sysconfdir}/alsa/conf.d
%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf
%config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
%files lang -f %{name}.lang
%changelog