summaryrefslogtreecommitdiffstats
path: root/meta-multimedia/recipes-multimedia/wireplumber
Commit message (Collapse)AuthorAgeFilesLines
* meta-openembedded/all: adapt to UNPACKDIR changesAlexander Kanavin2025-06-251-1/+0
| | | | | | | | | | | | | Please see https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265 for what changes are needed, and sed commands that can be used to make them en masse. I've verified that bitbake -c patch world works with these, but did not run a world build; the majority of recipes shouldn't need further fixups, but if there are some that still fall out, they can be fixed in followups. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.8 -> 0.5.10Markus Volk2025-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.10 Fixed a critical crash in linking-utils.haveAvailableRoutes that was introduced accidentally in 0.5.9 and caused loss of audio output on affected systems (#797, #799, #800, !713) WirePlumber 0.5.9 Added a new audio node grouping functionality using an external command line tool (!646) The libcamera monitor now supports devices that are not associated with device ids (!701) The wireplumber user systemd service is now associated with dbus.service to avoid strange warnings when dbus exits (!702) Added "SYSLOG_IDENTIFIER", "SYSLOG_FACILITY", "SYSLOG_PID" and "TID" to log messages that are sent to the journal (!709) Fixes: Fixed a crash of wpctl set-default on 32-bit architectures (#773) Fixed a crash when a configuration component had no 'provides' field (#771) Reduced the log level of some messages that didn't need to be as high (!695) Fixed another nil reference issue in the alsa.lua monitor script (!704) Fixed name deduplication of v4l2 and libcamera devices (!705) Fixed an issue with wpctl not being able to save settings sometimes (!708, #749) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.7 -> 0.5.8Markus Volk2025-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.8 ~~~~~~~~~~~~~~~~~ Additions & Enhancements: - Added support for handling UCM SplitPCM nodes in the ALSA monitor, which allows native PipeWire channel remapping using loopbacks for devices that use this feature (!685) - Introduced new functions to mark WpSpaDevice child objects as pending. This allows properly associating asynchronously created loopback nodes with their parent WpSpaDevice without losing ObjectConfig events (!687, !689) - Improved the node name deduplication logic in the ALSA monitor to prevent node names with .2, .3, etc appended to them in some more cases (!688) - Added a new script to populate ``session.services``. This is a step towards implementing detection of features that PipeWire can service (!686) Fixes: - Fixed an issue that was causing duplicate Bluetooth SCO (HSP/HFP) source nodes to be shown in UIs (#701, !683) - In the BlueZ monitor, marked the source loopback node as non-virtual, addressing how it appears on UIs (#729) - Disabled stream-restore for device loopback nodes to prevent unwanted property changes (!691) - Fixed ``wp_lua_log_topic_copy()`` to correctly copy topic names (#757) - Updated script tests to handle differences in object identifiers (``object.serial`` vs ``node.id``), ensuring proper test behavior (#761) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.6 -> 0.5.7Markus Volk2024-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.7 ~~~~~~~~~~~~~~~~~ Highlights: - Fixed an issue that would cause random profile switching when an application was trying to capture from non-Bluetooth devices (#715, #634, !669) - Fixed an issue that would cause strange profile selection issues [choices not being remembered or unavailable routes being selected] (#734) - Added a timer that delays switching Bluetooth headsets to the HSP/HFP profile, avoiding needless rapid switching when an application is trying to probe device capabilities instead of actually capturing audio (!664) - Improved libcamera/v4l2 device deduplication logic to work with more complex devices (!674, !675, #689, #708) Fixes: - Fixed two memory leaks in module-mixer-api and module-dbus-connection (!672, !673) - Fixed a crash that could occur in module-reserve-device (!680, #742) - Fixed an issue that would cause the warning "[string "alsa.lua"]:182: attempt to concatenate a nil value (local 'node_name')" to appear in the logs when an ALSA device was busy, breaking node name deduplication (!681) - Fixed an issue that could make find-preferred-profile.lua crash instead of properly applying profile priority rules (#751) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.5. -> 0.5.6Markus Volk2024-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.6 ~~~~~~~~~~~~~~~~~ Additions: - Implemented before/after dependencies for components, to ensure correct load order in custom configurations (#600) - Implemented profile inheritance in the configuration file. This allows profiles to inherit all the feature specifications of other profiles, which is useful to avoid copying long lists of features just to make small changes - Added multi-instance configuration profiles, tested and documented them - Added a ``main-systemwide`` profile, which is now the default for instances started via the system-wide systemd service and disables features that depend on the user session (#608) - Added a ``wp_core_connect_fd`` method, which allows making a connection to PipeWire via an existing open socket (useful for portal-based connections) Fixes: - The Bluetooth auto-switch script now uses the common event source object managers, which should improve its stability (!663) - Fix an issue where switching between Bluetooth profiles would temporarily link active audio streams to the internal speakers (!655) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.3 -> 0.5.5Markus Volk2024-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.5 Highlights: Hotfix release to address crashes in the Bluetooth HSP/HFP autoswitch functionality that were side-effects of some changes that were part of the role-based linking policy (#682) Improvements: wpctl will now properly show a '*' in front of sink filters when they are selected as the default sink (!660) Past releases WirePlumber 0.5.4 Highlights: Refactored the role-based linking policy (previously known also as "endpoints" or "virtual items" policy) to blend in with the standard desktop policy. It is now possible use role-based sinks alongside standard desktop audio operations and they will only be used for streams that have a "media.role" defined. It is also possible to force streams to have a media.role, using a setting. Other features include: blending with smart filters in the graph and allowing hardware DSP nodes to be also used easily instead of requiring software loopbacks for all roles. (#610, !649) Improvements: Filters that are not declared as smart will now behave again as normal application streams, instead of being treated sometimes differently (!657) Fixes: Fixed an issue that would cause WirePlumber to crash at startup if an empty configuration file was present in one of the search paths (#671) Fixed Bluetooth profile auto-switching when a filter is permanently linked to the Bluetooth source (!650) Fixed an issue in the software-dsp script that would cause DSP filters to stay around and cause issues after their device node was destroyed (!651) Fixed an issue in the autoswitch-bluetooth-profile script that could cause an infinite loop of switching between profiles (!652, #617) Fixed a rare issue that could cause WirePlumber to crash when dealing with a device object that didn't have the "device.name" property set (#674) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.2 -> 0.5.3Markus Volk2024-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.3 ~~~~~~~~~~~~~~~~~ Fixes: - Fixed a long standing issue that would cause many device nodes to have inconsistent naming, with a '.N' suffix (where N is a number >= 2) being appended at seemingly random times (#500) - Fixed an issue that would cause unavailable device profiles to be selected if they were previously stored in the state file, sometimes requiring users to manually remove the state file to get things working again (#613) - Fixed an occasional crash that could sometimes be triggered by hovering the volume icon on the KDE taskbar, and possibly other similar actions (#628, !644) - Fixed camera device deduplication logic when the same device is available through both V4L2 and libcamera, and the libcamera one groups multiple V4L2 devices together (#623, !636) - Fixed applying the default volume on streams that have no volume previously stored in the state file (#655) - Fixed an issue that would prevent some camera nodes - in some cases - from being destroyed when the camera device is removed (#640) - Fixed an issue that would cause video stream nodes to be linked with audio smart filters, if smart audio filters were configured (!647) - Fixed an issue that would cause WP to re-activate device profiles even though they were already active (!639) - Configuration files in standard JSON format (starting with a '{', among other things) are now correctly parsed (#633) - Fixed overriding non-container values when merging JSON objects (#653) - Functions marked with WP_PRIVATE_API are now also marked as non-introspectable in the gobject-introspection metadata (#599) Improvements: - Logging on the systemd journal now includes the log topic and also the log level and location directly on the message string when the log level is high enough, which is useful for gathering additional context in logs submitted by users (!640) - Added a video-only profile in wireplumber.conf, for systems where only camera & screensharing are to be used (#652) - Improved seat state monitoring so that Bluetooth devices are only enabled when the user is active on a local seat, instead of allowing remote users as well (!641) - Improved how main filter nodes are detected for the smart filters (!642) - Added Lua method to merge JSON containers (!637) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* recipes: Start WORKDIR -> UNPACKDIR transitionKhem Raj2024-05-231-1/+1
| | | | | | | Replace references of WORKDIR with UNPACKDIR where it makes sense to do so in preparation for changing the default value of UNPACKDIR. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.1 -> 0.5.2Markus Volk2024-05-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WirePlumber 0.5.2 ~~~~~~~~~~~~~~~~~ Highlights: - Added support for loading configuration files other than the default wireplumber.conf within Lua scripts (!629) - Added support for loading single-section configuration files, without fragments (!629) - Updated the node.software-dsp script to be able to load filter-chain graphs from external configuration files, which is needed for Asahi Linux audio DSP configuration (!629) Fixes: - Fixed destroying camera nodes when the camera device is removed (#627, !631) - Fixed an issue with Bluetooth BAP device set naming (!632) - Fixed an issue caused by the pipewire event loop not being "entered" as expected (!634, #638) - A false positive warning about no modules being loaded is now suppressed when using libpipewire >= 1.0.5 (#620) - Default nodes can now be selected using priority.driver when priority.session is not set (#642) Changes: - The library version is now generated following pipewire's versioning scheme: libwireplumber-0.5.so.0.5.2 becomes libwireplumber-0.5.so.0.0502.0 (!633) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.5.0 -> 0.5.1Markus Volk2024-04-191-1/+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>
* wireplumber: update 0.4.17 -> 0.5.0Markus Volk2024-03-221-2/+2
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.4.15 -> 0.4.17Markus Volk2023-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* remove unused AUTHOR variableMarkus Fuchs2023-11-081-1/+0
| | | | | | | | | 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>
* wireplumber: Upgrade 0.4.14 -> 0.4.15Markus Volk2023-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* wireplumber: update 0.4.13 -> 0.4.14Markus Volk2023-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* wireplumber: dont start systemd system service by defaultMarkus Volk2022-12-311-2/+1
| | | | | | | | 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>
* wireplumber: build with dbus support by defaultMarkus Volk2022-12-271-1/+1
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update 0.4.12 -> 0.4.13Markus Volk2022-12-271-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
* wireplumber: upgrade 0.4.11 -> 0.4.12Markus Volk2022-10-151-1/+1
| | | | | Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wireplumber: update to v0.4.11Markus Volk2022-08-221-3/+5
| | | | | | | | - 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>
* wireplumber: Upgrade to version 0.4.9Carlos Rafael Giani2022-03-302-220/+2
| | | | | | | | | | | 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>
* wireplumber: backport fix for default device settingPeter Bergin2022-03-032-0/+218
| | | | | | | | | 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>
* wireplumber: Improve configurationCarlos Rafael Giani2022-02-172-7/+15
| | | | | | | | | | | | | 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>
* wireplumber: Add recipeCarlos Rafael Giani2022-02-081-0/+140
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>