Commit Graph

15 Commits

Author SHA1 Message Date
Markus Volk 6e194d2535 wireplumber: update 0.5.0 -> 0.5.1
WirePlumber 0.5.1
~~~~~~~~~~~~~~~~~

Highlights:

  - Added a guide documenting how to migrate configuration from 0.4 to 0.5,
    also available online at:
    https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
    If you are packaging WirePlumber for a distribution, please consider
    informing users about this.

Fixes:

  - Fixed an odd issue where microphones would stop being usable when a
    Bluetooth headset was connected in the HSP/HFP profile (#598, !620)

  - Fixed an issue where it was not possible to store the volume/mute state of
    system notifications (#604)

  - Fixed a rare crash that could occur when a node was destroyed while the
    'select-target' event was still being processed (!621)

  - Fixed deleting all the persistent settings via ``wpctl --delete`` (!622)

  - Fixed using Bluetooth autoswitch with A2DP profiles that have an input route
    (!624)

  - Fixed sending an error to clients when linking fails due to a format
    mismatch (!625)

Additions:

  - Added a check that prints a verbose warning when old-style 0.4.x Lua
    configuration files are found in the system. (#611)

  - The "policy-dsp" script, used in Asahi Linux to provide a software DSP
    for Apple Sillicon devices, has now been ported to 0.5 properly and
    documented (#619, !627)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-04-21 10:52:50 -07:00
Markus Volk 05ed141485 wireplumber: update 0.4.17 -> 0.5.0
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-22 09:05:47 -07:00
Markus Volk f95ba6d074 wireplumber: update 0.4.15 -> 0.4.17
WirePlumber 0.4.17

Fixes:
Fixed a reference counting issue in the object managers that could cause
crashes due to memory corruption (#534)
Fixed an issue with filters linking to wrong targets, often with two sets
of links (#536)
Fixed a crash in the endpoints policy that would show up when log messages
were enabled at level 3 or higher

WirePlumber 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 only nodes are
marked as passive now

Fixes:
Fixed the wpctl clear-default command to completely clear all the
default nodes state instead of only the last set default
Reduced the amount of globals that initially match the interest in the
object manager
Used an idle callback instead of pw_core_sync() in the object manager to
expose tmp globals

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-07 14:25:11 -08:00
Markus Fuchs 7bd2cd290c remove unused AUTHOR variable
No longer used in generating packages
Also creates a possible confusion with the recipe maintainer
name.

Signed-off-by: Markus Fuchs <mklntf@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-08 22:51:28 -08:00
Markus Volk 56d34f391c wireplumber: Upgrade 0.4.14 -> 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 (#467)

  - Virtual machine default period size has been bumped to 1024 (#507)

  - Updated bluez5 default configuration, using ``bluez5.roles`` instead of
    ``bluez5.headset-roles`` now (!498)

  - Disabled Bluetooth autoconnect by default (!514)

  - Removed ``RestrictNamespaces`` option from the systemd services in order to
    allow libcamera to load sandboxed IPA modules (#466)

  - Fixed a JSON encoding bug with empty strings (#471)

  - Lua code can now parse strings without quotes from SPA-JSON

  - Added some missing `\since` annotations and made them show up in the
    generated gobject-introspection file, to help bindings generators

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-12 11:13:12 -07:00
Markus Volk 98afa5696b wireplumber: update 0.4.13 -> 0.4.14
WirePlumber 0.4.14
~~~~~~~~~~~~~~~~~~

Additions:

  - Added support for managing Bluetooth-MIDI, complimenting the parts that
    were merged in PipeWire recently (!453)

  - Added 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 (!480)

  - Added 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
    (see !484, pipewire#2935)

  - snd_aloop devices are now described as being "Loopback" devices
    (pipewire#2214)

  - 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

  - Added support for disabling libcamera nodes & devices with ``node.disabled``
    and ``device.disabled``, like it works for ALSA and V4L2 (#418)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-14 07:42:47 -07:00
Markus Volk 7fc8426c45 wireplumber: dont start systemd system service by default
If wireplumber gets started with user services and socket activation,
what I guess is the regular way, the system service fails to come up at boot

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-31 10:40:31 -08:00
Markus Volk c6ff552cb7 wireplumber: build with dbus support by default
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-27 09:55:19 -08:00
Markus Volk 26b9c29fb8 wireplumber: update 0.4.12 -> 0.4.13
- add PACKAGECONFIG option to enable dbus support

Release 0.4.13

Additions:

    Added 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
    Added "Firefox Developer Edition" to the list of apps that are allowed to trigger a bluetooth profile auto-switch (#381)
    Added support in the portal access script to allow newly plugged cameras to be immediately visible to the portal apps

Fixes:

    Worked around an issue that would prevent streams from properly linking when using effects software like EasyEffects and JamesDSP (!450)
    Fixed destroying pavucontrol-qt monitor streams after the node that was being monitored is destroyed (#388)
    Fixed a crash in the alsa.lua monitor that could happen when a disabled device was removed and re-added (#361)
    Fixed a rare crash in the metadata object (#382)
    Fixed a bug where a restored node target would override the node target set by the application on the node's properties (#335)

Packaging:

    Added build options to compile wireplumber's library, daemon and tools independently
    Added a build option to disable unit tests that require the dbus daemon
    Stopped 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
    Added pkg-config and header information in the gir file

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-27 09:55:18 -08:00
Markus Volk 72273d28e2 wireplumber: upgrade 0.4.11 -> 0.4.12
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-10-15 18:24:49 -07:00
Markus Volk e75e0cebac wireplumber: update to v0.4.11
- install systemd-user-service
- install modules to get the binary running

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-22 14:12:05 -07:00
Carlos Rafael Giani f3a7de2bdf wireplumber: Upgrade to version 0.4.9
ChangeLog can be found here:

https://gitlab.freedesktop.org/pipewire/wireplumber/-/releases/0.4.9

Remove backported fix that is already included in this version.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-30 12:40:22 -07:00
Peter Bergin 3b4fe17edb wireplumber: backport fix for default device setting
In wireplumber 0.4.8 there is an issue with default device setting.
https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/194
Backport a fix that solves this issue.

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-03 08:50:19 -08:00
Carlos Rafael Giani 6c6b8d97b4 wireplumber: Improve configuration
By default, the WirePlumber lua scripts try to access a session DBus, which
is not available if WirePlumber is run system wide. Add a small script
that turns off the bits that require session DBus. These involve reserving
ALSA devices (only useful in multi-user desktop setups) and Flatpak.

Also, fix the configuration file paths (WirePlumber uses /usr/share instead
of /etc) and add the correct files to CONFFILES:${PN}.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-17 11:12:44 -08:00
Carlos Rafael Giani f754f4c851 wireplumber: Add recipe
WirePlumber is a session / policy manager for PipeWire with support
for Lua scripting and adding functionality by installing extra modules.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-08 09:00:19 -08:00