- Update to version 0.4.90+git25.95cfa9e:
* wpctl: fix settings --help listing
* docs: conf_file: small updates
* docs: installing: update dependency versions
* si-linkables: do not fully reset when the underlying proxy is
destroyed
* registry: move to a separate file and decouple it from the
object manager
* log: docs: document the log topic definition macros
* monitors/bluez: add 'internal' prefix to internal bluez node
names.
* monitor/bluez: set node.name property when creating combine
stream
* meson: bump min pipewire version to 1.0.2
* scripts: fix regression in state-routes.lua when marking routes
as 'active'
* scripts: improve linking logs
* monitors: use parseBool for boolean properties in rules
* config: add {device|node}.disable
* object-interest: make WP_INTEREST_MATCH_ALL part of the enum
* proxy: make the FEATURES_MINIMAL and FEATURES_ALL constants
part of the enum
* log: fix WP_LOG_LEVEL_TRACE value in the g-i bindings
* base-dirs: wrap flag groups in parenthesis
* log.h: define G_LOG_DOMAIN only if
WP_USE_LOCAL_LOG_TOPIC_IN_G_LOG is defined
* meson: make sure the boolean options have boolean values
* meson: move the common CFLAGS to project-wide scope
* scripts: make sure target is not nil when iterating filters
with matching targets
OBS-URL: https://build.opensuse.org/request/show/1157293
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=71
- Update to version 0.4.90 (0.5.0 RC1)
* Highlights:
- The configuration system has been changed back to load files
from the WirePlumber configuration directories, such as
/etc/wireplumber and $XDG_CONFIG_HOME/wireplumber, unlike in
the pre-releases. This was done because issues were observed
with installations that use a different prefix for pipewire
and wireplumber. If you had a wireplumber.conf file in
/etc/pipewire or $XDG_CONFIG_HOME/pipewire, you should move
it to /etc/wireplumber or $XDG_CONFIG_HOME/wireplumber
respectively (!601)
- The internal base directories lookup system now also respects
the XDG_CONFIG_DIRS and XDG_DATA_DIRS environment variables,
and their default values as per the XDG spec, so it is
possible to install configuration files also in places like
/etc/xdg/wireplumber and override system-wide data paths
(!601)
- wpctl now has a settings subcommand to show, change and
delete settings at runtime. This comes with changes in the
WpSettings system to validate settings using a schema that is
defined in the configuration file. The schema is also
exported on a metadata object, so it is available to any
client that wants to expose WirePlumber settings (!599, !600)
- The WpConf API has changed to not be a singleton and support
opening arbitrary config files. The main config file now
needs to be opened prior to creating a WpCore and passed to
the core using a property. The core uses that without letting
the underlying pw_context open and read the default
client.conf. The core also closes the WpConf after all
components are loaded, which means all the config loading is
OBS-URL: https://build.opensuse.org/request/show/1154974
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=67
- Add patch from upstream to remove the "clear-persistent"
sub-command and add a "settings" sub-command:
* 0001-wpctl-add-settings-subcomand-to-show_-delete-or-change.patch
- Update to version 0.4.82 (0.5.0 pre-release 2)
* Highlights:
- Bluetooth auto-switching is now implemented with a virtual
source node. When an application links to it, the actual
device switches to the HSP/HFP profile to provide the real
audio stream. This is a more robust solution that works with
more applications and is more user-friendly than the previous
application whitelist approach
- Added support for dynamic log level changes via the PipeWire
settings metadata. Also added support for log level patterns
in the configuration file
- The "persistent" (i.e. stored) settings approach has changed
to use two different metadata objects: sm-settings and
persistent-sm-settings. Changes in the former are applied in
the current session but not stored, while changes in the
latter are stored and restored at startup. Some work was also
done to expose a wpctl interface to read and change these
settings, but more is underway
- Several WirePlumber-specific node properties that used to be
called target.* have been renamed to node.* to match the
PipeWire convention of node.dont-reconnect. These are also
now fully documented
* Other changes:
- Many documentation updates
- Added support for SNAP container permissions
- Fixed multiple issues related to restoring the Route
OBS-URL: https://build.opensuse.org/request/show/1147639
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=66
- 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