Package Release Info

wireplumber-0.4.9-150400.3.3.2

Update Info: SUSE-SLE-Module-Packagehub-Subpackages-15-SP4-2022-3946
Available in Package Hub : 15 SP4 Subpackages Updates

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

wireplumber-audio
wireplumber-devel

Change Logs

* Tue Aug 02 2022 alarrosa@suse.com
- Work around 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 current installations (boo#1202008).
* Sat Jan 08 2022 sor.alexei@meowr.ru
- Update to version 0.4.6:
  * Fix a lot of race condition bugs that would cause strange
    crashes or many log messages being printed when streaming
    clients would connect and disconnect very fast.
  * Improve the logic for selecting a default target device.
  * Fix switching to headphones when the wired headphones are
    plugged in.
  * Fix an issue where "udevadm trigger" would break wireplumber.
  * Fix an issue where switching profiles of a device could kill
    client nodes.
  * Fix briefly switching output to a secondary device when
    switching device profiles (#85)
  * Fix "wpctl status" showing default device selections when
    dealing with module-loopback virtual sinks and sources.
  * WirePlumber now ignores hidden files from the config directory.
  * Fix an interoperability issue with jackdbus.
  * Fix an issue where pulseaudio tcp clients would not have
    permissions to connect to PipeWire.
  * Fix a crash in the journald logger with NULL debug messages.
  * Enable real-time priority for the bluetooth nodes to run in RT.
  * Make the default stream volume configurable.
  * Scripts are now also looked up in
    $XDG_CONFIG_HOME/wireplumber/scripts
  * Update documentation on configuring WirePlumber and fixed some
    more documentation issues.
  * 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
* Wed Dec 15 2021 alarrosa@suse.com
- Remove many build dependencies which aren't really needed
* Sat Dec 11 2021 fabian@ritter-vogt.de
- Use %autosetup, apply patches unconditionally
- Hard depend on wireplumber-audio if pipewire-pulseaudio is installed
* Thu Dec 09 2021 alarrosa@suse.com
- Supplements: (pipewire-pulseaudio and wireplumber) so everyone
  having those two packages already installed automatically get
  wireplumber-audio pulled in.
* Thu Dec 09 2021 bjorn.lie@gmail.com
- Quiet setup of sources, no need to see the package untared.
- Disable tests for ppc64 for now like we do for i586.
* Fri Dec 03 2021 alarrosa@suse.com
- Split the configuration to separate the audio initialization
  to a new wireplumber-audio subpackage. This way, if that package
  is not installed, pipewire doesn't open the audio devices, thus
  not entering a race-condition with pulseaudio but still allowing
  to manage v4l2 devices and sharing the screen in wayland, for
  example (boo#1188516).
* Wed Nov 24 2021 alarrosa@suse.com
- Add patches from upstream to fix wireplumber breaking when
  udevadm trigger is run:
  * 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch
- And another patch to fix an issue where there is only 1 sink
  available and the card profile is toggeled between pro and
  stereo:
  * 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch
* Thu Nov 11 2021 alarrosa@suse.com
- 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
- Remove patches already included by upstream:
  * 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch
  * 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch
  * 0001-add-missing-break-in-best-route-selection-logic.patch
* Wed Nov 03 2021 alarrosa@suse.com
- Add patch from upstream to fix a problem saving the default
  route:
  * 0001-add-missing-break-in-best-route-selection-logic.patch
- Add patch to let wireplumber build in Leap 15.3/SLE-15-SP3
  which only have meson 0.54:
  * reduce-meson-required-version.patch
Version: 0.4.13-150500.1.2
* Fri Jan 13 2023 alarrosa@suse.com
- 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 .
* Wed Jan 11 2023 alarrosa@suse.com
- Add upstream patches to fix glfo#pipewire/pipewire#2214 and to
  handle better non-null terminated strings:
  * 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
* Tue Dec 13 2022 sor.alexei@meowr.ru
- Update to version 0.4.13:
  * Additions
  - Add bluetooth SCO (HSP/HFP) hardware offload support,
    together with an example script that enables this
    functionality on the PinePhone.
  - Encoded audio (mp3, aac, etc...) can now be passed through,
    if this mode is supported by both the application and the
    device.
  - The v4l2 monitor now also respects the ``node.disabled`` and
    ``device.disabled`` properties inside rules.
  - Add "Firefox Developer Edition" to the list of applications
    that are allowed to trigger a bluetooth profile auto-switch.
  - Add support in the portal access script to allow newly
    plugged cameras to be immediately visible to the portal
    applications.
  * Fixes
  - Work around an issue that would prevent streams from properly
    linking when using effects software like EasyEffects and
    JamesDSP.
  - Fix destroying pavucontrol-qt monitor streams after the node
    that was being monitored is destroyed.
  - Fix a crash in the alsa.lua monitor that could happen when a
    disabled device was removed and re-added.
  - Fix a rare crash in the metadata object.
  - Fix a bug where a restored node target would override the
    node target set by the application on the node's properties.
  * Packaging
  - Add build options to compile wireplumber's library, daemon
    and tools independently.
  - Add a build option to disable unit tests that require the
    dbus daemon.
  - Stop using fakesink/fakesrc in the unit tests to be able to
    run them on default pipewire installations. Compiling the spa
    ``test`` plugin is no longer necessary.
  - Add pkg-config and header information in the gir file.
- Rebase reduce-meson-required-version.patch
- Drop patches already upstream:
  * 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch
  * 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch
* Tue Nov 15 2022 alarrosa@suse.com
- Add patch from upstream to work around a problem when a link is
  not activated:
  * 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch
- Add patch from upstream to fix handling null devices which result
  in lua exceptions:
  * 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch
* Tue Oct 04 2022 sor.alexei@meowr.ru
- Update to version 0.4.12:
  * Changes
  - WirePlumber now maintains a stack of previously configured
    default nodes and prioritises to one of those when the
    actively configured default node becomes unavailable, before
    calculating the next default using priorities.
  - Updated bluetooth scripts to support the name changes that
    happened in PipeWire 0.3.59 and also support the experimental
    Bluetooth LE functionality.
  - Changed the naming of bluetooth nodes to not include the
    profile in it; this allows maintaining existing links when
    switching between a2dp and hfp.
  - The default volume for new outputs has changed to be 40% in
    cubic scale (= -24 dB) instead of linear
    (= 74% cubic / -8 dB) that it was before.
  - The default volume for new inputs has changed to be 100%
    rather than following the default for outputs.
  - Added ``--version`` flag on the wireplumber executable.
  - Added ``--limit`` flag on ``wpctl set-volume`` to limit the
    higher volume that can be set (useful when incrementing
    volume with a keyboard shortcut that calls into wpctl).
  - The properties of the alsa midi node can now be set in the
    config files.
  * Fixes
  - Fixed a crash in lua code that would happen when running in a
    VM.
  - Fixed a crash that would happen when re-connecting to D-Bus.
  - Fixed a mistake in the code that would cause device
    reservation not to work properly.
  - Fixed ``wpctl clear-default`` to accept 0 as a valid setting ID.
  - Fixed the logic of choosing the best profile after the active
    profile of a device becomes unavailable
  - Fixed a regression that would cause PulseAudio "corked"
    streams to not properly link and cause busy loops.
  - Fixed an issue parsing spa-json objects that have a nested
    object as the value of their last property.
- Rebase reduce-meson-required-version.patch
- Drop patches already upstream:
  * fix-alsa.patch
  * 0001-dbus-fix-crash-when-trying-to-reconnect.patch
  * 398.patch
* Fri Aug 05 2022 badshah400@gmail.com
- Add 398.patch -- policy-node: fix potential rescan loop to
  prevent high cpu usage (glfo#pipewire/wireplumber#152); patch
  taken from upstream merge request.
* Thu Jul 14 2022 fvogt@suse.com
- Add patch to fix crash on session end:
  * 0001-dbus-fix-crash-when-trying-to-reconnect.patch
* Fri Jul 08 2022 fvogt@suse.com
- Add patch to fix alsa device creation:
  * fix-alsa.patch
* Tue Jul 05 2022 sor.alexei@meowr.ru
- Update to version 0.4.11:
  * Changes
  - The libcamera monitor is now enabled by default, so if the
    libcamera source is enabled in PipeWire, cameras discovered
    with the libcamera API will be  available out of the box.
    This is safe to use alongside V4L2, as long as the user does
    not try to use the same camera over different APIs at the
    same time.
  - Libcamera and V4L2 nodes now get assigned a
    `priority.session` number; V4L2 nodes get a higher priority
    by default, so the default camera is going to be /dev/video0
    over V4L2, unless changed with `wpctl`.
  - Libcamera nodes now get a user-friendly description based on
    their location (e.g. built-in front camera). Additionally,
    V4L2 nodes now have a "(V4L2)" string appended to their
    description in order to be distinguished from the libcamera
    ones.
  - 50-alsa-config.lua now has a section where you can set
    properties that will only be applied if WirePlumber is
    running in a virtual machine. By default it now sets
    `api.alsa.period-size = 256` and `api.alsa.headroom = 8192`.
  * Fixes
  - The "enabled" properties in the config files are now "true"
    by default when they are not defined. This fixes backwards
    compatibility with older configuration files.
  - Fixed device name deduplication in the alsa monitor, when
    device reservation is enabled.
  - Reverted a previous fix that makes it possible again to get
    a glitch when changing default nodes while also changing the
    profile (GNOME Settings).
    The fix was causing other problems and the issue will be
    addressed differently in the future.
  - Fixed an issue that would prevent applications from being
    moved to a recently plugged USB headset.
  - Fixed an issue where wireplumber would automatically link
    control ports, if they are enabled, to audio ports,
    effectively breaking audio.
  - The policy now always considers the profile of a device that
    was previously selected by the user, if it is available, when
    deciding which profile to activate.
  - A few documentation fixes.
  * Tools
  - wpctl now has a `get-volume` command for easier scripting of
    volume controls.
  - wpctl now supports relative steps and percentage-based steps
    in `set-volume`.
  - wpctl now also prints link states.
  - wpctl can now `inspect` metadata objects without showing
    critical warnings.
  * Library
  - A new WpDBus API was added to maintain a single D-Bus
    connection among modules that need one.
  - WpCore now has a method to get the virtual machine type, if
    WirePlumber is running in a virtual machine.
  - WpSpaDevice now has a
    `wp_spa_device_new_managed_object_iterator()` method.
  - WpSpaJson now has a `wp_spa_json_to_string()` method that
    returns a newly allocated string with the correct size of the string token.
  - WpLink now has a `WP_LINK_FEATURE_ESTABLISHED` that allows
    the caller to wait until the link is in the PAUSED or ACTIVE
    state. This transparently now enables watching links for
    negotiation or allocation errors and failing gracefully
    instead of keeping dead link objects around.
  * Misc
  - The Lua subproject was bumped to version 5.4.4.
- Rebase reduce-meson-required-version.patch
* Tue May 10 2022 sor.alexei@meowr.ru
- 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
    will also be configured to the same 6 channels layout. This
    feature needs to be explicitly enabled in the configuration
    ("filter.forward-format")
  - filter-like streams (filter-chain and such) no longer follow
    the default sink when it changes, like in PulseAudio.
  * Fixes
  - The suspend-node script now also suspends nodes that go into
    the "error" state, allowing them to recover from errors
    without having to restart WirePlumber.
  - Fix a crash in mixer-api when setting volume with
    channelVolumes.
  - logind module now watches only for user state changes,
    avoiding errors when machined is not running.
  * Misc
  - The configuration files now have comments mentioning which
    options need to be disabled in order to run WirePlumber
    without D-Bus.
  - The configuration files now have properties to
    enable/disable the monitors and other sections, so that it
    is possible to disable them by dropping in a file that just
    sets the relevant property to false.
  - setlocale() is now called directly instead of relying on
    pw_init().
  - WpSpaJson received some fixes and is now used internally to
    parse configuration files.
  - More applications were added to the bluetooth auto-switch
    applications whitelist.
- Add a new wireplumber-lang package.
- Drop patches already upstream:
  * 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
  * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
- Rebase reduce-meson-required-version.patch
Version: 0.4.9-150400.1.5
* Wed Mar 30 2022 alarrosa@suse.com
- Add patch from upstream to fix no sound on reconnection of
  bluetooth device (glfo#pipewire/wireplumber#234):
  * 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
* Tue Mar 29 2022 alarrosa@suse.com
- Add patch from upstream to set locale in apps now that pw_init
  doesn't call it by itself anymore in pipewire 0.3.49:
  * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
* Fri Mar 25 2022 alarrosa@suse.com
- Make the wireplumber-audio noarch as it just contains a lua
  config file.
* Tue Mar 22 2022 alarrosa@suse.com
- 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
    (analog, hdmi, etc) are exposesd as nodes on a single profile
  - An icon name is now set on the properties of bluetooth devices
- Drop patches already upstream:
  * 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch
  * 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch
  * 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch
  * 0003-si-audio-adapter-relax-format-parsing.patch
- Update split-config-file.py script
* Thu Mar 10 2022 sor.alexei@meowr.ru
- Add patch from upstream to fix a crash on tty switch
  (glfo#pipewire/wireplumber#193):
  * 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch
- Add patch from upstream to fix issues with PulseAudio support with
  PipeWire 0.3.48+ (glfo#pipewire/pipewire#2189):
  * 0003-si-audio-adapter-relax-format-parsing.patch
- Some spec clean-up.
* Fri Feb 11 2022 alarrosa@suse.com
- Add patch from upstream to fix va_list APIs for ppc64le and
  aarch64, where va_list is not a pointer (boo#1195818):
  * 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch
- Add patch from upstream to fix a crash if config.properties is
  nil:
  * 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch
* Mon Feb 07 2022 alarrosa@suse.com
- 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
    target nodes for specific streams, useful for applications
    that misbehave when we restore those (see #169)
  - policy-endpoint now assigns the "Default" role to any stream
    that does not have a role, so that it can be linked to a
    pre-configured endpoint
  - The route-settings-api module was dropped in favor of dealing
    with json natively in Lua, now that the API exists
- Drop patch which is already upstream:
  * 0001-default-nodes-handle-nodes-without-Routes.patch
- Update split-config-file.py script
* Mon Jan 31 2022 gmbr3@opensuse.org
- Use the default lua instead of hardcoding 5.3
* Tue Jan 25 2022 alarrosa@suse.com
- 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
- Add patch from upstream to fix selection of Pro Audio nodes
  as default nodes:
  * 0001-default-nodes-handle-nodes-without-Routes.patch
* Mon Jan 10 2022 alarrosa@suse.com
- Reformat .changes file to limit lines to 67 chars when possible.