- Add patch from upstream that fixes too many matches for property
interest:
* 0001-object-manager-reduce-the-amount-of-globals-that-initially.patch
- Add patch from upstream that fixes an odd failure of a test after
applying the previous patch:
* 0002-object-manager-use-an-idle-callback-to-expose-tmp-globals.patch
- Add patch from upstream that adds ability to hide parent nodes,
which is useful to prevent hardware misuse or damage by poorly
behaves/configured clients:
* 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch
OBS-URL: https://build.opensuse.org/request/show/1121397
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=61
- Update to version 0.4.15:
* Additions:
- A new "DSP policy" module has been added; its purpose is to
automatically load a filter-chain when a certain hardware
device is present, so that audio always goes through this
software DSP before reaching the device. This is mainly to
support Apple M1/M2 devices, which require a software DSP
to be always present
- WpImplModule now supports loading module arguments directly
from a SPA-JSON config file; this is mainly to support DSP
configuration for Apple M1/M2 and will likely be reworked
for 0.5
- Added support for automatically combining Bluetooth LE Audio
device sets (e.g. pairs of earbuds) (!500)
- Added command line options in wpctl to display device/node
names and nicknames instead of descriptions
- Added zsh completions file for wpctl
- The device profile selection policy now respects the
device.profile property if it is set on the device; this is
useful to hand-pick a profile based on static configuration
rules (alsa_monitor.rules)
* Changes/Fixes:
- Linking policy now sends an error to the client before
destroying the node, if it determines that the node cannot be
linked to any target; this fixes error reporting on the
client side
- Fixed a crash in suspend-node that could happen when
destroying virtual sinks that were loaded from another
process such as pw-loopback
- Virtual machine default period size has been bumped to 1024
OBS-URL: https://build.opensuse.org/request/show/1117592
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=60
- Backport the workaround from SLE/Leap for the bug in systemd
scripts that didn't set the default enable state for the
wireplumber user service when installing wireplumber. The bug
(boo#1200485) was fixed but that's only for new installations
while this workaround will fix old installations (boo#1202008).
This is used to automatically fix installations of
SLE 15 SP4/Leap 15.4 that were not updated during it's lifetime
and upgrade directly to SP5/15.5 .
OBS-URL: https://build.opensuse.org/request/show/1058202
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=56
- wpctl now supports using
@DEFAULT_{AUDIO_,VIDEO_,}{SINK,SOURCE}@ as ID, almost like
pactl. Additionally, it supports a --pid flag for changing
volume and mute state by specifying a process ID, applying
the state to all nodes of a specific client process.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=43
- Update to version 0.4.9:
* Fixes:
- restore-stream no longer crashes if properties for it are not
present in the config (#190)
- spa-json no longer crashes on non-x86 architectures
- Fixed a potential crash in the bluetooth auto-switch module
(#193)
- Fixed a race condition that would cause Zoom desktop audio
sharing to fail (#197)
- Surround sound in some games is now exposed properly
(pipewire#876)
- Fixed a race condition that would cause the default source &
sink to not be set at startup
- policy-node now supports the 'target.object' key on streams
and metadata
- Multiple fixes in policy-node that make the logic in some
cases behave more like PulseAudio (regarding nodes with the
dont-reconnect property and regarding following the default
source/sink)
- Fixed a bug with parsing unquoted strings in spa-json
* Misc:
- The policy now supports configuring "persistent" device
profiles. If a device is manually set to one of these
profiles, then it will not be auto-switched to another
profile automatically under any circumstances (#138, #204)
- The device-activation module was re-written in lua
- Brave, Edge, Vivaldi and Telegram were added in the bluetooth
auto-switch applications list
- ALSA nodes now use the PCM name to populate node.nick, which
is useful at least on HDA cards using UCM, where all outputs
OBS-URL: https://build.opensuse.org/request/show/964074
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=35
- Update to version 0.4.8:
* Highlights:
- Added bluetooth profile auto-switching support. Bluetooth
headsets will now automatically switch to the HSP/HFP profile
when making a call and go back to the A2DP profile after the
call ends (#90)
- Added an option (enabled by default) to auto-switch to
echo-cancel virtual device nodes when the echo-cancel module
is loaded in pipewire-pulse, if there is no other configured
default node
* Fixes:
- Fixed a regression that prevented nodes from being selected
as default when using the pro-audio profile (#163)
- Fixed a regression that caused encoded audio streams to stall
(#178)
- Fixed restoring bluetooth device profiles
* Library:
- A new WpSpaJson API was added as a front-end to spa-json.
This is also exposed to Lua, so that Lua scripts can natively
parse and write data in the spa-json format
* Misc:
- wpctl can now list the configured default sources and sinks
and has a new command that allows clearing those configured
defaults, so that wireplumber goes back to choosing the
default nodes based on node priorities
- The restore-stream script now has its own configuration file
in main.lua.d/40-stream-defaults.lua and has independent
options for restoring properties and target nodes
- The restore-stream script now supports rule-based
configuration to disable restoring volume properties and/or
OBS-URL: https://build.opensuse.org/request/show/952225
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=30
- Back to version 0.4.6, and add patches incrementally
to bisect it and find the issue
* 0001-policy-node-fix-typo-when-finding-best-target.patch
* 0002-policy-node-schedule-a-rescan-without-timeout-if-def.patch
* 0003-policy-node-find-best-linkable-if-default-one-cannot.patch
* 0004-spa-pod-fix-different-architecture-errors-for-boolea.patch
* 0005-config-update-the-endpoints-config.patch
* 0006-policy-endpoint-client.lua-fix-record-with-endpoints.patch
* 0007-default-nodes-check-if-the-ports-exist-in-rescan_om.patch
* 0008-scripts-monitors-log-warning-if-spa-devices-were-not.patch
- Remove revert from previous change:
* 0001-reversed-default-nodes-check-if-default-node-has-available-ro.patch
OBS-URL: https://build.opensuse.org/request/show/948445
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=24
- Since wireplumber keeps failing to run in openQA since 0.4.7,
let's drop all patches added since then:
* 0001-core-add-API-to-check-if-running-in-a-virtual-machine.patch
* 0002-alsa-monitor-set-period-size-and-headroom-props-if-running-in-virtual-machine.patch
* 0002-default-nodes-handle-nodes-without-Routes.patch
- And revert one of the commits introduced in 0.4.7:
* 0001-reversed-default-nodes-check-if-default-node-has-available-ro.patch
OBS-URL: https://build.opensuse.org/request/show/948381
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=23
- Update to version 0.4.7:
* Fixed a regression in 0.4.6 that caused the selection of the
default audio sources and sinks to be delayed until some event,
which effectively caused losing audio output in many
circumstances (glfo#pipewire/wireplumber#148,
glfo#pipewire/wireplumber#150, glfo#pipewire/wireplumber#151,
glfo#pipewire/wireplumber#153)
* Fixed a regression in 0.4.6 that caused the echo-cancellation
pipewire module (and possibly others) to not work
* A default sink or source is now not selected if there is no
available route for it (glfo#pipewire/wireplumber#145)
* Fixed an issue where some clients would wait for a bit while
seeking (glfo#pipewire/wireplumber#146)
* Fixed audio capture in the endpoints-based policy
* Fixed an issue that would cause certain lua scripts to error
out with older configuration files
(glfo#pipewire/wireplumber#158)
- Drop patches already included upstream:
* 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
* 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch
OBS-URL: https://build.opensuse.org/request/show/946064
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=19
- Reformat .changes file to limit lines to 67 chars when possible.
* Fix briefly switching output to a secondary device when
switching device profiles (#85)
* Scripts are now also looked up in
$XDG_CONFIG_HOME/wireplumber/scripts
* Add support for using strings as log level selectors in
WIREPLUMBER_DEBUG.
- Drop patches merged upstream:
* 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch
* 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch
- Add patch from upstream to fix a pulse client hanging issue:
* 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
- Add patch from upstream to fix an issue with
libpipewire-module-echo-cancel:
* 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch
OBS-URL: https://build.opensuse.org/request/show/945249
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=18
- Update to version 0.4.5:
* Fixes:
- Fixed a crash that could happen after a node linking error
(glfo#pipewire/wireplumber#76)
- Fixed a bug that would cause capture streams to link to
monitor ports of loopback nodes instead of linking to their
capture ports
- Fixed a needless wait that would happen on applications using
the pipewire ALSA plugin (glfo#pipewire/wireplumber#92)
- Fixed an issue that would cause endless rescan loops in
policy-node and could potentially also cause other strange
behaviors in case pavucontrol or another monitoring utility
was open while the policy was rescanning
(glfo#pipewire/wireplumber#77)
- Fixed the endpoints-based policy that broke in recent
versions and improved its codebase to share more code and be
more in-line with policy-node
- The semicolon character is now escaped properly in state
files (glfo#pipewire/wireplumber#82)
- When a player requests encoded audio passthrough, the policy
now prefers linking to a device that supports that instead of
trying to link to the default device and potentially failing
(glfo#pipewire/wireplumber#75)
- Miscellaneous robustness fixes in policy-node
* API:
- Added WpFactory, a binding for pw_factory proxies. This
allows object managers to query factories that are loaded in
the pipewire daemon
- The file-monitor-api plugin can now watch files for changes
in addition to directories
OBS-URL: https://build.opensuse.org/request/show/930868
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=8
- Add patch from upstream to fix a crash when there's a link error
(glfo#pipewire/wireplumber#76):
* 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch
- Update to version 0.4.4:
* Highlights:
- Implemented linking nodes in passthrough mode, which enables
encoded iec958 / dsd audio passthrough
- Streams are now sent an error if it was not possible to link
them to a target (#63)
- When linking nodes where at least one of them has an
unpositioned channel layout, the other one is not
reconfigured to match the channel layout; it is instead
linked with a best effort port matching logic
- Output route switches automatically to the latest one that
has become available (#69)
- Policy now respects the 'node.exclusive' and 'node.passive'
properties
- Many other minor policy fixes for a smoother desktop usage
experience
* API:
- Fixed an issue with the LocalModule() constructor not
accepting nil as well as the properties table properly
- Added WpClient.send_error(), WpSpaPod.fixate() and
- WpSpaPod.filter() (both in C and Lua)
* Misc:
- Bumped meson version requirement to 0.56 to be able to use
meson.project_{source,build}_root() and ease integration with
pipewire's build system as a subproject
- wireplumber.service is now an alias to
OBS-URL: https://build.opensuse.org/request/show/926162
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=5