Package Release Info

pipewire-0.3.6-3.6.1

Update Info: Base Release
Available in Package Hub : 15 SP5 Subpackages

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

pipewire-libpulse-0_3
pipewire-libpulse-0_3-debuginfo

Change Logs

* Tue Sep 22 2020 alarrosa@suse.com
- Add patch from upstream to fix a division by 0 error
  (boo#1176515):
  * 0021-alsa-protect-against-SIGPFE.patch
* Wed Jul 15 2020 alarrosa@suse.com
- Require pipewire from libpipewire (instead of Recommending it)
  in SLE/Leap, so a zypper update of the system pulls in the
  pipewire daemon. Add a note to change it back to a
  recommendation when the api version changes which would make
  recommendations get reevaluated by zypper (jsc#ECO-2308)
* Wed Jul 15 2020 alarrosa@suse.com
- Recommend pipewire from libpipewire, so if the library is
  installed the daemon gets pulled in since we want a daemon
  to connect to.
- Require pipewire-spa-plugins from pipewire instead of
  recommending it since the support plugin is actually required
  for most uses (like screen sharing in wayland, which we want to
  support out-of-the-box).
- Enable the pipewire.socket systemd user service in %post
  (using pulseaudio's %post section as an example of how to do it
  since systemd-presets-common-SUSE currently lacks support for
  user services). Also disable it in %preun and %postun.
* Tue Jul 14 2020 alarrosa@suse.com
- Add patches from upstream to fix many issues mainly related to
  memory leaks, crashes and wrong behaviour:
  * 0001-client-node-fix-buffer-size-calculation.patch
  * 0002-gst-fix-proxy-leaks.patch
  * 0003-pulse-fix-pa_card_info-profiles2-array-to-be-NULL-terminated.patch
  * 0004-pulse-fix-size-calculation.patch
  * 0005-jack-fix-crash-on-close-when-metadata-are-not-available.patch
  * 0006-a2dpsink-only-request-new-data-when-buffer-is-done.patch
  * 0007-pulse-fix-counter-while-populating-car_info-profiles.patch
  * 0008-impl-link-reset-state-before-starting-allocation.patch
  * 0009-impl-core-clear-the-mempool.patch
  * 0010-mem-reset-the-map-in-clear.patch
  * 0011-avoid-uninitialized-variables.patch
  * 0012-dlclose-on-errors.patch
  * 0013-stream-handle-NULL-context.patch
  * 0014-state-always-update-state-variables.patch
  * 0015-spa-device-fix-leak-of-properties-in-error-case.patch
  * 0016-alsa-dont-leak-structure-on-error.patch
  * 0017-alsa-dont-leak-properties-on-error.patch
  * 0018-stream-fix-some-more-leaks-in-error-paths.patch
  * 0019-buffers-increase-max-datas-and-metadata-in-buffers.patch
  * 0020-gst-return-NULL-for-unknown-format.patch
* Fri Jul 03 2020 alarrosa@suse.com
- Rebase patches used in SLE/Leap:
  * do-not-use-snd_pcm_ioplug_hw_avail.patch
  * fix-memfd_create-call.patch
* Tue Jun 16 2020 alarrosa@suse.com
- Update to version 0.3.6 (boo#1171433, jsc#ECO-2308):
  * Extensive memory leak fixing and stress testing was done.
    A big leak in screen sharing with DMA-BUF was fixed.
  * Compile fixes
  * Stability improvements in jack and pulseaudio layers.
  * Added the old portal module to make the Camera portal
    work again. This will be moved to the session manager in
    future versions.
  * Improvements to the GStreamer source and sink shutdown.
  * Fix compatibility with v2 clients again when negotiating
    buffers.
- Disable vulkan if the vulkan package is too old (as in
  SLE 15 SP0 and SP1)
- Add patch to build with meson >= 0.46.0 since 0.50.0 is not
  really needed:
  * fix-meson-required-version.patch
* Thu May 21 2020 alarrosa@suse.com
- Filter out libpulse.so.0 and libjack.so.0 automatic provides so
  this is not considered an alternative when resolving dependencies
  in the distribution.
* Thu May 21 2020 alarrosa@suse.com
- Add patch to fix build in SLE/Leap where alsa doesn't have a
  snd_pcm_ioplug_hw_avail function:
  * do-not-use-snd_pcm_ioplug_hw_avail.patch
* Tue May 19 2020 alarrosa@suse.com
- Update to version 0.3.5:
  * Compiler fixes
  * Add pw-midiplay and pw-midirecord aliases
  * Add pw-mididump tool
  * Add pw-metadata tool to inspect, add and remove metadata
    for objects.
  * Docs updates, man pages
  * install alsa config files
  * Fix linked sink/source in pulseaudio
  * ratelimit graph processing warnings
  * improve buffer handling in GStreamer elements
  * Fix power usage by removing the queue for the alsa
    sequencer system announce messages.
  * Fix metadata clear() method dispatch.
  * Improve parameter enumeration, make it possible to detect
    missing parameters vs no-compatible parameters so that we
    can use defaults in the first case and error in the second
    case.
  * Fix cleanup of proxy objects. Stability improvements on
    plug/unplug in session manager.
  * Make it possible to set log level from config file
  * improve debug of param negotiation errors. Log the
    parameters to stderr/journal.
  * Make it possible to configure global logger
    implementation.
  * Fix NEON detection
  * JACK and PulseAudio compatibility improvements
- Update to version 0.3.4:
  * A quick update with some important stability fixes.
- Update to version 0.3.3:
  * NEON optimizations for audio conversion (32 and 64 bits)
  * rework of session manager implementation
  * Add option to disable modules in the session manager
  * Release midi hardware devices when suspended
  * various build fixes
  * Clean up options of various utils
  * Stability improvements
  * Mayor improvements in pulseaudio emulation. Improved
    timings and compatibility.
  * Implementation of drain and flush in pulse and alsa
    emulation.
  * Implement poll on file descriptors.
  * Improvement of metadata for jack emulation.
  * Fix memory and thread problems in jack emulation.
  * Simplification of state changes. Should make more use
    cases work in the jack emulation.
  * Improvements in the gstreamer elements. Removal of
    extra internal queue. pipewiresink can now be used to
    play audio.
  * Add pw-jack and pw-pulse scripts to run pulseaudio and
    jack applications with the right library path.
- Replace libpulse* replacement packages with a single
  pipewire-libpulse-0_3 package that includes all libraries
  installed in the non-standard directory
  %{_libdir}/pipewire-0.3/pulse and a new pw-pulse wrapper script.
  Likewise for the jack replacement libraries in a new
  pipewire-libjack-0_3 package.
- Use update-alternatives for the wrapper scripts.
* Wed Apr 01 2020 alarrosa@suse.com
- Use the License rpm tag to specify that although most of
  pipewire is licensed under MIT,  the pulseaudio replacement
  library is licensed under LGPL-2.1+.
Version: 0.3.49-150400.1.5
* Tue Mar 29 2022 alarrosa@suse.com
- Reorder BuildRequires and space conditions a bit better in the
  spec file.
* Tue Mar 29 2022 alarrosa@suse.com
- Update to version 0.3.49:
  * Highlights
  - Sample rate switching should work again.
  - pw-dot can now use the output of pw-dump to render a graph.
  - Bluetooth A2DP streaming was improved that would reduce
    stuttering on some devices.
  - A JACK bug was fixed that would sometimes make it impossible
    to add more tracks in Ardour. (#1714)
  - Many bugfixes and improvements.
  * PipeWire
  - Fix a potential crash when NULL params were configured.
  - Add some simple functional tests to avoid some recent
    regressions. Improve the test framework for this as well.
  - Improvements to the poll loop to avoid some use-after-free
    scenarios.
  - Fix samplerate switching again.
  - setlocale is not called anymore from the pipewire library.
    This should be called by the application. (#2223)
  - pw_init() and pw_deinit() can now be nested and called
    multiple times.
  - pw_stream will now report the resampler delay in the
    pw_time.queued field.
  * modules
  - module-filter-chain now supports arbitrary many properties
    and will use property hints to assign them the right type.
  - The ROC modules now accept a sink/source_properties
    parameter.
  - The module-rt can now also be built without RT-Kit support.
  - module-echo-cancel can now use a fraction to specify the
    delay for more precise control.
  * SPA
  - The channelmixer will now do upmixing by default and will not
    use normalization. It will also use a simple upmixing
    algorithm that duplicates channels by default. A more
    interesting upmix method is also available (PSD) but needs to
    be enabled manually. (#861)
  - Add SSE optimized (de)interleave functions for 32 bits
    samples with and without byteswap.
  - JSON parsing of empty strings will now give an invalid number
    instead of 0.
  - JSON numbers are now parsed and serialized in a locale
    independent way so that , and . are not mixed up.
  - The resampler will now report the resample delay and queued
    samples as the extra delay.
  * tools
  - pw-cat will read more dsf files correctly and will not crash
    at the end.
  - pw-top now has a man page.
  - pw-dot can now use the output of pw-dump to render a graph.
  * bluetooth
  - Improve interactions with oFono.
  - Fix recovery with slow connections.
  - Improve frame size of AptX-ll.
  - A2DP can now use any quantum and will flush packets in
    smaller chunks when needed to adapt. This improves stuttering
    in some cases.
  * pulse-server
  - The server configuration can now be placed in
    pulse.properties section, which also makes it possible to
    have custom overrides.
  - Implement FIX_ flags for capture as well.
  - Small fixes and improvements in module loading.
  * JACK
  - Clear the last error before executing a new action or else we
    could end up with error from a previous action. This causes
    some problems in Ardour where adding a track would fail after
    some time. (#1714)
- Rebase reduce-meson-dependency.patch.
* Thu Mar 03 2022 sor.alexei@meowr.ru
- Update to version 0.3.48:
  * Highlights
  - Fix IEC958 passthrough again.
  - Fix pulse-server crashes when playing a sample.
  - Support for more a more advanced upmixing algorithm.
  - filter-chain now supports arbitrary many ports.
  - Fix multichannel support in WINE (with new WirePlumber).
  - Many bugfixes and improvements.
  * PipeWire
  - The work queue is now created in the context so we can fail
    early and avoid further error checking in various places.
  - Fix a potential use after free with threaded loops.
  - The protocol now has a message footer. This is used to pass
    around global state such as the last registered object
    serial number. This can be used to detect when a client tries
    to bind to old (but reused) object ids. This avoids some
    races in the session manager but also when binding objects.
  - The zero-denormals CPU flag is now not touched anymore unless
    explicitly selected by the user. Denormals are avoided in
    filter-chain now in software. If the zero-denormals are now
    only configured in the data thread. This should fix issues
    with luajit.
  - Configuration parsing will not actually fail on errors.
  - pw-top now correctly clips unicode characters.
  - Many places now use a dynamic POD builder to support
    arbitrary large property sets.
  - pw-stream now support PropInfo parameters so that they can
    announce custom properties.
  - Serial number are now also set on metadata and
    session-manager objects.
  * SPA
  - audioadapter is now smarter when trying to fixate the format.
    It will use the PortConfig format to fill in any wildcards.
    This results in the least amount of conversions when the
    stream can handle it. It also is part of a fix (also requires
    a session manager fix) for WINE multichannel support.
  - Fix 5.1 to 2 channels mixing. It was using the volume of the
    stereo pair on all channels.
  - Fix some weird volume issues when a source is capturing and
    channelmixing.
  - Add stereo to 7.1 upmixing.
  - The channelmix parameters can be changed at runtime now.
  - Many improvements to the upmixing algorithms. Rear channels
    are now constructed from the ambient sound and can have delay
    and phase shift applied to them to improve spacialisation.
    The stereo channels can be filtered so that the dialogue is
    more concentrated in the centre channel.
  * modules
  - Module X11 bell received cleanups and improvements.
  - The module now has a private method to schedule unload later.
    This simplifies cleanup in many modules.
  - module-filter-chain now handles arbitrary many ports and
    control ports.
  - Fix a bug in RAOP where it was reading from the wrong port.
  * pulse-server
  - Nodes with the DONT_MOVE property should fail with -EINVAL
    when they are moved.
  - Fix a segfault when playing a sample.
  - The _FIX flags in pulse-server also now ignore the configured
    sample format, just like pulseaudio does.
  - Fix IEC958 passthrough again. It got accidentally broken
    since 0.3.45 with a fix for another issue.
  - Fix module-null-sink device.description.
  * Bluetooth
  - Don't try to connect HSP/HFP when no backend is available.
- Drop patches already included upstream:
  * 0001-revert-loop-remove-destroy-list.patch
  * 0002-pulse-server-free-pending-sample-reply.patch
- Rebase reduce-meson-dependency.patch.
- Enable pulseaudio-setup use on openSUSE Leap 15.4.
- Some spec clean-up.
* Mon Feb 21 2022 sor.alexei@meowr.ru
- Add 0001-revert-loop-remove-destroy-list.patch: fix MPD crash.
- Add 0002-pulse-server-free-pending-sample-reply.patch: fix
  "fast volume change".
* Fri Feb 18 2022 sor.alexei@meowr.ru
- Update to version 0.3.47:
  * Fix a bug in pulse-server that caused cached notifications to
    play multiple times.
  * Remove a check and warnings to catch leaked listeners on the
    proxy. This might access invalid memory and cause infinite
    loops in older wireplumber.
- Rebase reduce-meson-dependency.patch.
* Thu Feb 17 2022 alarrosa@suse.com
- Update to version 0.3.46:
  * Highlights:
  - Fix a critical bug in pipewire-pulse buffer size handling
    that made some apps (MuseScore, ... ) stutter.
  - Fix a critical bug where devices would not show when the
    kernel was compiled without VERBOSE_PROCSFS.
  - JACK clients will now use lock-quantum by default. This
    makes sure that all dynamic quantum changes are disabled
    while a JACK app is running. The only way to force a
    quantum chance is through a JACK app or with the metadata.
  - Almost all limits on number of ports, clients and nodes are
    removed.
  - A Dummy fallback sink is now automatically created when
    there are no other sinks. This avoids stalling browsers.
  - Sound sharing with Zoom should work better. A new WirePlumber
    release might be required.
  - Many more fixes and improvements.
  * PipeWire
  - Update docs with new config overrides.
  - The rule matching logic was moved to config and code is now
    shared with pulse-server and JACK.
  - Add new Romanian translation.
  - When a quantum is forced with metadata, any node that asked
    to lock-quantum is ignored so that the quantum change can
    happen.
  - Fix a bug where a mixer was removed twice, leading to
    potential memory corruption.
  - The port limits on nodes and filters are now removed.
    Some code was simplified.
  - Fix a potential leak because listeners where removed while
    they could be emitted.
  - Improve context.exec and avoid zombie processes.
  * Modules
  - The RAOP module now has a default latency of 2 seconds,
    like PulseAudio.
  - The echo-cancel module now uses the plugin loader to load
    the backends. This makes it possible to add custom, out of
    tree, echo cancel plugins.
  * Tools
  - Improve help of pw-link.
  - Output to stdout and error to stderr. Use setlinebuf for
    stdout to improve piping between apps. (#2110)
  * SPA
  - Improve removing sources when dispatching. Also improve
    performance now that a destroy loop can be removed. (#2114)
  - Fix an fd leak in the logger when logging to a file.
  - Improve loop enter/leave checks and support recursive loops.
  * pulse-server
  - Clamp various buffer attributes to the max length. Fixes some
    issues with various applications. (#2100)
  - Module properties are now remapped correctly from their
    pulseaudio variant to the PipeWire ones.
  - Fix module index in introspect. Use the right index when
    loaded from our internal modules. (#2101)
  - Improve argument parsing and node.description. (#2086)
  - The sink-index should now be filled in correctly when playing
    a sample. (#2129)
  - module-always-sink is now implemented and loaded by default.
    (#1838)
  - Add support for loading some modules only once.
  - Module load and unload now does extra sync to make it appear
    synchronous, like in PulseAudio. This improves sounds sharing
    in Zoom.
  * ALSA
  - Fix critical bug where alsa devices would not show when the
    kernel was compiled without VERBOSE_PROCFS.
  - Some corner cases were fixed in the ALSA timing code. When
    the capture node is follower, it will now not try to read too
    much data and xrun but it will instead produce a cycle of
    silence.
  - Various fixes and improvements to make ALSA devices resync to
    the driver more quickly and accurately.
  * JACK
  - Add an option to name the default device as system to improve
    compatibility with some applications,
  - Use lock-quantum by default. This makes sure that all dynamic
    quantum changes are disabled while a JACK app is running. The
    only way to force a quantum chance is through a JACK app or
    with the metadata.
  - It is now possible to do IPC calls from the data thread. Note
    that this is a very bad idea but required for compatibility
    with JACK2.
  * GStreamer
  - GStreamer sink will now set a default channelmap to make it
    possible to remap to the channel layout of the device.
- Update patch for further uses of "new" meson features used by
  upstream:
  * reduce-meson-dependency.patch
* Tue Feb 15 2022 alois1@gmx-topmail.de
- Run ldconfig for pipewire-libjack-0_3
  * The JACK libraries are made available system-wide using
    /etc/ld.so.conf.d. Hence, ldconfig should be run to make sure
    the dynamic linker picks them up.
* Thu Feb 03 2022 alarrosa@suse.com
- Update to version 0.3.45:
  * Highlights
  - Zoom, telegram and other apps should be able to play sound
    again.
  - Implement a better way to force and lock JACK buffersize.
  - Default sink and source names and properties are improved.
  - The config loader can now load and merge fragments in conf.d
    directories for easier user configuration of config files.
  - Many small bug fixes and improvements.
  * PipeWire
  - pw-cli can now also send Commands to nodes. This can be used
    to Suspend a device, for example.
  - The eventfd was removed from loops and invoke is now used to
    stop the loop, this saves an fd.
  - New Alpine CI target to test musl builds, various build
    fixes.
  - Add force-quantum and force-rate properties.
  - The config loader can now load and merge fragments in conf.d
    directories. (#207)
  - resource error methods can be called without a resource and
    then just log an error message.
  - link-factory can now also work from the config. (#2095)
  * modules
  - module-simple-protocol has better argument parsing and can
    handle channelmap now. (#2068) It's also possible to
    configure latency and rate.
  - The native protocol now does extra checks for invalid data.
    (#2070)
  * ALSA
  - TI2902 chips as found in various Behringer cards should have
    inputs again.
  - Better handling of busy devices in udev, retry when the
    inotify close event is emited.
  * SPA
  - plugins now handle alignment properly and only expect the max
    alignment required for the CPU. (#2074)
  * Bluetooth
  - SBC-XQ is now enabled for the JBL Endurance RUN BT headset.
  - Support for non-hexadecimal XAPL version strings to improve
    compatibility.
  - Use HCI commands again to probe the adapter msbc capability.
    This improves compatibility with some adapters. (#2030)
  - Set the right startup volume.
  - Better A2DP source idle handling.
  - Fix a timer bug in SCO sink that could cause busy looping.
  * pulse-server
  - A playback issue when the tlength > maxlength was fixed.
    (#2069) This affected Zoom and other applications.
  - The STREAM_BUFFER_ATTR command is now implemented.
  - Module names are improved. (#2076)
  - Many small fixes and improvements.
  - Fix a pavucontrol crash with invalid channels. (#1442)
  * JACK
  - Use the new force-quantum and force-rate properties in the
    JACK API to switch quantum and ensure it can't change for
    the lifetime of the JACK app. (#2079)
- Rebase patch:
  * reduce-meson-dependency.patch
* Tue Feb 01 2022 dfaggioli@suse.com
- pipewire should be a true dependency, not just recommended (e.g.,
  so that any setup that use no-recommends, like MicroOS, also work)
* Thu Jan 27 2022 alarrosa@suse.com
- Add patch to reduce the meson requirement so we can build
  pipewire with Leap 15.3. This will be dropped as soon as
  Leap 15.4 is released or if it becomes too hard to maintain
  (whatever happens before):
  * reduce-meson-dependency.patch
Version: 0.3.49-150400.3.3.1
* Thu Jan 27 2022 alarrosa@suse.com
- Add patch to reduce the meson requirement so we can build
  pipewire with Leap 15.3. This will be dropped as soon as
  Leap 15.4 is released or if it becomes too hard to maintain
  (whatever happens before):
  * reduce-meson-dependency.patch
* Thu Jan 27 2022 sor.alexei@meowr.ru
- Update to version 0.3.44:
  * Highlights:
  - It is now possible to run a minimal PipeWire server without a
    session manager, enough to run JACK clients.
  - The maximum buffer size is now configurable and can be larger
    than the previously hardcoded limit of 8192 samples.
    When using high sample rates, the larger buffer size can
    avoid xruns.
  - The default maximum latency was reduced from 170ms to 42ms.
    This should improve overall latency for application that ask
    for a large latency, such as notifications.
  - Better JACK compatibility. Patchbays should now get less
    confused about ports appearing and disappearing.
  - Fix some bluetooth crashes.
  - Fix some races in ALSA device detection.
  - Many bug fixes and improvements all over the place.
  * PipeWire:
  - Bump the meson requirement to 0.59.0.
  - pw-top now reports correct times for filter-chain and
    loopback.
  - max-quantum is now also scaled with the rate. A new
    quantum-limit property was added as a hard limit for the
    quantum. This makes it possible to configure for larger than
    8192 buffer sizes. Note than many JACK applications have a
    hardcoded 8192 limit.
  - The max-quantum was reduced to 2048, This gives a 42ms
    default latency.
  - pw-filter can now return a NULL buffer from _get_dsp_buffer()
  - Add a PIPEWIRE_RATE and PIPEWIRE_QUANTUM env variable to set
    the graph rate and the graph quantum and rate respectively.
  - Fix a potential file descriptor leak in the connection.
  - A new minimal.conf file was added to demonstrate a static
    setup of a daemon that doesn't require a session manager and
    is able to run JACK applicaions.
  - Nice levels are now only changed on the servers, not the
    clients.
  - Add an option to suspend nodes when idle.
  - Make it possible to avoid quantum and rate changes with
    pw-metadata. This is essential in a locked down system.
  - Handle mixer port errors better and fail to create the link
    instead of silently not working.
  - Nodes that are moved to a driver now have all the linked
    nodes moved as well. This makes it possible to run some
    graphs without a driver, such as paplay -> zita-j2n.
  - pw-cli and pw-dump can now also list objects by name, serial
    and object.path using glob style pattern matching.
  * modules:
  - filter-chain can now also configure parameters by index.
  - Fix the client name of module-protocol-simple.
  - module-rtkit was merged into module-rt. This makes it easier
    to ship a default config that works on more systems by
    default.
  - module-adapter can now configure the adapter node from the
    config. Previously, this was a task only performed by the
    session manager.
  - module-metadata can now also create metadata object from the
    config file.
  - The ROC module should now work again.
  - An X11-bell module was added to handle X11 bell events.
  - filter-chain and loopback modules now have better unique
    default names for the streams, which makes it possible to
    save and restore their volumes independently.
  - module-echo-cancel now has properties to control the delay
    and buffer size.
  * ALSA:
  - The monitor names are now correctly parsed.
  - The default period size for batch devices is limited now to
    avoid large latency.
  - The unused min/max-latency properties were removed.
  - Internal latency is now also configurable with params at
    runtime.
  - The udev rule for TI2902 was removed because it causes
    problems.
  - Fix a race where some devices would sometimes be missing.
  - Add some more timeouts to work around a race in udev device
    permission changes when switching VTs.
  * SPA:
  - Fix potential infinite loop in audioconvert.
  - The spa-resample tools can now also use optimised
    implementations.
  - Fix a potential crash in resampler.
  - audioconvert can now also handle F64 formats.
  - The channelmixer now does normalization by default to avoid
    clipping when downmixing is active.
  - The channelmixer will now generate LFE channels when the
    lfe_cutoff frequency is set, even when upmix is disabled.
  - The channelmixer will now always generate FC when the target
    has it.
  - Adapter now reports latency correctly, even after linking the
    monitor ports.
  - Reduce memory usage and preallocated memory in some of the
    audioconvert nodes.
  - Many properties are now exposed in adapter, such as the
    resample quality.
  - The resampler and channelmixer can now be disabled.
  * V4L2:
  - pw-v4l2 now also works for ffplay.
  - Take product names from udev now that the kernel returns
    generic name.
  * JACK:
  - The jack pkgconfig file now has the
    jack_implementation=pipewire variable to be able to
    distinguish jack implementations.
  - jconvolver now starts correctly again.
  - The object.serial is now used for the port_id. This makes it
    easier to track old objects in the cache.
  - Add a dummy jacknet implementation.
  - A bug in the port allocation was fixed that would make it
    impossible to allocate ports at some point.
  * Bluetooth:
  - Bluetooth profiles are now saved properly by the
    session manager.
  - Improved profile detections, increased timeouts for slow
    devices.
  - Implement HFP call indicator for improved compatibility.
  - Handle the case where bluez does not set the adapter or
    address properties on the device instead of crashing.
  - Improved support for setting the profile from the
    session manager.
  * pulse-server:
  - Monitor sources now have the device.class=monitor for better
    compatibility.
  - Behaviour after seeking is improved. The algorithm for
    requesting bytes from the client was simplified and improved.
  - module-ladspa-sink implements the control argument now.
  - A potential memory leak in the message queue was fixed.
  - Use the object.serial for the pulseaudio object index. The
    index is not supposed to be reused and this would cause
    problems with some clients.
  - Servers should now again be able to listen in IPv4.
  - module-x11-bell was added.
  - There is now support for per-application quirks and
    properties in the pipewire-pulse.conf file. Per-application
    latency and buffering properties can also be configured.
  - Fix a regression in telegram sounds not playing.
- Drop patches already included upstream:
  * 0001-alsa-improve-rate-selection.patch
  * 0001-audioconvert-avoid-infinite-loop.patch
  * 0001-bluez5-dont-create-device-if-adapter-is-missing.patch
  * 0001-bluez5-handle-missing-device-and-adapter-in-quirks.patch
  * 0001-jack-remember-last-return-from-jack_get_buffer_size.patch
  * 0001-loop-invoke-immediately-when-loop-is-not-running.patch
  * 0001-merger-also-reconfigure-when-monitor-changes.patch
  * 0001-pulse-server-show-monitor-sources-with-device_class_monitor.patch
  * 0001-pw-metadata-handle-NULL-props-from-metadata-object.patch
  * 0001-raop-fix-errno-check.patch
* Wed Jan 19 2022 alarrosa@suse.com
- Add several more patches from upstream
- BlueZ may be missing adapter information for devices in some cases.
  Ignore devices without specified adapter:
  * 0001-bluez5-dont-create-device-if-adapter-is-missing.patch
- Fix a case when pipewwire could never call callbacks or even
  block forever when loop is not running:
  * 0001-loop-invoke-immediately-when-loop-is-not-running.patch
- Reconfigure when monitor changes
  * 0001-merger-also-reconfigure-when-monitor-changes.patch
- Handle NULL props from metadata object
  * 0001-pw-metadata-handle-NULL-props-from-metadata-object.patch
- Improve rate selection so we don't select an invalid rate when
  the default is set or the card is already opened in an
  unsupported rate:
  * 0001-alsa-improve-rate-selection.patch
* Fri Jan 14 2022 alarrosa@suse.com
- Add several patches from upstream
- Avoid an infinite loop when enumerating params of the converter:
  * 0001-audioconvert-avoid-infinite-loop.patch
- When the device or adapter is NULL, skip the quirk checks instead
  of crashing:
  * 0001-bluez5-handle-missing-device-and-adapter-in-quirks.patch
- Remember the last returned value from jack_get_buffer_size and
  only emit a buffersize change event when something new is
  configured. This fixes startup of jconvolver.
  * 0001-jack-remember-last-return-from-jack_get_buffer_size.patch
- Better emulation of pulseaudio which shows monitor sources with
  device.class=monitor so now pipewire does that too:
  * 0001-pulse-server-show-monitor-sources-with-device_class_monitor.patch
- Fix an errno check:
  * 0001-raop-fix-errno-check.patch
* Wed Jan 12 2022 alarrosa@suse.com
- Added more baselibs packages and their dependencies
* Wed Jan 05 2022 bjorn.lie@gmail.com
- Update to version 0.3.43:
  * Highlights:
  - Flatpak apps such as Ardour can now remove links again.
  - Many fixes to pulse-server. Memory usage should be improved.
    Some crashes are fixed. Underrun handling should work better.
    Better compatibility with GStreamer based applications after
    seeking.
  - Many of the samplerate and quantum changes bugs in previous
    releases were fixed. This fixes some issues where the
    microphone would fail to work.
  - Many more small fixes and improvements all over the place.
* Thu Dec 16 2021 alarrosa@suse.com
- Revert the merge of spa-plugins and modules into the library
  package.
- Move some of the files between packages where they make more
  sense.
- Rename the modules subpackage to modules-%{apiver_str} so
  it can be versioned more easily (there still are some unversioned
  files in the package, but it's a step in the right direction)
* Thu Dec 16 2021 alarrosa@suse.com
- Remove unneccesary Conflicts with packages that are Obsoleted
* Thu Dec 16 2021 alarrosa@suse.com
- Update to version 0.3.42:
  * Highlights
  - Fixes a bug in pulse-server underrun handling that broke qemu
    and orca.
  - A fix was added to pulse-server to handle quantum changes
    gracefully.
  - Fix module-echo-cancel again.
  - Fix a bug where the bluetooth headset capture was producing
    noise.
* Wed Dec 15 2021 alarrosa@suse.com
- Remove the dependency on wireplumber-audio which was pulling in
  pulseaudio. We'll require wireplumber-audio directly from
  wireplumber.
- Remove pipewire-rpmlintrc since the filters don't apply anymore
Version: 0.3.6-150200.3.9.1
* Wed Jul 26 2023 alarrosa@suse.com
- Add patches from upstream to fix a security issue by enforcing
  that the owner client of the output node can see the input node
  and viceversa, otherwise, it could happen that a portal sets
  permissions so only the screenshared stream can be seen but
  wireplumber might link the camera nonetheless (boo#1213682):
  * 0001-impl-link-enforce-permissions-in-links.patch
  * 0002-impl-link-only-check-permission-changes-for-owners.patch
* Tue Mar 31 2020 alarrosa@suse.com
- Use gcc9 to build in SLE-15 / Leap 15, since at least gcc8 is
  needed now.
* Tue Mar 31 2020 alarrosa@suse.com
- Update to version 0.3.2:
  + build fixes
  + Added support for data type negotiation. This makes it
    possible for a client to say that it can handle DMABuf
    and MemFd and then let the server select a compatible
    format.
  + Handle errors when enumerating parameters better.
  + Add support for rate, format, channels and period_bytes
    to the alsa config file to restrict what alsa apps can
    negotiate.
  + Fix JACK midi output.
  + Optimizations in common audio format conversions using
    AVX2. Small optimizations to plugins.
  + Change the vulkan compute example to an MIT licensed
    shader.
  + Remove some hardcoded defaults in the audio and video
    processing and use the values from the processing
    context. This also fixes the vulkan example.
  + Correct the documentation and defaults in the daemon
    config file.
  + Fix alsa and v4l2 buffer recycle. A paused client could
    cause the server to leak all buffers.
  + Remove some warnings that should be ignored.
  + Fix a crash in the bluez5 plugins.
  + Try to select higher quality formats first when
    negotiating a format with an audio device.
  + Fix an infinite loop in udev detection in some cases.
  + Add non-interactive mode to pw-cli. You can now just
    do "pw-cli ls Port" to get a listing of all ports.
    pw-cli will now also connect to the default server by
    default and has options to select a different server.
  + Allow the server to go up to the maximum quantum (8192
    samples or ~=180ms) if a client explicitly wants this.
* Mon Mar 23 2020 bjorn.lie@gmail.com
- Update to version 0.3.1+48:
  + Fix 32bit build.
* Wed Mar 18 2020 bjorn.lie@gmail.com
- Switch to source service, update to explicit head, file with
  non-compliant license replaced.
* Tue Mar 17 2020 bjorn.lie@gmail.com
- Switch license to MIT and actually package it.
- Add doxygen, graphviz and xmltoman BuildRequires and pass docs
  and man = true to meson, build documentation. Package docs in a
  new docs sub-package.
- Add check section and run meson_test macro, run tests during
  build.
- Add fdupes BuildRequires and pass fdupes macro, remove duplicate
  files.
* Mon Mar 09 2020 alarrosa@suse.com
- Update to version 0.3.1:
  + This is a bugfix release that is API and ABI compatible
    with previous 0.3.x releases.
  + Don't load the rtkit module by default. It can cause a
    sigkill, which is not desirable for mutter, for example.
    Only enable this for the jack library for now.
  + Don't use pthread cancel by default because it uses a
    signal that might crash some apps. Only use it for
    the jack library because jack clients really expect this.
  + Build fixes for -Werror=suggest-attribute=format
  + improve error messages, don't report harmless errors and
    warnings. Try to send error messages to the proxy that
    started the operation or is the owner of the object.
  + pw-cat: midi improvement, add midi recording and dump
    in verbose mode
  + fix properties when loading spa-nodes from the config
  + Fix and update some examples
  + jack: check arguments and don't crash when invalid
  + Fix buffer memory upload.
  + jack: fix compatibility with zrythm. Fix timemaster
    install, improve sample_rate callback. Fix reposition
    handling.
  + fix crash in port after buffer negotiation error.
  + add support for control ports in pw_filter
  + fix cleanup of the metadata module
  + improve param enumeration.
  + Clear stream buffers when the format is cleared.
  + Add create-object command in the config file to create
    object from a factory.
  + Fix crash after the driver was not removed from unassigned
    nodes. Also properly pause inactive nodes.
  + Use "true" and "false" in properties when we are talking
    about a boolean.
  + pulseaudio: improve compatibility
* Fri Feb 21 2020 alarrosa@suse.com
- Add patch to build correctly with glibc < 2.27 (like in SLE/Leap):
  * fix-memfd_create-call.patch
* Fri Feb 21 2020 alarrosa@suse.com
- Add BuildRequires for pkgconfig(sndfile) and pkgconfig(vulkan)
  so the vulkan plugin is built.
- Version the spa-plugins subpackage so different versions of
  the plugins can be co-installed in the future.
* Thu Feb 20 2020 bjorn.lie@gmail.com
- Update to version 0.3.0:
  + The 0.3 release is a major milestone in the developement of
    PipeWire. It features a complete redesign of the scheduling
    mechanisms that make it possible to run a JACK compatibility
    layer with comparable performance to JACK2.
  + The API has been reworked and is declared stable now. All
    developement files and runtime paths are versioned so that
    future incompatible changes can be done without breaking
    exising applications.
  + PipeWire 0.3 also includes a (now mandatory) session manager
    that populates and controls the PipeWire graph. This example
    session manager is very simple and not configurable. It is
    expected that future version will either switch to a more
    flexible session manager (like WirePlumber) or improve the
    configuration options of the example session manager.
  + PipeWire 0.3 includes both PulseAudio, JACK and ALSA
    compatibility libraries that are known to support a wide range
    of applications. The ALSA library is pretty complete at this
    point. The JACK and mostly the PulseAudio compatibility
    libraries need more work. See the Wiki pages for the current
    compatibility problems. We do not yet encourage people to
    switch away from their existing audio solutions (PulseAudio
    or JACK) but we would love to hear from people who try it
    anyways. Future versions will mostly focus on improving
    compatibility further to make PipeWire a drop-in replacement.
    PipeWire comes with some GStreamer plugins to consume and
    produce data for PipeWire. The consumer (pipewiresrc) is
    working well in most cases. The sink (pipewiresink) is known
    to be somewhat problematic for now.
- Add pkgconfig(bluez) and pkgconfig(libpulse) BuildRequires: New
  dependencies.
- Bump libpipewire, apiver and spa_ver define following upstreams
  changes. Also add a new sover define.
- Package new subpackages: libjack-pw0_3_0,
  libpulse-mainloop-glib-pw0_3_0, libpulse-pw0_3_0 and
  libpulse-simple-pw0_3_0, as well as handle them in post(un).
- Adjust options passed to meson following upstreams changes.
Version: 0.2.2-bp151.1.2
* Mon Aug 13 2018 bjorn.lie@gmail.com
- Update to version 0.2.2:
  + Add apiversion to pkgconfig as well.
- Add apiver define and set it to 0.2.
- Bump libpipewire define to libpipewire-0_2-1 and libspa define to
  libspa-lib1 following upstream changes.
* Mon Jul 23 2018 bjorn.lie@gmail.com
- Update to version 0.2.1:
  + stream: update to latest API.
  + hook: add private data for future expansion.
* Tue Jul 17 2018 alarrosa@suse.com
- Update to version 0.2.0
  * No changelog provided by upstream. To see the changes in this
    version, please browse the commit logs at
    https://github.com/PipeWire/pipewire/commits/0.2.0 .
* Tue Mar 13 2018 luc14n0@linuxmail.org
- Initial package, version 0.1.9.