- 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
- Update to version 0.4.1:
* Highlights:
+ WirePlumber now supports Lua 5.4. You may compile it either
with Lua 5.3 or 5.4, without any changes in behavior. The
internal Lua subproject has also been upgraded to Lua 5.4, so
any builds with -Dsystem-lua=false will use Lua 5.4 by
default
* Fixes:
+ Fixed filtering of pw_metadata objects, which broke with
PipeWire 0.3.31
+ Fixed a potential livelock condition in
si-audio-adapter/endpoint where the code would wait forever
for a node's ports to appear in the graph
+ Fixed granting access to camera device nodes in flatpak
clients connecting through the camera portal
+ Fixed a lot of issues found by the coverity static analyzer
+ Fixed certain race conditions in the wpipc library
+ Fixed compilation with GCC older than v8.1
* Scripts:
+ Added a policy script that matches nodes to specific devices
based on the "media.role" of the nodes and the
"device.intended-roles" of the devices
* Build system:
+ Bumped GLib requirement to 2.62, as the code was already
using 2.62 API
+ Added support for building WirePlumber as a PipeWire
subproject
+ Doxygen version requirement has been relaxed to accept v1.8
+ The CI now also verifies that the build works on
Ubuntu 20.04 LTS and tries multiple builds with different
OBS-URL: https://build.opensuse.org/request/show/906021
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=2