- Update to version 0.4.16:
* Additions:
- Added a new "sm-objects" script that allows loading objects
on demand via metadata entries that describe the object to
load; this can be used to load pipewire modules, such as
filters or network sources/sinks, on demand
- Added a mechanism to override device profile priorities in
the configuration, mainly as a way to re-prioritize Bluetooth
codecs, but this also can be used for other devices
- Added a mechanism in the endpoints policy to allow connecting
filters between a certain endpoint's virtual sink and the
device sink; this is specifically intended to allow plugging
a filter-chain to act as equalizer on the Multimedia endpoint
- Added wp_core_get_own_bound_id() method in WpCore
* Changes:
- PipeWire 0.3.68 is now required
- policy-dsp now has the ability to hide hardware nodes behind
the DSP sink to prevent hardware misuse or damage
- JSON parsing in Lua now allows keys inside objects to be
without quotes
- Added optional argument in the Lua JSON parse() method to
limit recursions, making it possible to partially parse a
JSON object
- It is now possible to pass nil in Lua object constructors
that expect an optional properties object; previously,
omitting the argument was the only way to skip the properties
- The endpoints policy now marks the endpoint nodes as
"passive" instead of marking their links, adjusting for the
behavior change in PipeWire 0.3.68
- Removed the "passive" property from si-standard-link, since
OBS-URL: https://build.opensuse.org/request/show/1128888
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=63
- 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
behaved/configured clients:
* 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch
OBS-URL: https://build.opensuse.org/request/show/1121413
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=25
- 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
- Update to version 0.4.14:
* Additions
- Add support for managing Bluetooth-MIDI, complementing the
parts that were merged in PipeWire recently.
- Add a default volume configuration option for streams whose
volume has never been saved before; that allows starting new
streams at a lower volume than 100% by default, if desired.
- Add support for managing link errors and propagating them to
the client(s) involved. This allows better error handling on
the application side in case a format cannot be negotiated -
useful in video streams.
- snd_aloop devices are now described as being "Loopback"
devices.
- ALSA nodes in the pro audio profile now get increased graph
priority, so that they are more likely to become the driver
in the graph.
- Add support for disabling libcamera nodes & devices with
node.disabled and device.disabled, like it works for ALSA
and V4L2.
- Drop reduce-meson-required-version.patch: openSUSE Leap 15.3 is
no longer supported.
- Drop patches already included upstream:
* 0001-alsa-monitor-handle-snd_aloop-devices-better.patch
* 0001-spa-json-make-sure-we-only-add-encoded-string-data.patch
* 0001-m-lua-scripting-ignore-string-integer-table-keys-when-constructing-a-JSON-Array-Object.patch
OBS-URL: https://build.opensuse.org/request/show/1077110
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=22
- 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
- Update to version 0.4.10:
* Changes
- Add i18n support to be able to translate some user-visible
strings.
- 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.
- The Lua engine now supports loading Lua libraries. These can
be placed either in the standard Lua libraries path or in
the "lib" subdirectory of WirePlumber's "scripts" directory
and can be loaded with ``require()``
- The Lua engine's sandbox has been relaxed to allow more
functionality in scripts (the debug & coroutine libraries
and some other previously disabled functions)
- Lua scripts are now wrapped in special WpPlugin objects,
allowing them to load asynchronously and declare when they
have finished their loading
- Add a new script that provides the same functionality as
module-fallback-sink from PipeWire, but also takes endpoints
into account and can be customised more easily. Disabled by
default for now to avoid conflicts.
* Policy
- Add an optional experimental feature that allows filter-like
streams (like echo-cancel or filter-node) to match the
channel layout of the device they connect to, on both sides
of the filter; that means that if, for instance, a sink has
6 channels and the echo-cancel's source stream is linked to
that sink, then the virtual sink presented by echo-cancel
OBS-URL: https://build.opensuse.org/request/show/976983
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=12
- Update to version 0.4.10:
* Changes
- Add i18n support to be able to translate some user-visible
strings.
- 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.
- The Lua engine now supports loading Lua libraries. These can
be placed either in the standard Lua libraries path or in
the "lib" subdirectory of WirePlumber's "scripts" directory
and can be loaded with ``require()``
- The Lua engine's sandbox has been relaxed to allow more
functionality in scripts (the debug & coroutine libraries
and some other previously disabled functions)
- Lua scripts are now wrapped in special WpPlugin objects,
allowing them to load asynchronously and declare when they
have finished their loading
- Add a new script that provides the same functionality as
module-fallback-sink from PipeWire, but also takes endpoints
into account and can be customised more easily. Disabled by
default for now to avoid conflicts.
* Policy
- Add an optional experimental feature that allows filter-like
streams (like echo-cancel or filter-node) to match the
channel layout of the device they connect to, on both sides
of the filter; that means that if, for instance, a sink has
6 channels and the echo-cancel's source stream is linked to
that sink, then the virtual sink presented by echo-cancel
OBS-URL: https://build.opensuse.org/request/show/976983
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=12
- 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